Change History (16)

Please provide the failing command line (ffmpeg -i http://...) together with the uncut, console output to make this a valid ticket and please test current FFmpeg git head before reporting an issue here.

This is because the HLS demuxer clears AVFMTCTX_NOHEADER for the mpegts subdemuxer, which prevents the usual "look a bit more in case more streams are found" behavior of avformat_find_stream_info(), causing the video stream to sometimes not be found with the HLS stream of this ticket.

Thanks to mpegts improvements (6eda91ad54fd321461 "mpegts: stop analyzing when pmt for all programs have been found") made in the meantime I think it should be okay to remove that now, thus allowing all streams to be found.

Related: My first solution involved adding support for dynamic streams into the HLS demuxer (propagate new streams from subdemuxer), but as that ultimately turned out to not be necessary I won't be applying that at this time (as it adds complexity and risks regressions without having any sample it helps with). In case that feature or parts of it turn out to be useful in the future I've put the code here: ​https://github.com/anssih/FFmpeg/commit/68eac58088b27593b28eba33632167ed2ebb23f5

In the end simply dropping the one line as mentioned in comment:12 was not enough due to extra delay it caused in case of some other streams, so I went with the more complex dynamic streams alternative after all, see commit messages for detailed info.