History

fsb: convert to new channel layout API

Anton Khirnov committed 7 years ago

Commit 07cdec41 parent 95431611 file · +17 −17Browse files

Showing the changes to libavformat (1 of 1 file). Show all

Unified · Split

libavformat/fsb.c+17−17
@@ -68,30 +68,30 @@ static int fsb_read_header(AVFormatContext *s) · 67 unmodified lines
6868 if (par->sample_rate <= 0)
6969 return AVERROR_INVALIDDATA;
7070 avio_skip(pb, 6);
71− par->channels = avio_rl16(pb);
72− if (!par->channels)
71+ par->ch_layout.nb_channels = avio_rl16(pb);
72+ if (!par->ch_layout.nb_channels)
7373 return AVERROR_INVALIDDATA;
7474
7575 if (format & 0x00000100) {
7676 par->codec_id = AV_CODEC_ID_PCM_S16LE;
77− par->block_align = 4096 * par->channels;
77+ par->block_align = 4096 * par->ch_layout.nb_channels;
7878 } else if (format & 0x00400000) {
7979 par->bits_per_coded_sample = 4;
8080 par->codec_id = AV_CODEC_ID_ADPCM_IMA_WAV;
81− par->block_align = 36 * par->channels;
81+ par->block_align = 36 * par->ch_layout.nb_channels;
8282 } else if (format & 0x00800000) {
8383 par->codec_id = AV_CODEC_ID_ADPCM_PSX;
84− par->block_align = 16 * par->channels;
84+ par->block_align = 16 * par->ch_layout.nb_channels;
8585 } else if (format & 0x02000000) {
8686 par->codec_id = AV_CODEC_ID_ADPCM_THP;
87− par->block_align = 8 * par->channels;
88− if (par->channels > INT_MAX / 32)
87+ par->block_align = 8 * par->ch_layout.nb_channels;
88+ if (par->ch_layout.nb_channels > INT_MAX / 32)
8989 return AVERROR_INVALIDDATA;
90− ret = ff_alloc_extradata(par, 32 * par->channels);
90+ ret = ff_alloc_extradata(par, 32 * par->ch_layout.nb_channels);
9191 if (ret < 0)
9292 return ret;
9393 avio_seek(pb, 0x68, SEEK_SET);
94− for (c = 0; c < par->channels; c++) {
94+ for (c = 0; c < par->ch_layout.nb_channels; c++) {
9595 avio_read(pb, par->extradata + 32 * c, 32);
9696 avio_skip(pb, 14);
9797 }
@@ -125,8 +125,8 @@ static int fsb_read_header(AVFormatContext *s) · 27 unmodified lines
125125 return AVERROR_INVALIDDATA;
126126 avio_skip(pb, 6);
127127
128− par->channels = avio_rl16(pb);
129− if (!par->channels)
128+ par->ch_layout.nb_channels = avio_rl16(pb);
129+ if (!par->ch_layout.nb_channels)
130130 return AVERROR_INVALIDDATA;
131131
132132 switch (par->codec_id) {
@@ -138,17 +138,17 @@ static int fsb_read_header(AVFormatContext *s) · 5 unmodified lines
138138 par->block_align = 2048;
139139 break;
140140 case AV_CODEC_ID_ADPCM_THP:
141− if (par->channels > INT_MAX / 32)
141+ if (par->ch_layout.nb_channels > INT_MAX / 32)
142142 return AVERROR_INVALIDDATA;
143− ret = ff_alloc_extradata(par, 32 * par->channels);
143+ ret = ff_alloc_extradata(par, 32 * par->ch_layout.nb_channels);
144144 if (ret < 0)
145145 return ret;
146146 avio_seek(pb, 0x80, SEEK_SET);
147− for (c = 0; c < par->channels; c++) {
147+ for (c = 0; c < par->ch_layout.nb_channels; c++) {
148148 avio_read(pb, par->extradata + 32 * c, 32);
149149 avio_skip(pb, 14);
150150 }
151− par->block_align = 8 * par->channels;
151+ par->block_align = 8 * par->ch_layout.nb_channels;
152152 break;
153153 }
154154 } else {
@@ -174,14 +174,14 @@ static int fsb_read_packet(AVFormatContext *s, AVPacket *pkt) · 19 unmodified lines
174174
175175 pos = avio_tell(s->pb);
176176 if (par->codec_id == AV_CODEC_ID_ADPCM_THP &&
177− par->channels > 1) {
177+ par->ch_layout.nb_channels > 1) {
178178 int i, ch;
179179
180180 ret = av_new_packet(pkt, par->block_align);
181181 if (ret < 0)
182182 return ret;
183183 for (i = 0; i < 4; i++) {
184− for (ch = 0; ch < par->channels; ch++) {
184+ for (ch = 0; ch < par->ch_layout.nb_channels; ch++) {
185185 pkt->data[ch * 8 + i * 2 + 0] = avio_r8(s->pb);
186186 pkt->data[ch * 8 + i * 2 + 1] = avio_r8(s->pb);
187187 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t