matroskamux: write subtitle codec ID and data at start when known

This avoids issues with writing dummy data first, then having
to come back and write correct data later. Doing so prevents
the muxed stream from being actually streamable.

https://bugzilla.gnome.org/show_bug.cgi?id=712134
This commit is contained in:
Vincent Penquerc'h 2014-01-09 18:25:04 +00:00
parent 03dff9de0b
commit 1c6ee3fba4

View file

@ -2378,7 +2378,13 @@ gst_matroska_mux_track_header (GstMatroskaMux * mux,
case GST_MATROSKA_TRACK_TYPE_SUBTITLE:{
gpointer buf;
/* If codec_id and codec data are already known, we can write
them now, as for audio/video */
if (context->codec_id && context->codec_priv)
break;
context->pos = ebml->pos;
/* CodecID is mandatory ... */
gst_ebml_write_ascii (ebml, GST_MATROSKA_ID_CODECID, "S_SUB_UNKNOWN");
/* reserve space */