]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/oggparseopus.c
mov: Wrap stsc index and count compare in a separate function
[ffmpeg] / libavformat / oggparseopus.c
index 1851ff11eed7ce307e4b9030180b86e3aef51e46..915ef42babb817b2bcdc3d1704f1b202347e934b 100644 (file)
@@ -52,20 +52,22 @@ static int opus_header(AVFormatContext *avf, int idx)
         if (os->psize < OPUS_HEAD_SIZE || (AV_RL8(packet + 8) & 0xF0) != 0)
             return AVERROR_INVALIDDATA;
 
-        st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
-        st->codec->codec_id   = AV_CODEC_ID_OPUS;
-        st->codec->channels   = AV_RL8(packet + 9);
+        st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
+        st->codecpar->codec_id   = AV_CODEC_ID_OPUS;
+        st->codecpar->channels   = AV_RL8(packet + 9);
         priv->pre_skip        = AV_RL16(packet + 10);
 
+        st->codecpar->initial_padding = priv->pre_skip;
+
         extradata = av_malloc(os->psize + AV_INPUT_BUFFER_PADDING_SIZE);
         if (!extradata)
             return AVERROR(ENOMEM);
 
         memcpy(extradata, packet, os->psize);
-        st->codec->extradata      = extradata;
-        st->codec->extradata_size = os->psize;
+        st->codecpar->extradata      = extradata;
+        st->codecpar->extradata_size = os->psize;
 
-        st->codec->sample_rate = 48000;
+        st->codecpar->sample_rate = 48000;
         avpriv_set_pts_info(st, 64, 1, 48000);
         priv->need_comments = 1;
         return 1;