diff options
Diffstat (limited to 'demux/demux_lavf.c')
-rw-r--r-- | demux/demux_lavf.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c index cf08512bdf..4b887a9656 100644 --- a/demux/demux_lavf.c +++ b/demux/demux_lavf.c @@ -552,11 +552,18 @@ static void handle_stream(demuxer_t *demuxer, int i) AVDictionaryEntry *ftag = av_dict_get(st->metadata, "filename", NULL, 0); char *filename = ftag ? ftag->value : NULL; - if (st->codec->codec_id == AV_CODEC_ID_TTF) - demuxer_add_attachment(demuxer, bstr0(filename), - bstr0("application/x-truetype-font"), + char *mimetype = NULL; + switch (st->codec->codec_id) { + case AV_CODEC_ID_TTF: mimetype = "application/x-truetype-font"; break; +#if LIBAVFORMAT_VERSION_MICRO >= 100 + case AV_CODEC_ID_OTF: mimetype = "application/vnd.ms-opentype"; break; +#endif + } + if (mimetype) { + demuxer_add_attachment(demuxer, bstr0(filename), bstr0(mimetype), (struct bstr){codec->extradata, codec->extradata_size}); + } break; } default: ; |