On Thu, 5 Dec 2013 10:53:37 -0800 Bruce Wheaton <[email protected]> wrote:
> On Dec 5, 2013, at 3:41 AM, Paul B Mahol <[email protected]> wrote: > > > On 12/5/13, Eric Beuque <[email protected]> wrote: > >> How i can tell libavcodec that i want to become the owner of the data and > >> be able to free it, to without codec context instance? I was thinking about > >> using get/release_buffer functions, but i don't know how to compute size of > >> the data. > >> > >> Is data memcpy the only way to do this? > >> > >> Note, that i also can't upgrade to new version of FFMPEG. > >> > >> Thanks for your help. > >> > > > > Use reference counting system. > > They you need to manually free frame once you will not need it > > (otherwise you leak memory), so you do not need to do copy. > > > In my recent experiments, it seemed that closing the codec actually frees all > buffers, regardless of reference count. That makes sense - if the codec is > gone, what would detect the decreased reference count? Did you set AVCodecContext.refcounted_frames to 1? There are other weird requirements to use refcounting, such as allocating AVFrames with av_frame_alloc() instead of avcodec_frame_alloc() (or whatever it was). _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
