The decoder_queue_frame function now owns 'frame'. If frame is not inserted into a queue (and freed later) it must be freed before returning. Signed-off-by: Uri Lublin <uril@xxxxxxxxxx> --- changes since v1: (per Freiano's review comments) - Subject changed (not mentioning return FALSE) - Information added to commit log - A second frame->free(frame) added --- src/channel-display-gst.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c index 3d0827a..c8a2ad0 100644 --- a/src/channel-display-gst.c +++ b/src/channel-display-gst.c @@ -591,6 +591,7 @@ static gboolean spice_gst_decoder_queue_frame(VideoDecoder *video_decoder, if (decoder->pipeline == NULL) { /* An error occurred, causing the GStreamer pipeline to be freed */ spice_warning("An error occurred, stopping the video stream"); + frame->free(frame); return FALSE; } @@ -598,6 +599,7 @@ static gboolean spice_gst_decoder_queue_frame(VideoDecoder *video_decoder, if (decoder->appsrc == NULL) { spice_warning("Error: Playbin has not yet initialized the Appsrc element"); stream_dropped_frame_on_playback(decoder->base.stream); + frame->free(frame); return TRUE; } #endif -- 2.17.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel