[Bug 659242] New: Unexpected EOS when seeking on paused matroska file
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Sep 16 06:11:19 PDT 2011
https://bugzilla.gnome.org/show_bug.cgi?id=659242
GStreamer | gst-plugins-good | git
Summary: Unexpected EOS when seeking on paused matroska file
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: branko.subasic at axis.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=196718)
View: https://bugzilla.gnome.org/attachment.cgi?id=196718
Review: https://bugzilla.gnome.org/review?bug=659242&attachment=196718
Prevent the demuxer from sending EOS when doing a flushing seek while in paused
state
Create a pipeline similar to the following
filesrc ! matroskademux ! queue ! ...
Pause the pipeline and wait for it to preroll. Then do a flushing seek.
Sometimes this will result in the demuxer sending an EOS.
This is done from gst_matroska_demux_loop() because it gets a
GST_FLOW_UNEXPECTED return value from the EBML-reader, from
gst_ebml_peek_id_length(). This function will always return GST_FLOW_UNEXPECTED
if the peek fails. No matter what the reason for the fail is.
For example, in the situation above (when the EOS is sent) the reason for the
peek failure is that the filesrc is flushing, and returns GST_FLOW_WRONG_STATE
when the get_range function is called. But this never reaches the ebml reader,
which instead returns a GST_FLOW_UNEXPECTED.
I have attached a patch where I have changed the reader to return the correct
value, i.e. the value that the peek function returns.
--
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