avformat: dont run update_initial_duration() twice

This should avoid floods of first_dts not matching debug messages

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/50/merge
Michael Niedermayer 11 years ago
parent cbeaf67888
commit 4bfcedb33f
  1. 4
      libavformat/avformat.h
  2. 3
      libavformat/utils.c

@ -893,6 +893,10 @@ typedef struct AVStream {
*/
int pts_wrap_behavior;
/**
* Internal data to prevent doing update_initial_durations() twice
*/
int update_initial_durations_done;
} AVStream;
AVRational av_stream_get_r_frame_rate(const AVStream *s);

@ -998,6 +998,9 @@ static void update_initial_durations(AVFormatContext *s, AVStream *st,
int64_t cur_dts= RELATIVE_TS_BASE;
if(st->first_dts != AV_NOPTS_VALUE){
if (st->update_initial_durations_done)
return;
st->update_initial_durations_done = 1;
cur_dts= st->first_dts;
for(; pktl; pktl= get_next_pkt(s, st, pktl)){
if(pktl->pkt.stream_index == stream_index){

Loading…
Cancel
Save