Commit 823a5141 authored by Zaheer Abbas Merali's avatar Zaheer Abbas Merali

matroskamux: some non-delta buffers were not marked as keyframes

parent 45f71104
...@@ -2681,13 +2681,15 @@ gst_matroska_mux_write_data (GstMatroskaMux * mux, GstMatroskaPad * collect_pad) ...@@ -2681,13 +2681,15 @@ gst_matroska_mux_write_data (GstMatroskaMux * mux, GstMatroskaPad * collect_pad)
return gst_ebml_last_write_result (ebml); return gst_ebml_last_write_result (ebml);
} else { } else {
int flags =
GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT) ? 0 : 0x80;
gst_ebml_write_set_cache (ebml, GST_BUFFER_SIZE (buf) * 2); gst_ebml_write_set_cache (ebml, GST_BUFFER_SIZE (buf) * 2);
/* write and call order slightly unnatural, /* write and call order slightly unnatural,
* but avoids seek and minizes pushing */ * but avoids seek and minizes pushing */
blockgroup = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_BLOCKGROUP); blockgroup = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_BLOCKGROUP);
hdr = hdr =
gst_matroska_mux_create_buffer_header (collect_pad->track, gst_matroska_mux_create_buffer_header (collect_pad->track,
relative_timestamp, 0); relative_timestamp, flags);
if (write_duration) { if (write_duration) {
gst_ebml_write_uint (ebml, GST_MATROSKA_ID_BLOCKDURATION, gst_ebml_write_uint (ebml, GST_MATROSKA_ID_BLOCKDURATION,
gst_util_uint64_scale (block_duration, 1, mux->time_scale)); gst_util_uint64_scale (block_duration, 1, mux->time_scale));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment