On Fri, Nov 13, 2015 at 03:57:22PM +0100, Nicolas George wrote: > Le primidi 21 brumaire, an CCXXIV, Clement Boesch a écrit : > > You construct something like this: > > > > AVAsyncContext( > > AVAsyncReader( > > AVAsyncDecoder(...), > > AVAsyncDecoder(...), > > AVAsyncDecoder(...), > > ... > > ), > > AVAsyncReader( > > AVAsyncDecoder(...), > > AVAsyncDecoder(...), > > ... > > ), > > .... > > ) > > Is there a specific reason you use a different type for decoders and > readers? If I understand correctly, readers would be demuxers, and > basically, if you look from high enough, demuxers and decoders are basically > the same. >
Not sure I understand what you mean. It's important to have a threading separation between the two for the sole reason of performance. Yes, readers are demuxers in this simple model; one reader for N decoders. [...] > > - first, in threadmessage it seems I can't yet flush the fifo properly > > (for example by calling av_frame_free() on each entry of the frame > > queue): should I extend the API? Nicolas, maybe you have a suggestion? > > Not really. IIUC, you need a function for the sender to tell "all queued > messages are useless, discard them"? Or maybe more generic out-of-band / > prioritized messages? No idea what would be appropriate; I just need a way to drain the demuxer and decoder queues, which contain AVFrame and AVPacket that needs to be free'd properly. -- Clément B.
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel