but sadly there are cases where the timestamps cannot be found without decoding.
Originally committed as revision 12130 to svn://svn.ffmpeg.org/ffmpeg/trunk
ptr = pkt->data;
while (len > 0) {
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
} 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);