Tim Simerly

Sep 22, 2022
Dear Forum Folks:

I am building an H.264 media player that can decode elementary streams. I have it working ok, but the decoder always buffers up quite a few frames before displaying the first image. This is an IB (no P frames) only elementary stream I am decoding. I have noticed that if there are I frames every 5 frames, the Android player will start to display on the 7th frame. If there are 10 frames between I frames, it will display on the 12th frame and if there is 24 frames between I frames, it will display on the 18th frame. Is there any way around this?

I have read a lot of stuff using Google and there are suggestions, but no real answer. Just seems to be a hanging issue. However the drone guys figured out how to get around this since their player has very low latency so there must be a way to get the Android player to not buffer up so many frames and display on the 1st available I frame. Can you advise how to do this?