diff options
| author | Vittorio Giovara <[email protected]> | 2017-03-31 17:58:46 +0200 | 
|---|---|---|
| committer | James Almer <[email protected]> | 2022-03-15 09:42:35 -0300 | 
| commit | 5b51e6771c5419118dc02b325aafed37ce5cb709 (patch) | |
| tree | e65e694bad4912bab7b9476bcb0ff67225c70df9 | |
| parent | f81417a6d2e2a200658c668b8414547a99f3d002 (diff) | |
ogg: convert to new channel layout API
Signed-off-by: Vittorio Giovara <[email protected]>
Signed-off-by: Anton Khirnov <[email protected]>
Signed-off-by: James Almer <[email protected]>
| -rw-r--r-- | libavformat/oggparsecelt.c | 2 | ||||
| -rw-r--r-- | libavformat/oggparseogm.c | 4 | ||||
| -rw-r--r-- | libavformat/oggparseopus.c | 2 | ||||
| -rw-r--r-- | libavformat/oggparsespeex.c | 8 | ||||
| -rw-r--r-- | libavformat/oggparsevorbis.c | 5 | 
5 files changed, 11 insertions, 10 deletions
| diff --git a/libavformat/oggparsecelt.c b/libavformat/oggparsecelt.c index f7a88af616..e528fd1f41 100644 --- a/libavformat/oggparsecelt.c +++ b/libavformat/oggparsecelt.c @@ -64,7 +64,7 @@ static int celt_header(AVFormatContext *s, int idx)          st->codecpar->codec_type     = AVMEDIA_TYPE_AUDIO;          st->codecpar->codec_id       = AV_CODEC_ID_CELT;          st->codecpar->sample_rate    = sample_rate; -        st->codecpar->channels       = nb_channels; +        st->codecpar->ch_layout.nb_channels = nb_channels;          if (sample_rate)              avpriv_set_pts_info(st, 64, 1, sample_rate); diff --git a/libavformat/oggparseogm.c b/libavformat/oggparseogm.c index f777790523..1e794745ab 100644 --- a/libavformat/oggparseogm.c +++ b/libavformat/oggparseogm.c @@ -97,7 +97,7 @@ ogm_header(AVFormatContext *s, int idx)              st->codecpar->height = bytestream2_get_le32(&p);              avpriv_set_pts_info(st, 64, time_unit, spu * 10000000);          } else { -            st->codecpar->channels = bytestream2_get_le16(&p); +            st->codecpar->ch_layout.nb_channels = bytestream2_get_le16(&p);              bytestream2_skip(&p, 2); /* block_align */              st->codecpar->bit_rate = bytestream2_get_le32(&p) * 8;              st->codecpar->sample_rate = spu * 10000000 / time_unit; @@ -160,7 +160,7 @@ ogm_dshow_header(AVFormatContext *s, int idx)          st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;          st->codecpar->codec_id = ff_codec_get_id(ff_codec_wav_tags, AV_RL16(p + 124)); -        st->codecpar->channels = AV_RL16(p + 126); +        st->codecpar->ch_layout.nb_channels = AV_RL16(p + 126);          st->codecpar->sample_rate = AV_RL32(p + 128);          st->codecpar->bit_rate = AV_RL32(p + 132) * 8;      } diff --git a/libavformat/oggparseopus.c b/libavformat/oggparseopus.c index 36d691e9aa..54aa725be6 100644 --- a/libavformat/oggparseopus.c +++ b/libavformat/oggparseopus.c @@ -55,7 +55,7 @@ static int opus_header(AVFormatContext *avf, int idx)              return AVERROR_INVALIDDATA;          st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;          st->codecpar->codec_id   = AV_CODEC_ID_OPUS; -        st->codecpar->channels   = AV_RL8(packet + 9); +        st->codecpar->ch_layout.nb_channels = AV_RL8(packet + 9);          priv->pre_skip        = AV_RL16(packet + 10);          st->codecpar->initial_padding = priv->pre_skip; diff --git a/libavformat/oggparsespeex.c b/libavformat/oggparsespeex.c index c4fee7e076..7d3d653384 100644 --- a/libavformat/oggparsespeex.c +++ b/libavformat/oggparsespeex.c @@ -60,6 +60,7 @@ static int speex_header(AVFormatContext *s, int idx) {      if (spxp->seq == 0) {          int frames_per_packet; +        int channels;          st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;          st->codecpar->codec_id = AV_CODEC_ID_SPEEX; @@ -73,13 +74,12 @@ static int speex_header(AVFormatContext *s, int idx) {              av_log(s, AV_LOG_ERROR, "Invalid sample rate %d\n", st->codecpar->sample_rate);              return AVERROR_INVALIDDATA;          } -        st->codecpar->channels = AV_RL32(p + 48); -        if (st->codecpar->channels < 1 || st->codecpar->channels > 2) { +        channels = AV_RL32(p + 48); +        if (channels < 1 || channels > 2) {              av_log(s, AV_LOG_ERROR, "invalid channel count. Speex must be mono or stereo.\n");              return AVERROR_INVALIDDATA;          } -        st->codecpar->channel_layout = st->codecpar->channels == 1 ? AV_CH_LAYOUT_MONO : -                                                                     AV_CH_LAYOUT_STEREO; +        av_channel_layout_default(&st->codecpar->ch_layout, channels);          spxp->packet_size  = AV_RL32(p + 56);          frames_per_packet  = AV_RL32(p + 64); diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c index e1ef510892..289900f7cf 100644 --- a/libavformat/oggparsevorbis.c +++ b/libavformat/oggparsevorbis.c @@ -336,11 +336,12 @@ static int vorbis_header(AVFormatContext *s, int idx)              return AVERROR_INVALIDDATA;          channels = bytestream_get_byte(&p); -        if (st->codecpar->channels && channels != st->codecpar->channels) { +        if (st->codecpar->ch_layout.nb_channels && +            channels != st->codecpar->ch_layout.nb_channels) {              av_log(s, AV_LOG_ERROR, "Channel change is not supported\n");              return AVERROR_PATCHWELCOME;          } -        st->codecpar->channels = channels; +        st->codecpar->ch_layout.nb_channels = channels;          srate               = bytestream_get_le32(&p);          p += 4; // skip maximum bitrate          st->codecpar->bit_rate = bytestream_get_le32(&p); // nominal bitrate | 
