diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index b79edb19d0..e594fbc6fc 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -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 */