Correct opts calulation in ffmpeg.c.

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
release/0.6
Michael Niedermayer 15 years ago
parent 5bfe91e683
commit f575f08ccb
  1. 3
      ffmpeg.c
  2. 4
      tests/ref/lavf/ffm

@ -2236,9 +2236,6 @@ static int av_encode(AVFormatContext **output_files,
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){

@ -1,3 +1,3 @@
a2dd3180dbfc7c8d50d34cea4cdc92d8 *./tests/data/b-lavf.ffm
03fc7f90bba9361cf6128cd4655fb20f *./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

Loading…
Cancel
Save