[FFmpeg-cvslog] avisynth: fix setting stream timebase

Marton Balint git at videolan.org
Thu Aug 13 01:38:16 CEST 2015


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Mon Aug 10 22:09:52 2015 +0200| [8009a1f1fdce16a59ea911e2b768e56ec4c8e344] | committer: Michael Niedermayer

avisynth: fix setting stream timebase

Stream timebase should be set using avpriv_set_pts_info, otherwise
avctx->pkt_timebase is not correct.

This should fix ticket #4766.

Patch is only compile tested.

Signed-off-by: Marton Balint <cus at passwd.hu>
Reviewed-by: Stephen Hutchinson <qyot27 at gmail.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8009a1f1fdce16a59ea911e2b768e56ec4c8e344
---

 libavformat/avisynth.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/libavformat/avisynth.c b/libavformat/avisynth.c
index 7dc5ee7..45641c0 100644
--- a/libavformat/avisynth.c
+++ b/libavformat/avisynth.c
@@ -237,13 +237,12 @@ static int avisynth_create_stream_video(AVFormatContext *s, AVStream *st)
     st->codec->width      = avs->vi->width;
     st->codec->height     = avs->vi->height;
 
-    st->time_base         = (AVRational) { avs->vi->fps_denominator,
-                                           avs->vi->fps_numerator };
     st->avg_frame_rate    = (AVRational) { avs->vi->fps_numerator,
                                            avs->vi->fps_denominator };
     st->start_time        = 0;
     st->duration          = avs->vi->num_frames;
     st->nb_frames         = avs->vi->num_frames;
+    avpriv_set_pts_info(st, 32, avs->vi->fps_denominator, avs->vi->fps_numerator);
 
     switch (avs->vi->pixel_type) {
 #ifdef USING_AVISYNTH
@@ -311,9 +310,8 @@ static int avisynth_create_stream_audio(AVFormatContext *s, AVStream *st)
     st->codec->codec_type  = AVMEDIA_TYPE_AUDIO;
     st->codec->sample_rate = avs->vi->audio_samples_per_second;
     st->codec->channels    = avs->vi->nchannels;
-    st->time_base          = (AVRational) { 1,
-                                            avs->vi->audio_samples_per_second };
     st->duration           = avs->vi->num_audio_samples;
+    avpriv_set_pts_info(st, 64, 1, avs->vi->audio_samples_per_second);
 
     switch (avs->vi->sample_type) {
     case AVS_SAMPLE_INT8:



More information about the ffmpeg-cvslog mailing list