diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2004-10-07 01:55:34 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2004-10-07 01:55:34 +0000 |
commit | 6c55b27f8f7b41c34ecaf1c7986f23809adc80e0 (patch) | |
tree | 19c241302d769d88733dabe6a710ed7e79fa5d39 | |
parent | 61c1d8e2b64f756ed4ee731ca18dc0ac426a21ef (diff) | |
download | ffmpeg-6c55b27f8f7b41c34ecaf1c7986f23809adc80e0.tar.gz |
do not randomize unknown timestamps
Originally committed as revision 3568 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | ffmpeg.c | 5 | ||||
-rw-r--r-- | libavformat/mpeg.c | 10 |
2 files changed, 9 insertions, 6 deletions
@@ -1249,7 +1249,10 @@ static int output_packet(AVInputStream *ist, int ist_index, opkt.stream_index= ost->index; opkt.data= data_buf; opkt.size= data_size; - opkt.pts= pkt->pts + input_files_ts_offset[ist->file_index]; + if(pkt->pts != AV_NOPTS_VALUE) + opkt.pts= pkt->pts + input_files_ts_offset[ist->file_index]; + else + opkt.pts= AV_NOPTS_VALUE; opkt.dts= pkt->dts + input_files_ts_offset[ist->file_index]; opkt.flags= pkt->flags; diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index 4f8d20dc6a..772a4df30e 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -1029,13 +1029,13 @@ static int mpeg_mux_write_packet(AVFormatContext *ctx, AVPacket *pkt) and the first pack from the other stream, respectively, may also have been written before. So the real data starts at SCR 36000+3*1200. */ - pts += 36000 + 3600; - dts += 36000 + 3600; + if(pts != AV_NOPTS_VALUE) pts += 36000 + 3600; + if(dts != AV_NOPTS_VALUE) dts += 36000 + 3600; }else{ - pts += PRELOAD; - dts += PRELOAD; + if(pts != AV_NOPTS_VALUE) pts += PRELOAD; + if(dts != AV_NOPTS_VALUE) dts += PRELOAD; } -//av_log(ctx, AV_LOG_DEBUG, "dts:%f pts:%f flags:%d stream:%d\n", dts/90000.0, pts/90000.0, pkt->flags, pkt->stream_index); +//av_log(ctx, AV_LOG_DEBUG, "dts:%f pts:%f flags:%d stream:%d nopts:%d\n", dts/90000.0, pts/90000.0, pkt->flags, pkt->stream_index, pts != AV_NOPTS_VALUE); *stream->next_packet= pkt_desc= av_mallocz(sizeof(PacketDesc)); pkt_desc->pts= pts; |