From e49c31fd25a849cbd6c9a50ce45de7ecafc54e0c Mon Sep 17 00:00:00 2001 From: Zaheer Abbas Merali Date: Mon, 14 Jun 2010 14:26:22 +0100 Subject: [PATCH] matroskamux: revert change that set a reserved flag on the Block. So matroska's Block structure has no keyframe flag, only the SimpleBlock has it. To detect keyframes in Blocks, it is just the BlockGroup container that needs to have a ReferenceBlock attached if it is a delta frame in video. --- gst/matroska/matroska-mux.c | 4 +--- tests/check/elements/matroskamux.c | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index e3d9ab1a01..265eb186db 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -2681,15 +2681,13 @@ 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, flags); + relative_timestamp, 0); if (write_duration) { gst_ebml_write_uint (ebml, GST_MATROSKA_ID_BLOCKDURATION, gst_util_uint64_scale (block_duration, 1, mux->time_scale)); diff --git a/tests/check/elements/matroskamux.c b/tests/check/elements/matroskamux.c index f3b1d07df8..9d6f3752d3 100644 --- a/tests/check/elements/matroskamux.c +++ b/tests/check/elements/matroskamux.c @@ -312,7 +312,7 @@ GST_START_TEST (test_block_group) int i; guint8 data0[] = { 0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xa1, 0x85, - 0x81, 0x00, 0x01, 0x80 + 0x81, 0x00, 0x01, 0x00 }; guint8 data1[] = { 0x42 };