ext/ogg/gstoggmux.c: Oggmux sucks.

Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads):
Oggmux sucks.
Make it suck slightly less by writing out the final page.
Still can't encode a vorbis-in-ogg file correctly, though.
This commit is contained in:
Michael Smith 2006-04-03 12:55:18 +00:00
parent 1f44430b48
commit b600beec9d
2 changed files with 24 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2006-04-03 Michael Smith <msmith@fluendo.com>
* ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads):
Oggmux sucks.
Make it suck slightly less by writing out the final page.
Still can't encode a vorbis-in-ogg file correctly, though.
2006-04-03 Andy Wingo <wingo@pobox.com> 2006-04-03 Andy Wingo <wingo@pobox.com>
* ext/theora/theoraparse.c (theora_parse_drain_queue): Um, remove * ext/theora/theoraparse.c (theora_parse_drain_queue): Um, remove

View file

@ -768,7 +768,23 @@ gst_ogg_mux_queue_pads (GstOggMux * ogg_mux)
} }
} else { } else {
GST_DEBUG_OBJECT (data->pad, "EOS on pad"); GST_DEBUG_OBJECT (data->pad, "EOS on pad");
pad->eos = TRUE; if (!pad->eos) {
ogg_page page;
GstFlowReturn ret;
/* Just gone to EOS. Flush existing page(s) */
pad->eos = TRUE;
while (ogg_stream_flush (&pad->stream, &page)) {
/* Place page into the per-pad queue */
ret = gst_ogg_mux_pad_queue_page (ogg_mux, pad, &page,
pad->first_delta);
/* increment the page number counter */
pad->pageno++;
/* mark other pages as delta */
pad->first_delta = TRUE;
}
}
} }
pad->buffer = buf; pad->buffer = buf;