On 10/14/2020 2:09 PM, Michael Niedermayer wrote: > On Wed, Oct 14, 2020 at 10:53:10AM +0200, Anton Khirnov wrote: >> Use a floating-point score value to take into account bitrate, when >> multiple streams with the same resolution are present. >> >> Stop accessing private AVStream.codec_info_nb_frames field, as the >> sample in question >> http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket2639/Thailand-Wave.wmv >> is now handled by the above change. >> --- >> fftools/ffmpeg_opt.c | 23 ++++++++++++++++++----- >> 1 file changed, 18 insertions(+), 5 deletions(-) > > Breaks: > -i tickets/4496/08_lect_01.rm file.avi > > as refernce here is what ffmpeg shows about the streams: > Stream #0:0: Audio: sipr (sipr / 0x72706973), 8000 Hz, mono, flt, 4 kb/s > Stream #0:1: Audio: sipr (sipr / 0x72706973), 8000 Hz, mono, flt, 8 kb/s > Stream #0:2: Audio: cook (cook / 0x6B6F6F63), 22050 Hz, mono, fltp, 4 kb/s > Stream #0:3: Audio: sipr (sipr / 0x72706973), 8000 Hz, mono, flt, 4 kb/s > Stream #0:4: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 kb/s, > 15 fps, 15 tbr, 1k tbn, 1k tbc > Stream #0:5: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 kb/s, > 15 fps, 15 tbr, 1k tbn, 1k tbc > Stream #0:6: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 kb/s, > 15 fps, 15 tbr, 1k tbn, 1k tbc > Stream #0:7: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 kb/s, > 15 fps, 15 tbr, 1k tbn, 1k tbc > Stream #0:8: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 kb/s, > 15 fps, 15 tbr, 1k tbn, 1k tbc > Stream #0:9: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 kb/s, > 15 fps, 15 tbr, 1k tbn, 1k tbc > Stream #0:10: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 > kb/s, 15 fps, 15 tbr, 1k tbn, 1k tbc > Stream #0:11: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 > kb/s, 15 fps, 15 tbr, 1k tbn, 1k tbc > Stream #0:12: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 > kb/s, 15 fps, 15 tbr, 1k tbn, 1k tbc > Stream #0:13: Video: rv20 (RV20 / 0x30325652), yuv420p, 320x240, 252 > kb/s, 15 fps, 15 tbr, 1k tbn, 1k tbc > > sample should be here according to the ticket: > https://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket2152/ > > I dont think you can reliably detect non empty streams from the header alone > in every case. > > thx
This whole chunk of code is apparently done because av_find_best_stream() can't be used here (The list of input streams is in a custom struct InputStream instead of an AVFormatContext). codec_info_nb_frames is evidently needed to detect non-empty streams, so either making it or a replacement public or hand crafting a dummy AVFormatContext with the input streams then using av_find_best_stream() are two options for this. I personally think the latter option is a good solution. av_find_best_stream() does not seem to care about its contents beyond nb_streams and the streams list. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".