parent
65ffca9f80
commit
6498b34bba
@ -85,7 +85,8 @@ static int xwma_read_header(AVFormatContext *s)
|
|||||||
* extradata for that. Thus, ask the user for feedback, but try to go on
|
* extradata for that. Thus, ask the user for feedback, but try to go on
|
||||||
* anyway.
|
* anyway.
|
||||||
*/
|
*/
|
||||||
if (st->codec->codec_id != AV_CODEC_ID_WMAV2) {
|
if (st->codec->codec_id != AV_CODEC_ID_WMAV2 &&
|
||||||
|
st->codec->codec_id != AV_CODEC_ID_WMAPRO) {
|
||||||
avpriv_request_sample(s, "Unexpected codec (tag 0x04%x; id %d)",
|
avpriv_request_sample(s, "Unexpected codec (tag 0x04%x; id %d)",
|
||||||
st->codec->codec_tag, st->codec->codec_id);
|
st->codec->codec_tag, st->codec->codec_id);
|
||||||
} else {
|
} else {
|
||||||
@ -103,6 +104,13 @@ static int xwma_read_header(AVFormatContext *s)
|
|||||||
*/
|
*/
|
||||||
avpriv_request_sample(s, "Unexpected extradata (%d bytes)",
|
avpriv_request_sample(s, "Unexpected extradata (%d bytes)",
|
||||||
st->codec->extradata_size);
|
st->codec->extradata_size);
|
||||||
|
} else if (st->codec->codec_id == AV_CODEC_ID_WMAPRO) {
|
||||||
|
if (ff_alloc_extradata(st->codec, 18))
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
|
memset(st->codec->extradata, 0, st->codec->extradata_size);
|
||||||
|
st->codec->extradata[ 0] = st->codec->bits_per_coded_sample;
|
||||||
|
st->codec->extradata[14] = 224;
|
||||||
} else {
|
} else {
|
||||||
if (ff_alloc_extradata(st->codec, 6))
|
if (ff_alloc_extradata(st->codec, 6))
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user