aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2019-05-13 11:11:26 +0200
committerJames Almer <jamrial@gmail.com>2022-03-15 09:42:30 -0300
commit820d73cc0e8368f66849e3d5006844dbdb1f2775 (patch)
tree1d8cd2f18d06f55849469d0a833c2d0b9e5fb579
parent521cca1333852cc46682cc78d40ae51d10bc14a5 (diff)
downloadffmpeg-820d73cc0e8368f66849e3d5006844dbdb1f2775.tar.gz
ast: convert to new channel layout API
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--libavformat/astdec.c17
-rw-r--r--libavformat/astenc.c4
2 files changed, 11 insertions, 10 deletions
diff --git a/libavformat/astdec.c b/libavformat/astdec.c
index 629372acf1..f812f6437c 100644
--- a/libavformat/astdec.c
+++ b/libavformat/astdec.c
@@ -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;
diff --git a/libavformat/astenc.c b/libavformat/astenc.c
index a5792e0b07..b29cfc4aaf 100644
--- a/libavformat/astenc.c
+++ b/libavformat/astenc.c
@@ -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;