Commit 2107009e authored by Michael Niedermayer's avatar Michael Niedermayer

lavf: move nb_decoded_frames out of info.

This way the variable is available outside find_stream_info
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent b288b4c6
......@@ -741,7 +741,6 @@ typedef struct AVStream {
int duration_count;
double duration_error[2][2][MAX_STD_TIMEBASES];
int64_t codec_info_duration;
int nb_decoded_frames;
int found_decoder;
/**
......@@ -823,6 +822,12 @@ typedef struct AVStream {
* Number of samples to skip at the start of the frame decoded from the next packet.
*/
int skip_samples;
/**
* Number of internally decoded frames, used internally in libavformat, do not access
* its lifetime differs from info which is why its not in that structure.
*/
int nb_decoded_frames;
} AVStream;
#define AV_PROGRAM_RUNNING 1
......
......@@ -910,11 +910,11 @@ static int has_decode_delay_been_guessed(AVStream *st)
return 1;
#endif
if(st->codec->has_b_frames<3)
return st->info->nb_decoded_frames >= 7;
return st->nb_decoded_frames >= 7;
else if(st->codec->has_b_frames<4)
return st->info->nb_decoded_frames >= 18;
return st->nb_decoded_frames >= 18;
else
return st->info->nb_decoded_frames >= 20;
return st->nb_decoded_frames >= 20;
}
static AVPacketList *get_next_pkt(AVFormatContext *s, AVStream *st, AVPacketList *pktl)
......@@ -2385,7 +2385,7 @@ static int try_decode_frame(AVStream *st, AVPacket *avpkt, AVDictionary **option
}
if (ret >= 0) {
if (got_picture)
st->info->nb_decoded_frames++;
st->nb_decoded_frames++;
pkt.data += ret;
pkt.size -= ret;
ret = got_picture;
......
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