Fixed ffmpeg encoding error (ticket #1743)
authorAlexander Reshetnikov <no@email>
Mon, 9 Apr 2012 13:35:48 +0000 (13:35 +0000)
committerAlexander Reshetnikov <no@email>
Mon, 9 Apr 2012 13:35:48 +0000 (13:35 +0000)
modules/highgui/src/cap_ffmpeg_impl.hpp
modules/highgui/src/cap_ffmpeg_impl_v2.hpp

index fa847ce..c154abe 100644 (file)
@@ -966,6 +966,7 @@ int icv_av_write_frame_FFMPEG( AVFormatContext * oc, AVStream * video_st, uint8_
             av_init_packet(&pkt);
 
 #if LIBAVFORMAT_BUILD > 4752
+            if(c->coded_frame->pts != (int64_t)AV_NOPTS_VALUE)
             pkt.pts = av_rescale_q(c->coded_frame->pts, c->time_base, video_st->time_base);
 #else
                        pkt.pts = c->coded_frame->pts;
index e14794b..a839874 100755 (executable)
@@ -1085,6 +1085,7 @@ int icv_av_write_frame_FFMPEG( AVFormatContext * oc, AVStream * video_st, uint8_
             av_init_packet(&pkt);
 
        #if LIBAVFORMAT_BUILD > 4752
+                if(c->coded_frame->pts != (int64_t)AV_NOPTS_VALUE)
                                pkt.pts = av_rescale_q(c->coded_frame->pts, c->time_base, video_st->time_base);
        #else
                                pkt.pts = c->coded_frame->pts;