diff options
author | wm4 <wm4@nowhere> | 2014-12-22 12:53:51 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-12-22 12:53:51 +0100 |
commit | 1ef56e9d080103f0f40797cb65592710c9b91a5e (patch) | |
tree | d0a5a32b7afad6065678704fec9a18c15fff98bf /demux/codec_tags.c | |
parent | c912288e57cde1aa5f70249c065b1c0a4cfef6ec (diff) | |
download | mpv-1ef56e9d080103f0f40797cb65592710c9b91a5e.tar.bz2 mpv-1ef56e9d080103f0f40797cb65592710c9b91a5e.tar.xz |
demux_mkv: support embedded coverart
The code could as well be in demux.c, but it's better to avoid
accidental clashes with demux_lavf.c.
FFmpeg provides no way yet to map a mime type to a codec, so do it
manually. (It _can_ map a mime type to an "input format", but not a
codec.)
Fixes #1374.
Diffstat (limited to 'demux/codec_tags.c')
-rw-r--r-- | demux/codec_tags.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/demux/codec_tags.c b/demux/codec_tags.c index ba99380b67..fd95f83363 100644 --- a/demux/codec_tags.c +++ b/demux/codec_tags.c @@ -141,3 +141,20 @@ void mp_set_pcm_codec(struct sh_stream *sh, bool sign, bool is_float, int bits, mp_snprintf_cat(codec, sizeof(codec), is_be ? "be" : "le"); sh->codec = talloc_strdup(sh->audio, codec); } + +static const char *const mimetype_to_codec[][2] = { + {"image/jpeg", "mjpeg"}, + {"image/png", "png"}, + {0} +}; + +const char *mp_map_mimetype_to_video_codec(const char *mimetype) +{ + if (mimetype) { + for (int n = 0; mimetype_to_codec[n][0]; n++) { + if (strcmp(mimetype_to_codec[n][0], mimetype) == 0) + return mimetype_to_codec[n][1]; + } + } + return NULL; +} |