Commit 6e598ce0 authored by michael's avatar michael

Use next_pts if pkt->dts is unknown. In an ideal world this wouldnt be needed

but sadly there are cases where the timestamps cannot be found without decoding.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@12130 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 2555ae43
...@@ -1066,7 +1066,7 @@ static int output_packet(AVInputStream *ist, int ist_index, ...@@ -1066,7 +1066,7 @@ static int output_packet(AVInputStream *ist, int ist_index,
ptr = pkt->data; ptr = pkt->data;
while (len > 0) { while (len > 0) {
handle_eof: handle_eof:
if(!pkt || ptr != pkt->data){ if(!pkt || ptr != pkt->data || pkt->dts == AV_NOPTS_VALUE){
ist->pts= ist->next_pts; // needed for last packet if vsync=0 and for multi pkt ist->pts= ist->next_pts; // needed for last packet if vsync=0 and for multi pkt
} else if (pkt->dts != AV_NOPTS_VALUE) { //FIXME seems redundant, as libavformat does this too } else if (pkt->dts != AV_NOPTS_VALUE) { //FIXME seems redundant, as libavformat does this too
ist->next_pts = ist->pts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q); ist->next_pts = ist->pts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment