output example: set the stream timebase
authorAnton Khirnov <anton@khirnov.net>
Wed, 23 Jul 2014 11:09:16 +0000 (11:09 +0000)
committerAnton Khirnov <anton@khirnov.net>
Sat, 26 Jul 2014 14:57:45 +0000 (14:57 +0000)
This is required by the new API.

doc/examples/output.c

index 883d55f..239fe5b 100644 (file)
@@ -96,6 +96,8 @@ static void add_audio_stream(OutputStream *ost, AVFormatContext *oc,
     c->channels    = 2;
     c->channel_layout = AV_CH_LAYOUT_STEREO;
 
+    ost->st->time_base = (AVRational){ 1, c->sample_rate };
+
     // some formats want stream headers to be separate
     if (oc->oformat->flags & AVFMT_GLOBALHEADER)
         c->flags |= CODEC_FLAG_GLOBAL_HEADER;
@@ -239,8 +241,9 @@ static void add_video_stream(OutputStream *ost, AVFormatContext *oc,
      * of which frame timestamps are represented. For fixed-fps content,
      * timebase should be 1/framerate and timestamp increments should be
      * identical to 1. */
-    c->time_base.den = STREAM_FRAME_RATE;
-    c->time_base.num = 1;
+    ost->st->time_base = (AVRational){ 1, STREAM_FRAME_RATE };
+    c->time_base       = ost->st->time_base;
+
     c->gop_size      = 12; /* emit one intra frame every twelve frames at most */
     c->pix_fmt       = STREAM_PIX_FMT;
     if (c->codec_id == AV_CODEC_ID_MPEG2VIDEO) {