[gst-cvs] gst-plugins-good: matroskamux: some non-delta buffers were not marked as keyframes
Zaheer Abbas Merali
zaheer at kemper.freedesktop.org
Wed Jun 9 16:33:09 PDT 2010
Module: gst-plugins-good
Branch: master
Commit: 823a514161747fb05a39054283570469d40d6d58
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=823a514161747fb05a39054283570469d40d6d58
Author: Zaheer Abbas Merali <zaheerabbas at merali.org>
Date: Wed Jun 9 22:40:23 2010 +0200
matroskamux: some non-delta buffers were not marked as keyframes
---
gst/matroska/matroska-mux.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c
index 265eb18..e3d9ab1 100644
--- a/gst/matroska/matroska-mux.c
+++ b/gst/matroska/matroska-mux.c
@@ -2681,13 +2681,15 @@ gst_matroska_mux_write_data (GstMatroskaMux * mux, GstMatroskaPad * collect_pad)
return gst_ebml_last_write_result (ebml);
} 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);
/* write and call order slightly unnatural,
* but avoids seek and minizes pushing */
blockgroup = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_BLOCKGROUP);
hdr =
gst_matroska_mux_create_buffer_header (collect_pad->track,
- relative_timestamp, 0);
+ relative_timestamp, flags);
if (write_duration) {
gst_ebml_write_uint (ebml, GST_MATROSKA_ID_BLOCKDURATION,
gst_util_uint64_scale (block_duration, 1, mux->time_scale));
More information about the Gstreamer-commits
mailing list