| Summary: | unpausing makes volume level higher | ||
|---|---|---|---|
| Product: | [Applications] amarok | Reporter: | Andrew Gaydenko <a> |
| Component: | general | Assignee: | Amarok Bugs <amarok-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
Okay... Got problems with getting SVN to compile, so couldn't test this myself... It might fix it. Or then it doesn't. I don't know. Feel free to test, and please let me know if I guessed right.
Try #2... One shouldn't ever trust that his code compiles without trying. Now I do it again, hopefully with better luck. |
||
|
Description
Andrew Gaydenko
2006-09-18 15:07:48 UTC
After removing fading at pause (see #127316), the bug still exists at stop/play scenario. Created attachment 17854 [details]
Okay... Got problems with getting SVN to compile, so couldn't test this myself... It might fix it. Or then it doesn't. I don't know. Feel free to test, and please let me know if I guessed right.
Tuomas, I have got the error: xine-engine.cpp:521: error: 'vol' was not declared in this scope Created attachment 17856 [details]
Try #2... One shouldn't ever trust that his code compiles without trying. Now I do it again, hopefully with better luck.
Tuomas, It seems like last patch is more lucky :-) A volume level doesn't jump now. Thanks! SVN commit 586904 by markey:
Fix regression: Fadeout would increase the original volume level.
Thanks Andrew and Tuomas for figuring this out :)
BUG: 134274
M +2 -1 xine-engine.cpp
--- trunk/extragear/multimedia/amarok/src/engine/xine/xine-engine.cpp #586903:586904
@@ -489,6 +489,7 @@
m_fadeOutRunning = !m_fadeOutRunning;
const bool isPlaying = m_stream && ( xine_get_status( m_stream ) == XINE_STATUS_PLAY );
+ const float originalVol = Engine::Base::makeVolumeLogarithmic( m_volume ) * m_preamp;
// NOTE The fadeout gets stuck when the EQ is active, so we skip it then
if( m_xfadeLength > 0 && !m_equalizerEnabled && isPlaying )
@@ -518,7 +519,7 @@
}
}
if( m_fadeOutRunning )
- xine_set_param( m_stream, XINE_PARAM_AUDIO_AMP_LEVEL, (uint)(m_volume * m_preamp) );
+ xine_set_param( m_stream, XINE_PARAM_AUDIO_AMP_LEVEL, (uint) originalVol );
m_fadeOutRunning = !m_fadeOutRunning;
}
|