mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
xa: convert to new channel layout API
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
6ad44980ae
commit
1e5f4f81af
@ -78,16 +78,16 @@ static int xa_read_header(AVFormatContext *s)
|
||||
avio_skip(pb, 4); /* Skip the XA ID */
|
||||
xa->out_size = avio_rl32(pb);
|
||||
avio_skip(pb, 2); /* Skip the tag */
|
||||
st->codecpar->channels = avio_rl16(pb);
|
||||
st->codecpar->ch_layout.nb_channels = avio_rl16(pb);
|
||||
st->codecpar->sample_rate = avio_rl32(pb);
|
||||
avio_skip(pb, 4); /* Skip average byte rate */
|
||||
avio_skip(pb, 2); /* Skip block align */
|
||||
avio_skip(pb, 2); /* Skip bits-per-sample */
|
||||
|
||||
if (!st->codecpar->channels || !st->codecpar->sample_rate)
|
||||
if (!st->codecpar->ch_layout.nb_channels || !st->codecpar->sample_rate)
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
st->codecpar->bit_rate = av_clip(15LL * st->codecpar->channels * 8 *
|
||||
st->codecpar->bit_rate = av_clip(15LL * st->codecpar->ch_layout.nb_channels * 8 *
|
||||
st->codecpar->sample_rate / 28, 0, INT_MAX);
|
||||
|
||||
avpriv_set_pts_info(st, 64, 1, st->codecpar->sample_rate);
|
||||
@ -108,7 +108,7 @@ static int xa_read_packet(AVFormatContext *s,
|
||||
if (xa->sent_bytes >= xa->out_size)
|
||||
return AVERROR_EOF;
|
||||
/* 1 byte header and 14 bytes worth of samples * number channels per block */
|
||||
packet_size = 15*st->codecpar->channels;
|
||||
packet_size = 15*st->codecpar->ch_layout.nb_channels;
|
||||
|
||||
ret = av_get_packet(pb, pkt, packet_size);
|
||||
if(ret < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user