summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/demux_mkv.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index 982f04062d..931e05e102 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -2278,9 +2278,12 @@ static int handle_block(demuxer_t *demuxer, uint8_t *block, uint64_t length,
} else if (num == demuxer->sub->id) {
ds = demuxer->sub;
if (track->subtitle_type != MATROSKA_SUBTYPE_VOBSUB) {
- if (!mkv_d->v_skip_to_keyframe)
- handle_subtitles(demuxer, track, block, length, block_duration,
- tc);
+ uint8_t *buffer;
+ int size = length;
+ int modified = demux_mkv_decode(track, block, &buffer, &size, 1);
+ handle_subtitles(demuxer, track, buffer, size, block_duration, tc);
+ if (modified)
+ free(buffer);
use_this_block = 0;
}
} else