Commit ed19fafd authored by Sascha Sommer's avatar Sascha Sommer Committed by Ronald S. Bultje

pass QDMC extradata to the decoder

Makes playing QDMC files in MPlayer work when using the libavformat demuxer.
Problem was that the extradata was not passed from demuxer to decoder.
Signed-off-by: 's avatarRonald S. Bultje <rsbultje@gmail.com>
parent 48545a8f
...@@ -389,6 +389,7 @@ enum CodecID { ...@@ -389,6 +389,7 @@ enum CodecID {
CODEC_ID_BINKAUDIO_RDFT, CODEC_ID_BINKAUDIO_RDFT,
CODEC_ID_BINKAUDIO_DCT, CODEC_ID_BINKAUDIO_DCT,
CODEC_ID_AAC_LATM, CODEC_ID_AAC_LATM,
CODEC_ID_QDMC,
/* subtitle codecs */ /* subtitle codecs */
CODEC_ID_DVD_SUBTITLE= 0x17000, CODEC_ID_DVD_SUBTITLE= 0x17000,
......
...@@ -249,6 +249,7 @@ const AVCodecTag codec_movaudio_tags[] = { ...@@ -249,6 +249,7 @@ const AVCodecTag codec_movaudio_tags[] = {
{ CODEC_ID_QCELP, MKTAG('Q','c','l','q') }, { CODEC_ID_QCELP, MKTAG('Q','c','l','q') },
{ CODEC_ID_QCELP, MKTAG('s','q','c','p') }, /* ISO Media fourcc */ { CODEC_ID_QCELP, MKTAG('s','q','c','p') }, /* ISO Media fourcc */
{ CODEC_ID_QDMC, MKTAG('Q', 'D', 'M', 'C') }, /* QDMC */
{ CODEC_ID_QDM2, MKTAG('Q', 'D', 'M', '2') }, /* QDM2 */ { CODEC_ID_QDM2, MKTAG('Q', 'D', 'M', '2') }, /* QDM2 */
{ CODEC_ID_DVAUDIO, MKTAG('v', 'd', 'v', 'a') }, { CODEC_ID_DVAUDIO, MKTAG('v', 'd', 'v', 'a') },
......
...@@ -769,8 +769,8 @@ static int mov_read_wave(MOVContext *c, ByteIOContext *pb, MOVAtom atom) ...@@ -769,8 +769,8 @@ static int mov_read_wave(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
if((uint64_t)atom.size > (1<<30)) if((uint64_t)atom.size > (1<<30))
return -1; return -1;
if (st->codec->codec_id == CODEC_ID_QDM2) { if (st->codec->codec_id == CODEC_ID_QDM2 || st->codec->codec_id == CODEC_ID_QDMC) {
// pass all frma atom to codec, needed at least for QDM2 // pass all frma atom to codec, needed at least for QDMC and QDM2
av_free(st->codec->extradata); av_free(st->codec->extradata);
st->codec->extradata = av_mallocz(atom.size + FF_INPUT_BUFFER_PADDING_SIZE); st->codec->extradata = av_mallocz(atom.size + FF_INPUT_BUFFER_PADDING_SIZE);
if (!st->codec->extradata) if (!st->codec->extradata)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment