mirror of https://git.ffmpeg.org/ffmpeg.git
ast: convert to new channel layout API
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
521cca1333
commit
820d73cc0e
|
@ -57,14 +57,14 @@ static int ast_read_header(AVFormatContext *s)
|
|||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
st->codecpar->channels = avio_rb16(s->pb);
|
||||
if (!st->codecpar->channels)
|
||||
st->codecpar->ch_layout.nb_channels = avio_rb16(s->pb);
|
||||
if (!st->codecpar->ch_layout.nb_channels)
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
if (st->codecpar->channels == 2)
|
||||
st->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
|
||||
else if (st->codecpar->channels == 4)
|
||||
st->codecpar->channel_layout = AV_CH_LAYOUT_4POINT0;
|
||||
if (st->codecpar->ch_layout.nb_channels == 2)
|
||||
st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
|
||||
else if (st->codecpar->ch_layout.nb_channels == 4)
|
||||
st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_4POINT0;
|
||||
|
||||
avio_skip(s->pb, 2);
|
||||
st->codecpar->sample_rate = avio_rb32(s->pb);
|
||||
|
@ -90,10 +90,11 @@ static int ast_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||
pos = avio_tell(s->pb);
|
||||
type = avio_rl32(s->pb);
|
||||
size = avio_rb32(s->pb);
|
||||
if (!s->streams[0]->codecpar->channels || size > INT_MAX / s->streams[0]->codecpar->channels)
|
||||
if (!s->streams[0]->codecpar->ch_layout.nb_channels ||
|
||||
size > INT_MAX / s->streams[0]->codecpar->ch_layout.nb_channels)
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
size *= s->streams[0]->codecpar->channels;
|
||||
size *= s->streams[0]->codecpar->ch_layout.nb_channels;
|
||||
if ((ret = avio_skip(s->pb, 24)) < 0) // padding
|
||||
return ret;
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ static int ast_write_header(AVFormatContext *s)
|
|||
avio_wb32(pb, 0); /* File size minus header */
|
||||
avio_wb16(pb, codec_tag);
|
||||
avio_wb16(pb, 16); /* Bit depth */
|
||||
avio_wb16(pb, par->channels);
|
||||
avio_wb16(pb, par->ch_layout.nb_channels);
|
||||
avio_wb16(pb, 0); /* Loop flag */
|
||||
avio_wb32(pb, par->sample_rate);
|
||||
|
||||
|
@ -109,7 +109,7 @@ static int ast_write_packet(AVFormatContext *s, AVPacket *pkt)
|
|||
AVIOContext *pb = s->pb;
|
||||
ASTMuxContext *ast = s->priv_data;
|
||||
AVCodecParameters *par = s->streams[0]->codecpar;
|
||||
int size = pkt->size / par->channels;
|
||||
int size = pkt->size / par->ch_layout.nb_channels;
|
||||
|
||||
if (s->streams[0]->nb_frames == 0)
|
||||
ast->fbs = size;
|
||||
|
|
Loading…
Reference in New Issue