lavf/oggparseopus: Setting seek_preroll in AVCodecContext
authorVignesh Venkatasubramanian <vigneshv@google.com>
Wed, 5 Feb 2014 15:36:13 +0000 (07:36 -0800)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 5 Feb 2014 20:16:36 +0000 (21:16 +0100)
Setting seek_preroll value in AVCodecContext for Opus streams
embedded in ogg container.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/oggparseopus.c

index 553ddb0..75c6114 100644 (file)
@@ -32,6 +32,7 @@ struct oggopus_private {
     int64_t cur_dts;
 };
 
+#define OPUS_SEEK_PREROLL_MS 80
 #define OPUS_HEAD_SIZE 19
 
 static int opus_header(AVFormatContext *avf, int idx)
@@ -66,6 +67,9 @@ static int opus_header(AVFormatContext *avf, int idx)
         memcpy(st->codec->extradata, packet, os->psize);
 
         st->codec->sample_rate = 48000;
+        av_codec_set_seek_preroll(st->codec,
+                                  av_rescale(OPUS_SEEK_PREROLL_MS,
+                                             st->codec->sample_rate, 1000));
         avpriv_set_pts_info(st, 64, 1, 48000);
         priv->need_comments = 1;
         return 1;