[gstreamer-bugs] [Bug 337026] oggmux doesn't set EOS properly

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Wed Jul 5 03:33:19 PDT 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=337026
 GStreamer | gst-plugins-base | Ver: HEAD CVS


James "Doc" Livingston changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #67881|0                           |1
        is obsolete|                            |




------- Comment #9 from James "Doc" Livingston  2006-07-05 10:33 UTC -------
Created an attachment (id=68392)
 --> (http://bugzilla.gnome.org/attachment.cgi?id=68392&action=view)
better patch

This patch fixes a s/||/&&/ mistake, and fixes some issues with the end-game,
which hopefully fix the above reported issue. I've done some furthur testing,
and this fixes the eos-not-set warning ogginfo reports with ogg vorbis files
remuxed with the patched version, and it seemed to work on the one ogg theora
file I tried - but that probabyl need more testing.


The end-game changes are:
* When gst_ogg_mux_release_pad is called, the pad isn't removed from
collectpads immediately as it may still have data waiting. Instead a "removed"
flag is set.

* in gst_ogg_mux_queue_pads if a pad has it's "removed" flag set AND there are
no buffers left on it, then it's cleaned up like it was in
gst_ogg_mux_release_pad  previously.

* at the end of gst_ogg_mux_collected, we check whether there are still any
connected sinkpads. If not, then gst_ogg_mux_collected will no longer be called
(as they pads won't receive futhur data), so we recursively call it ourselved.
This is needed to use the buffer we've removed but not handled.


-- 
Configure bugmail: http://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