Use the correct ByteIOContext in extradata parsing.Fixes half of issue

1658.

Originally committed as revision 21095 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Ronald S. Bultje 2010-01-08 17:15:46 +00:00
parent 4536c8e603
commit f9664ca026

View File

@ -245,7 +245,7 @@ static int rm_read_audio_stream_info(AVFormatContext *s, ByteIOContext *pb,
} }
st->codec->block_align = ast->sub_packet_size; st->codec->block_align = ast->sub_packet_size;
} }
if ((ret = rm_read_extradata(s->pb, st->codec, codecdata_length)) < 0) if ((ret = rm_read_extradata(pb, st->codec, codecdata_length)) < 0)
return ret; return ret;
if(ast->audio_framesize >= UINT_MAX / sub_packet_h){ if(ast->audio_framesize >= UINT_MAX / sub_packet_h){
@ -267,7 +267,7 @@ static int rm_read_audio_stream_info(AVFormatContext *s, ByteIOContext *pb,
} }
if (codecdata_length >= 1) { if (codecdata_length >= 1) {
get_byte(pb); get_byte(pb);
if ((ret = rm_read_extradata(s->pb, st->codec, codecdata_length - 1)) < 0) if ((ret = rm_read_extradata(pb, st->codec, codecdata_length - 1)) < 0)
return ret; return ret;
} }
break; break;
@ -321,7 +321,7 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, ByteIOContext *pb,
fps2= get_be16(pb); fps2= get_be16(pb);
get_be16(pb); get_be16(pb);
if ((ret = rm_read_extradata(s->pb, st->codec, codec_data_size - (url_ftell(pb) - codec_pos))) < 0) if ((ret = rm_read_extradata(pb, st->codec, codec_data_size - (url_ftell(pb) - codec_pos))) < 0)
return ret; return ret;
// av_log(s, AV_LOG_DEBUG, "fps= %d fps2= %d\n", fps, fps2); // av_log(s, AV_LOG_DEBUG, "fps= %d fps2= %d\n", fps, fps2);