Req Setting to control fade (fade-in / fade-out) on pause
#1
I've noticed that the XBMC player implements a brief audio fade-out when pausing, and then a fade-in when unpausing. While desirable in most applications, I would like a way to turn this off (so there are 0 ms between pause and the audio stopping) , or be able to set the fade time.

Is there a way to do this?
Reply
#2
I've never noticed this...
Reply
#3
The delay after pressing pause is not caused by fade-out. Currently the audio sinks can't be paused, hence they play out the buffer after pause. Not a trivial change but I have thought about this for the new audio engine ActiveAE.
Reply
#4
Thanks for the clarification, FernetMenta. I'm interested in helping provide this as an optional feature. As I am just beginning to get acquainted with the source code, would you be able to point me to where this happens in the audio engine?
Reply
#5
FernetMenta ... i guess he means the 80ms fadeout/fadein which is hardcoded in paplayer ... see

https://github.com/xbmc/xbmc/blob/master...er.cpp#L38
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#6
Yes I think I know what he meant. The problem is that the sinks has no pause method and can't be paused immediately. What needs to be done:

1)
implement a pause/resume method for the various sinks.

2)
extend the AE api with a pause/resume methof for the engine (AE.h). The pause/resume method of the stream interface can't be used for that purpose. paplayer wants to control streams independently.

3)
implement pause/resume on the engine(s)

4)
call pause/resume on the engine when the user wants to pause

Quote: would you be able to point me to where this happens in the audio engine?

we have 4 different engines now. on what platform do you want to start?

EDIT: instead of 2) and 3) we also could start with an additional parameter for the pause/resume methods of the AEStream interface. Then engines which don't support pausing the sink could ignore this parameter.
Reply
#7
(2013-08-03, 19:05)Memphiz Wrote: FernetMenta ... i guess he means the 80ms fadeout/fadein which is hardcoded in paplayer ... see

https://github.com/xbmc/xbmc/blob/master...er.cpp#L38

Memphiz, even if you reduced this time to zero, there is still a buffer of approx. 200ms which plays out. at least this is the case on Windows and Linux. Not sure how coreAudio handles this.
Reply
#8
(2013-08-03, 19:05)Memphiz Wrote: FernetMenta ... i guess he means the 80ms fadeout/fadein which is hardcoded in paplayer ... see

https://github.com/xbmc/xbmc/blob/master...er.cpp#L38

Oooh. I thought is was with movie playback.
Reply
#9
Yes I was referring to audio playback (on Windows).

I've noticed that the mute function does cut off the sound "instantaneously" as opposed to what pause does, so I'm thinking there must be some way to do this.
Reply
#10
Currently SoftAE is default on Windows but this will change in the new future because we have ActiveAE now. Check my comment in the code:
https://github.com/xbmc/xbmc/blob/master....cpp#L2244

Mute doesn't cut off instantly either because audio is buffered in the device buffer.
Reply

Logout Mark Read Team Forum Stats Members Help
Setting to control fade (fade-in / fade-out) on pause0