GNOME Bugzilla – Bug 727074
gstbasesink: do basesink need preroll if received GAP event which convert by EOS.
Last modified: 2014-12-25 04:57:08 UTC
We have one stream which video is shorter than audio. Pause will hang if pause after seek to only audio segment. I check basesink code. Need preroll when playing to pause state if no EOS. But EOS has been convert to GAP event by gststreamsynchronizer.
Seems base sink got wrong GAP event timestamp as decoder haven't send segment to gststreamsynchronizer when seek to only audio segment. If normal playback to only audio segment, base sink can get right GAP event timestamp and can change to PAUSE state.
Created attachment 281657 [details] [review] disable convert eos to gap when no media data.
I think this is wrong. We can only forward EOS in streamsynchronizer once *all* streams are EOS. Otherwise things will break.
Discussed in another thread 736655 *** This bug has been marked as a duplicate of bug 736655 ***