matroskamux: Use SimpleBlock for WebM when possible
authorPhilip Jägenstedt <philip@foolip.org>
Sun, 9 May 2010 17:46:51 +0000 (19:46 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 19 May 2010 18:32:02 +0000 (20:32 +0200)
gst/matroska/matroska-mux.c

index 72e9442..6f9dc54 100644 (file)
@@ -2600,7 +2600,7 @@ gst_matroska_mux_write_data (GstMatroskaMux * mux, GstMatroskaPad * collect_pad)
     }
   }
 
-  /* write the block, for matroska v2 use SimpleBlock if possible
+  /* write the block, for Matroska v2 and WebM use SimpleBlock if possible
    * one slice (*breath*).
    * FIXME: Need to do correct lacing! */
   relative_timestamp64 = GST_BUFFER_TIMESTAMP (buf) - mux->cluster_time;
@@ -2612,7 +2612,9 @@ gst_matroska_mux_write_data (GstMatroskaMux * mux, GstMatroskaPad * collect_pad)
     relative_timestamp64 -= mux->time_scale / 2;
   }
   relative_timestamp = relative_timestamp64 / (gint64) mux->time_scale;
-  if (mux->doctype == GST_MATROSKA_DOCTYPE_MATROSKA && mux->doctype_version > 1
+  if (((mux->doctype == GST_MATROSKA_DOCTYPE_MATROSKA
+              && mux->doctype_version > 1)
+          || mux->doctype == GST_MATROSKA_DOCTYPE_WEBM)
       && !write_duration) {
     int flags =
         GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT) ? 0 : 0x80;