[gstreamer-bugs] [Bug 345830] [qtdemux] better edit lists handling

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Mar 11 16:54:36 PST 2010


https://bugzilla.gnome.org/show_bug.cgi?id=345830
  GStreamer | gst-plugins-good | git

--- Comment #17 from Roland Krikava <rkrikava at gmail.com> 2010-03-12 00:52:08 UTC ---
I'm working on supporting empty edits in qtdemux from an older code base
(gstreamer-0.10.23 and gst-plugins-good-0.10.14).  I've have things working
quite well so far, but still need to resolve a reverse play rate issue, and do
some more testing. I'll post patches when I'm done, but in the meantime hear
are a few observations that will likely help you with the above mentioned
issues:

* alsasink 'async' property needs to be set FALSE, otherwise seek to an empty
segtment will cause the pipeline to freeze during preroll

* basesink gst_base_sink_get_position reports wrong position if an empty
segment is followed by a non-empty segment.. it reports the new segment's start
time up until buffers are being proccessed.  My fix is to return clocktime -
base + latency until clocktime has caught up with the segment's accum time.

* ringbuffer gst_ring_buffer_set_flushing is pausing the ringbuffer when
flushing (called by baseaudiosink upon receiving FLUSH start event, after
seek).  If seeking to an empty segment, the ringbuffer remains paused and
therefore alsasink's provided clock is out of sync by the time the next
non-empty segment starts to play.  I also tried calling
gst_audioringbuffer_start from baseaudiosink's
gst_base_audio_sink_change_state, from PLAYING -> PLAYING transition.. I found
not pausing the ringbuffer in the first place worked better since clock
timestamps are produced uninterrupted.

* qtdemux - I worked off your original patch from bug "586848", and added a few
other fixes you probably have in the current git version. I would just note
that your last patch prevents reverse playback.

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




More information about the Gstreamer-bugs mailing list