[gstreamer-bugs] [Bug 580133] New: Regression in baseparse since last release
bugzilla-daemon at bugzilla.gnome.org
Fri Apr 24 09:01:39 PDT 2009
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
GStreamer | gst-plugins-bad | Ver: git
Summary: Regression in baseparse since last release
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: thaytan at mad.scientist.com
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: Unspecified
GNOME milestone: Unspecified
Commit ad2c7bffe7d94c79184904b14101cbc93eeb9ebd breaks the unit tests.
If I interpret the problem correctly, the old logic sent a newsegment, and then
flushed any data in the adapter (presumably because it comes from the old
The new logic flushes the adapter whenever there is a pending newsegment event,
but doesn't send the newsegment until there is a complete frame. This leaves it
in a state where until there is a single input buffer containing a full frame,
the parser continuously flushes the adapter (containing part of a frame), and
never pushes the newsegment event.
See gstbaseparse.c:886 for the offending gst_adapter_clear() code.
I would guess that the fix is to move the gst_adapter_clear() to a better
location, possibly when the pending newsegment event is enqueued in the first
place - as presumably any data after then comes from the new segment and needs
to be separated from the old, incomplete, frames.
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=580133.
More information about the Gstreamer-bugs