ext/ogg/gstoggmux.c: The BOS page of the first Dirac video stream needs to come before the BOS page of any Vorbis str...

Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers):
The BOS page of the first Dirac video stream needs to come before
the BOS page of any Vorbis streams or other audio streams, just like
it is with Theora.
This commit is contained in:
Tim-Philipp Müller 2007-06-07 14:25:32 +00:00
parent 919029d9c5
commit 6f25fde218
2 changed files with 17 additions and 4 deletions

View file

@ -1,3 +1,10 @@
2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
* ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers):
The BOS page of the first Dirac video stream needs to come before
the BOS page of any Vorbis streams or other audio streams, just like
it is with Theora.
2007-06-07 Wim Taymans <wim@fluendo.com>
* gst/playback/gstqueue2.c: (gst_queue_get_range):

View file

@ -1078,11 +1078,17 @@ gst_ogg_mux_send_headers (GstOggMux * mux)
GST_LOG_OBJECT (mux, "swapped out page with mime type %s",
gst_structure_get_name (structure));
/* quick hack: put theora pages at the front.
/* quick hack: put Theora and Dirac video pages at the front.
* Ideally, we would have a settable enum for which Ogg
* profile we work with, and order based on that */
if (strcmp (gst_structure_get_name (structure), "video/x-theora") == 0) {
GST_DEBUG_OBJECT (thepad, "putting Theora page at the front");
* profile we work with, and order based on that.
* (FIXME: if there is more than one video stream, shouldn't we only put
* one's BOS into the first page, followed by an audio stream's BOS, and
* only then followed by the remaining video and audio streams?) */
if (gst_structure_has_name (structure, "video/x-theora")) {
GST_DEBUG_OBJECT (thepad, "putting %s page at the front", "Theora");
hbufs = g_list_prepend (hbufs, hbuf);
} else if (gst_structure_has_name (structure, "video/x-dirac")) {
GST_DEBUG_OBJECT (thepad, "putting %s page at the front", "Dirac");
hbufs = g_list_prepend (hbufs, hbuf);
} else {
hbufs = g_list_append (hbufs, hbuf);