summaryrefslogtreecommitdiff
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2005-01-17 03:15:57 +0000
committerMichael Niedermayer <michaelni@gmx.at>2005-01-17 03:15:57 +0000
commitfdb86eb10d53b73f61bc86c280fa5f8f50233bf1 (patch)
treeec5a14755a79a517470e45861218731fea9a8548 /ffmpeg.c
parentd06c75a8307a3e24868f481c33cd1f43da12b51b (diff)
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.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index 6536794897..e1124858e2 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -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;