[Bug 736655] basesink: preroll issue for some clips which audio is shorter than video

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Dec 30 19:36:17 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=736655
  GStreamer | gstreamer (core) | 1.2.3

--- Comment #43 from kevin <kevinbing.song at gmail.com> 2014-12-31 03:36:08 UTC ---
I have verified the issue on Gstreamer 1.4.1 and read whole thread to refresh
my head.

Still has the issue on Gstreamer 1.4.1. But the second attached patch can fix
the issue, don't need the first patch any more. But the method has been reject
base on comment #23. The root cause of the issue is video pad push buffer
blocked when state change from PLAYING to PAUSE and can't send out audio GAP
event in streamsynchronizer to finish audio sink pre-roll.

Based on comment #24 and #25. You agree below method.

1) streamsynchronizer will send GAP event with unlimited duration when received
short track EOS.
2 ) basesink will treat the GAP event with unlimited duration specially and
needn't pre-roll when change to PAUSE state. basesink will change to normal
pre-roll after received buffer or GAP with duration or flush.
3 ) streamsynchronizer needn't send GAP event when process pad chain function
for the short track.

Do you still think the method is ok? if so, I will try it and upload to review.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list