2013-08-12, 13:37
(2013-08-12, 12:40)ace20022 Wrote: Hi, two things I've noticed:
- after seeking backwards a/v sync is lost. Pausing it for a while and press play starts fist audio and than video, then a/v is synced again.
- pausing and then stopping does not stop audio immediately (i.e. audio is audible for some ms))
Debug log:http://xbmclogs.com/show.php?id=44555
Thanks.
1)
please apply PR 3095. It hopefully it cures this error which I think is responsible for the a/v desync.
ERROR: CDVDAudio::AddPacketsRenderer - timeout adding data to renderer
With this patch I can't reproduce on Win 7 with WASAPI.
2)
That's a challenge and related to the primary reason why I have started ActiveAE. Some background:
Consider we play some video with 5.1 audio PCM. Now audio changes to stereo which is quite common, i.e. commercial break. dvdplayer called Drain, FreeStream, MakeStream. SoftAE did not drain, neither the sink nor the stream, then destructed the stream and opened a new sink. This lead to loss of some seconds of audio, stuttering of video, and buffering.
ActiveAE drains properly, the new stream starts after the old without any loss of packets.
We need to distinguish between:
- FreeStream and we want to open a new one
- FreeStream after having pressed stop.
This requires an API change
Pause:
Currently our sinks don't provide any method for pausing. Pause it called on the stream. Take into account that paplayer can open more than a single stream, hence all samples already mixed can't be paused.
SoftAE did not stop immediately either, the buffer in the sink played out. SostAE's interface to paplayer is borked anyway.
I am thinking about a solution for this but it's not trivial.