mirror of https://git.ffmpeg.org/ffmpeg.git
Do not fill the pts reordering buffer with guessed dts.
These values should not matter at all in principle because they do not correspond to the time of display of any frame but it seems ffmpeg becomes confused by them if they are far off and its not strictly correct to set them to guessed values. Fixes video_stalls_at_start.wmv Originally committed as revision 14746 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
aca36b287d
commit
3c9769a008
|
@ -898,8 +898,6 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
||||||
|
|
||||||
if(pkt->pts != AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY){
|
if(pkt->pts != AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY){
|
||||||
st->pts_buffer[0]= pkt->pts;
|
st->pts_buffer[0]= pkt->pts;
|
||||||
for(i=1; i<delay+1 && st->pts_buffer[i] == AV_NOPTS_VALUE; i++)
|
|
||||||
st->pts_buffer[i]= (i-delay-1) * pkt->duration;
|
|
||||||
for(i=0; i<delay && st->pts_buffer[i] > st->pts_buffer[i+1]; i++)
|
for(i=0; i<delay && st->pts_buffer[i] > st->pts_buffer[i+1]; i++)
|
||||||
FFSWAP(int64_t, st->pts_buffer[i], st->pts_buffer[i+1]);
|
FFSWAP(int64_t, st->pts_buffer[i], st->pts_buffer[i+1]);
|
||||||
if(pkt->dts == AV_NOPTS_VALUE)
|
if(pkt->dts == AV_NOPTS_VALUE)
|
||||||
|
|
Loading…
Reference in New Issue