#include "libavutil/mathematics.h"
#include "avformat.h"
+#include "internal.h"
#include "pcm.h"
int ff_pcm_read_seek(AVFormatContext *s,
st = s->streams[0];
- block_align = st->codec->block_align ? st->codec->block_align :
- (av_get_bits_per_sample(st->codec->codec_id) * st->codec->channels) >> 3;
- byte_rate = st->codec->bit_rate ? st->codec->bit_rate >> 3 :
- block_align * st->codec->sample_rate;
+ block_align = st->codecpar->block_align ? st->codecpar->block_align :
+ (av_get_bits_per_sample(st->codecpar->codec_id) * st->codecpar->channels) >> 3;
+ byte_rate = st->codecpar->bit_rate ? st->codecpar->bit_rate >> 3 :
+ block_align * st->codecpar->sample_rate;
if (block_align <= 0 || byte_rate <= 0)
return -1;
/* recompute exact position */
st->cur_dts = av_rescale(pos, st->time_base.den, byte_rate * (int64_t)st->time_base.num);
- if ((ret = avio_seek(s->pb, pos + s->data_offset, SEEK_SET)) < 0)
+ if ((ret = avio_seek(s->pb, pos + s->internal->data_offset, SEEK_SET)) < 0)
return ret;
return 0;
}