On Wed, Mar 07, 2012 at 04:33:04PM -0800, Ronald S. Bultje wrote: > Hi, > > On Wed, Feb 15, 2012 at 9:30 PM, Kostya Shishkov > <[email protected]> wrote: > > On Wed, Feb 15, 2012 at 04:21:45PM -0800, Ronald S. Bultje wrote: > >> From: "Ronald S. Bultje" <[email protected]> > >> > >> The codec would keep returning the last decoded frame if the stream > >> contains B-frames, since it wouldn't clear that frame from the list of > >> frames to be returned to the user. > >> --- > >> libavcodec/cavsdec.c | 1 + > >> 1 files changed, 1 insertions(+), 0 deletions(-) > >> > >> diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c > >> index 2f4b6e3..94c1e4b 100644 > >> --- a/libavcodec/cavsdec.c > >> +++ b/libavcodec/cavsdec.c > >> @@ -656,6 +656,7 @@ static int cavs_decode_frame(AVCodecContext * > >> avctx,void *data, int *data_size, > >> if (!s->low_delay && h->DPB[0].f.data[0]) { > >> *data_size = sizeof(AVPicture); > >> *picture = *(AVFrame *) &h->DPB[0]; > >> + memset(&h->DPB[0], 0, sizeof(h->DPB[0])); > >> } > >> return 0; > >> } > >> -- > > > > Won't this cause picture leaks? > > No, actual picture freeing/allocating/management happens in the parent > class (mpegenccontext). This is just a copy.
fine then _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
