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.
This commit is contained in:
Zaheer Abbas Merali 2010-06-14 14:26:22 +01:00
parent a391bf52cc
commit e49c31fd25
2 changed files with 2 additions and 4 deletions

View file

@ -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));

View file

@ -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 };