summaryrefslogtreecommitdiff
path: root/libavformat/xwma.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/xwma.c')
-rw-r--r--libavformat/xwma.c48
1 files changed, 24 insertions, 24 deletions
diff --git a/libavformat/xwma.c b/libavformat/xwma.c
index b24cde857b..e6e72d9b52 100644
--- a/libavformat/xwma.c
+++ b/libavformat/xwma.c
@@ -75,7 +75,7 @@ static int xwma_read_header(AVFormatContext *s)
if (!st)
return AVERROR(ENOMEM);
- ret = ff_get_wav_header(s, pb, st->codec, size);
+ ret = ff_get_wav_header(s, pb, st->codecpar, size);
if (ret < 0)
return ret;
st->need_parsing = AVSTREAM_PARSE_NONE;
@@ -85,9 +85,9 @@ static int xwma_read_header(AVFormatContext *s)
* extradata for that. Thus, ask the user for feedback, but try to go on
* anyway.
*/
- if (st->codec->codec_id != AV_CODEC_ID_WMAV2) {
+ if (st->codecpar->codec_id != AV_CODEC_ID_WMAV2) {
avpriv_request_sample(s, "Unexpected codec (tag 0x04%x; id %d)",
- st->codec->codec_tag, st->codec->codec_id);
+ st->codecpar->codec_tag, st->codecpar->codec_id);
} else {
/* In all xWMA files I have seen, there is no extradata. But the WMA
* codecs require extradata, so we provide our own fake extradata.
@@ -96,37 +96,37 @@ static int xwma_read_header(AVFormatContext *s)
* there was, then try to use it, after asking the user to provide a
* sample of this unusual file.
*/
- if (st->codec->extradata_size != 0) {
+ if (st->codecpar->extradata_size != 0) {
/* Surprise, surprise: We *did* get some extradata. No idea
* if it will work, but just go on and try it, after asking
* the user for a sample.
*/
avpriv_request_sample(s, "Unexpected extradata (%d bytes)",
- st->codec->extradata_size);
+ st->codecpar->extradata_size);
} else {
- st->codec->extradata_size = 6;
- st->codec->extradata = av_mallocz(6 + AV_INPUT_BUFFER_PADDING_SIZE);
- if (!st->codec->extradata)
+ st->codecpar->extradata_size = 6;
+ st->codecpar->extradata = av_mallocz(6 + AV_INPUT_BUFFER_PADDING_SIZE);
+ if (!st->codecpar->extradata)
return AVERROR(ENOMEM);
/* setup extradata with our experimentally obtained value */
- st->codec->extradata[4] = 31;
+ st->codecpar->extradata[4] = 31;
}
}
- if (!st->codec->channels) {
+ if (!st->codecpar->channels) {
av_log(s, AV_LOG_WARNING, "Invalid channel count: %d\n",
- st->codec->channels);
+ st->codecpar->channels);
return AVERROR_INVALIDDATA;
}
- if (!st->codec->bits_per_coded_sample) {
+ if (!st->codecpar->bits_per_coded_sample) {
av_log(s, AV_LOG_WARNING, "Invalid bits_per_coded_sample: %d\n",
- st->codec->bits_per_coded_sample);
+ st->codecpar->bits_per_coded_sample);
return AVERROR_INVALIDDATA;
}
/* set the sample rate */
- avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate);
+ avpriv_set_pts_info(st, 64, 1, st->codecpar->sample_rate);
/* parse the remaining RIFF chunks */
for (;;) {
@@ -146,7 +146,7 @@ static int xwma_read_header(AVFormatContext *s)
* number of bytes accumulated after the corresponding xWMA packet
* is decoded in order."
*
- * Each packet has size equal to st->codec->block_align, which in
+ * Each packet has size equal to st->codecpar->block_align, which in
* all cases I saw so far was always 2230. Thus, we can use the
* dpds data to compute a seeking index.
*/
@@ -200,7 +200,7 @@ static int xwma_read_header(AVFormatContext *s)
if (dpds_table && dpds_table_size) {
int64_t cur_pos;
const uint32_t bytes_per_sample
- = (st->codec->channels * st->codec->bits_per_coded_sample) >> 3;
+ = (st->codecpar->channels * st->codecpar->bits_per_coded_sample) >> 3;
/* Estimate the duration from the total number of output bytes. */
const uint64_t total_decoded_bytes = dpds_table[dpds_table_size - 1];
@@ -208,7 +208,7 @@ static int xwma_read_header(AVFormatContext *s)
if (!bytes_per_sample) {
av_log(s, AV_LOG_ERROR,
"Invalid bits_per_coded_sample %d for %d channels\n",
- st->codec->bits_per_coded_sample, st->codec->channels);
+ st->codecpar->bits_per_coded_sample, st->codecpar->channels);
ret = AVERROR_INVALIDDATA;
goto fail;
}
@@ -231,18 +231,18 @@ static int xwma_read_header(AVFormatContext *s)
* an offset / timestamp pair.
*/
av_add_index_entry(st,
- cur_pos + (i+1) * st->codec->block_align, /* pos */
- dpds_table[i] / bytes_per_sample, /* timestamp */
- st->codec->block_align, /* size */
- 0, /* duration */
+ cur_pos + (i+1) * st->codecpar->block_align, /* pos */
+ dpds_table[i] / bytes_per_sample, /* timestamp */
+ st->codecpar->block_align, /* size */
+ 0, /* duration */
AVINDEX_KEYFRAME);
}
- } else if (st->codec->bit_rate) {
+ } else if (st->codecpar->bit_rate) {
/* No dpds chunk was present (or only an empty one), so estimate
* the total duration using the average bits per sample and the
* total data length.
*/
- st->duration = (size<<3) * st->codec->sample_rate / st->codec->bit_rate;
+ st->duration = (size<<3) * st->codecpar->sample_rate / st->codecpar->bit_rate;
}
fail:
@@ -266,7 +266,7 @@ static int xwma_read_packet(AVFormatContext *s, AVPacket *pkt)
}
/* read a single block; the default block size is 2230. */
- size = (st->codec->block_align > 1) ? st->codec->block_align : 2230;
+ size = (st->codecpar->block_align > 1) ? st->codecpar->block_align : 2230;
size = FFMIN(size, left);
ret = av_get_packet(s->pb, pkt, size);