Correct opts calulation in ffmpeg.c.
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Feb 2010 15:09:04 +0000 (15:09 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Feb 2010 15:09:04 +0000 (15:09 +0000)
This correct the stop point for demuxing with -vcodec copy and -t as well as
packet interleaving. (we already diddrop packets but kept demuxing them
for too long due to opts being wrong)
the change to ffm is due to 2 packets with timestamp 0 being stored
in different order.

Originally committed as revision 21626 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c
tests/ref/lavf/ffm

index 325ffb1..2253fc5 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2236,9 +2236,6 @@ static int av_encode(AVFormatContext **output_files,
             ist = ist_table[ost->source_index];
             if(no_packet[ist->file_index])
                 continue;
             ist = ist_table[ost->source_index];
             if(no_packet[ist->file_index])
                 continue;
-            if(ost->st->codec->codec_type == CODEC_TYPE_VIDEO)
-                opts = ost->sync_opts * av_q2d(ost->st->codec->time_base);
-            else
                 opts = ost->st->pts.val * av_q2d(ost->st->time_base);
             ipts = (double)ist->pts;
             if (!file_table[ist->file_index].eof_reached){
                 opts = ost->st->pts.val * av_q2d(ost->st->time_base);
             ipts = (double)ist->pts;
             if (!file_table[ist->file_index].eof_reached){
index de91680..e833944 100644 (file)
@@ -1,3 +1,3 @@
-a2dd3180dbfc7c8d50d34cea4cdc92d8 *./tests/data/b-lavf.ffm
+03fc7f90bba9361cf6128cd4655fb20f *./tests/data/b-lavf.ffm
 376832 ./tests/data/b-lavf.ffm
 376832 ./tests/data/b-lavf.ffm
-./tests/data/b-lavf.ffm CRC=0x2b39ed74
+./tests/data/b-lavf.ffm CRC=0xf361ed74