From fcd589b12393614d684c890917f9aac794aa325a Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 24 Jun 2015 14:18:51 +0200 Subject: demux: get rid of some bstr things Change the demuxer_add_attachment() and demuxer_add_chapter() signatures to take char* instead of bstr, and everything which depends on it. --- demux/demux.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'demux/demux.c') diff --git a/demux/demux.c b/demux/demux.c index 29a4fec93e..aa3308b87f 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -1217,21 +1217,19 @@ bool demux_stream_is_selected(struct sh_stream *stream) return r; } -int demuxer_add_attachment(demuxer_t *demuxer, struct bstr name, - struct bstr type, struct bstr data) +int demuxer_add_attachment(demuxer_t *demuxer, char *name, char *type, + void *data, size_t data_size) { if (!(demuxer->num_attachments % 32)) demuxer->attachments = talloc_realloc(demuxer, demuxer->attachments, struct demux_attachment, demuxer->num_attachments + 32); - struct demux_attachment *att = - demuxer->attachments + demuxer->num_attachments; - att->name = talloc_strndup(demuxer->attachments, name.start, name.len); - att->type = talloc_strndup(demuxer->attachments, type.start, type.len); - att->data = talloc_size(demuxer->attachments, data.len); - memcpy(att->data, data.start, data.len); - att->data_size = data.len; + struct demux_attachment *att = &demuxer->attachments[demuxer->num_attachments]; + att->name = talloc_strdup(demuxer->attachments, name); + att->type = talloc_strdup(demuxer->attachments, type); + att->data = talloc_memdup(demuxer->attachments, data, data_size); + att->data_size = data_size; return demuxer->num_attachments++; } @@ -1254,17 +1252,17 @@ static void demuxer_sort_chapters(demuxer_t *demuxer) sizeof(struct demux_chapter), chapter_compare); } -int demuxer_add_chapter(demuxer_t *demuxer, struct bstr name, +int demuxer_add_chapter(demuxer_t *demuxer, char *name, double pts, uint64_t demuxer_id) { struct demux_chapter new = { .original_index = demuxer->num_chapters, .pts = pts, - .name = name.len ? bstrdup0(demuxer, name) : NULL, + .name = talloc_strdup(demuxer, name), .metadata = talloc_zero(demuxer, struct mp_tags), .demuxer_id = demuxer_id, }; - mp_tags_set_bstr(new.metadata, bstr0("TITLE"), name); + mp_tags_set_str(new.metadata, "TITLE", name); MP_TARRAY_APPEND(demuxer, demuxer->chapters, demuxer->num_chapters, new); return demuxer->num_chapters - 1; } -- cgit v1.2.3