[Bug 793708] msdk: dec: memleaks when flushing

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Mar 1 21:47:26 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=793708

--- Comment #5 from sreerenj <bsreerenj at gmail.com> ---
(In reply to Hyunjun Ko from comment #4)
> (In reply to sreerenj from comment #3)
> > Review of attachment 368737 [details] [review] [review]:
> > 
> > ::: sys/msdk/gstmsdkdec.c
> > @@ +947,3 @@
> >    for (i = 0; i < thiz->tasks->len; i++) {
> >      task = &g_array_index (thiz->tasks, MsdkDecTask, thiz->next_task);
> > +    gst_msdkdec_finish_task (thiz, task);
> > 
> > Why remove the return value checking?
> > Assume that the finish_frame returns error due to flushing, in this case,
> > you are not supposed to send a queued task/frame again. right?
> 
> The frame is not sent to downstream eventually in gst_msdkdec_finish_task.
> And I think we have to call gst_msdkdec_finish_task for every task instead
> of returning in the middle of drain, causing memleaks.
> 
> What do you think?

 gst_msdkdec_finish_task () will try to push each frame downstream using
gst_video_decoder_finish_frame(). If the first task returns GST_FLOW_ERROR due
to flushing and finish_task() trying to push few more pending frames may cause
undefined behavior or Not, I am not sure??

You may ask Slomo or Tim :)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list