summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mkv.c
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2010-01-26 03:31:31 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-01-27 14:26:48 +0200
commit49b80fe6b45dad5b04d3903987b287f957b94259 (patch)
tree7cf380b94c7750bb5d3fe60af3781d6efa3cee1c /libmpdemux/demux_mkv.c
parent298808cddc40b66dde9578ec8abb71094357c3ce (diff)
downloadmpv-49b80fe6b45dad5b04d3903987b287f957b94259.tar.bz2
mpv-49b80fe6b45dad5b04d3903987b287f957b94259.tar.xz
demux: take chapter/attachment name strings without 0-termination
Change the demuxer_add_attachment() and demuxer_add_chapter() functions to take a length argument for various name strings, so those strings do not need to be 0-terminated. This will make it easier to directly pass demuxed data without first making a copy just to add 0-termination. Also allocate the struct demuxer data structures for attachments and chapters with talloc.
Diffstat (limited to 'libmpdemux/demux_mkv.c')
-rw-r--r--libmpdemux/demux_mkv.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index 6b7ed5a7b4..2fc0661da1 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -1199,7 +1199,7 @@ static int demux_mkv_read_chapters(struct demuxer *demuxer)
cur_idx + 1, selected_edition);
for (i = 0; i < num_selected_chapters; i++)
- demuxer_add_chapter(demuxer, selected_chapters[i].name,
+ demuxer_add_chapter(demuxer, selected_chapters[i].name, INT_MAX,
selected_chapters[i].start,
selected_chapters[i].end);
struct matroska_data *m = &demuxer->matroska_data;
@@ -1298,7 +1298,8 @@ static int demux_mkv_read_attachments(demuxer_t *demuxer)
len -= l + il;
}
- demuxer_add_attachment(demuxer, name, mime, data, data_size);
+ demuxer_add_attachment(demuxer, name, INT_MAX, mime,
+ INT_MAX, data, data_size);
free(data);
free(mime);
free(name);