Summary: | unpausing makes volume level higher | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Andrew Gaydenko <a> |
Component: | general | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed 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; } |