On 10/04/2026 05:37, Khanh Hoang via Libav-user wrote:
Right, I'm just wondering so a test case could be added that ensures the program is correctly exhausting the output frames and fails if it isn't, in the case that any decoder will used that does have multiple out frames.

I'm not sure what you mean by "test case".

There's only two ways to operate, depending on if you favour throughput or latency.

Either send packets until you get EAGAIN, then get a frame, repeat (throughput optimized). Or send one packet, then get frames until EAGAIN, repeat (latency optimized).

You do that no matter what decoder you're using. Same pattern for other things that use the send/receive pattern.



------------------------------------------------------------------------
*From:* Timo Rothenpieler via Libav-user <[email protected]>
*Sent:* Wednesday, April 8, 2026 6:05:03 PM
*To:* [email protected] <[email protected]>
*Cc:* Timo Rothenpieler <[email protected]>
*Subject:* [Libav-user] Re: Decoders requiring multiple receive_frame calls per send_packet

On 08.04.2026 08:20, Khanh Hoang via Libav-user wrote:
 > I am writing a program using ffmpeg API for decoding and during my
 > attempts to get Android's MediaCodec hardware decoder to work, I saw
 > that it required several calls to avcodec_receive_frame before
 > avcodec_send_packet would function again. This is the only decoder I've
 > seen with this behavior; I was wondering if there is a known list of
 > other decoders that exhibit this, preferably ones that can run cross-
 > platform so this functionality can be easily tested for everyone. The
 > API docs mention some audio decoders do this but don't specify which.

Keep in mind, that behaviour is not part of the API.
So your code should work no matter what, since de/encoders are free to
change their behaviour here at any time.

Send a packet, then exhaust output frames, repeat.


_______________________________________________
Libav-user mailing list -- [email protected]
To unsubscribe send an email to [email protected]

_______________________________________________
Libav-user mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to