diff options
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r-- | demux/demux_mkv.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c index 03be67e3de..6713a13db9 100644 --- a/demux/demux_mkv.c +++ b/demux/demux_mkv.c @@ -1909,8 +1909,14 @@ static void probe_x264_garbage(demuxer_t *demuxer) if (!block || block->num_laces < 1) continue; - sh->codec->first_packet = new_demux_packet_from_buf(block->laces[0]); + bstr sblock = {block->laces[0]->data, block->laces[0]->size}; + bstr nblock = demux_mkv_decode(demuxer->log, track, sblock, 1); + + sh->codec->first_packet = new_demux_packet_from(nblock.start, nblock.len); talloc_steal(mkv_d, sh->codec->first_packet); + + if (nblock.start != sblock.start) + talloc_free(nblock.start); } } |