diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2005-01-17 03:15:57 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2005-01-17 03:15:57 +0000 |
commit | fdb86eb10d53b73f61bc86c280fa5f8f50233bf1 (patch) | |
tree | ec5a14755a79a517470e45861218731fea9a8548 /ffmpeg.c | |
parent | d06c75a8307a3e24868f481c33cd1f43da12b51b (diff) | |
download | ffmpeg-fdb86eb10d53b73f61bc86c280fa5f8f50233bf1.tar.gz |
trying to fix the -ss bugs
Originally committed as revision 3843 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'ffmpeg.c')
-rw-r--r-- | ffmpeg.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -1756,6 +1756,8 @@ static int av_encode(AVFormatContext **output_files, ist->next_pts = ist->st->start_time; if(ist->next_pts == AV_NOPTS_VALUE) ist->next_pts=0; + if(input_files_ts_offset[ist->file_index]) + ist->next_pts= AV_NOPTS_VALUE; ist->is_start = 1; } @@ -1897,7 +1899,7 @@ static int av_encode(AVFormatContext **output_files, goto discard_packet; // fprintf(stderr, "next:%lld dts:%lld off:%lld %d\n", ist->next_pts, pkt.dts, input_files_ts_offset[ist->file_index], ist->st->codec.codec_type); - if (pkt.dts != AV_NOPTS_VALUE) { + if (pkt.dts != AV_NOPTS_VALUE && ist->next_pts != AV_NOPTS_VALUE) { int64_t delta= pkt.dts - ist->next_pts; if(ABS(delta) > 10LL*AV_TIME_BASE && !copy_ts){ input_files_ts_offset[ist->file_index]-= delta; |