lavf/caf: Support demuxing Opus.

Introduced in macOS High Sierra and iOS 11.
This commit is contained in:
Carl Eugen Hoyos 2017-09-20 03:31:48 +02:00
parent e428e5ded6
commit b4093e60c5
4 changed files with 5 additions and 1 deletions

View File

@ -52,6 +52,7 @@ const AVCodecTag ff_codec_caf_tags[] = {
{ AV_CODEC_ID_MP2, MKTAG('.','m','p','2') },
{ AV_CODEC_ID_MP3, MKTAG('.','m','p','3') },
{ AV_CODEC_ID_MP3, MKTAG('m','s', 0 ,'U') },
{ AV_CODEC_ID_OPUS, MKTAG('o','p','u','s') },
{ AV_CODEC_ID_PCM_ALAW, MKTAG('a','l','a','w') },
{ AV_CODEC_ID_PCM_MULAW, MKTAG('u','l','a','w') },
{ AV_CODEC_ID_QCELP, MKTAG('Q','c','l','p') },

View File

@ -166,6 +166,8 @@ static int read_kuki_chunk(AVFormatContext *s, int64_t size)
}
avio_skip(pb, size - ALAC_NEW_KUKI);
}
} else if (st->codecpar->codec_id == AV_CODEC_ID_OPUS) {
avio_skip(pb, size);
} else {
av_freep(&st->codecpar->extradata);
if (ff_get_extradata(s, st->codecpar, pb, size) < 0)

View File

@ -117,6 +117,7 @@ static int caf_write_header(AVFormatContext *s)
switch (par->codec_id) {
case AV_CODEC_ID_AAC:
case AV_CODEC_ID_OPUS:
av_log(s, AV_LOG_ERROR, "muxing codec currently unsupported\n");
return AVERROR_PATCHWELCOME;
}

View File

@ -33,7 +33,7 @@
// Also please add any ticket numbers that you believe might be affected here
#define LIBAVFORMAT_VERSION_MAJOR 57
#define LIBAVFORMAT_VERSION_MINOR 82
#define LIBAVFORMAT_VERSION_MICRO 100
#define LIBAVFORMAT_VERSION_MICRO 101
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \