vmndec: Don't leak output state
authorEdward Hervey <edward@collabora.com>
Tue, 13 May 2014 09:38:44 +0000 (11:38 +0200)
committerEdward Hervey <edward@collabora.com>
Tue, 13 May 2014 09:38:44 +0000 (11:38 +0200)
_set_output_state returns a reference to the codec state.

CID #1212170

gst/vmnc/vmncdec.c

index 8e0830e..6d33bdd 100644 (file)
@@ -156,6 +156,7 @@ vmnc_handle_wmvi_rectangle (GstVMncDec * dec, struct RfbRectangle *rect,
   gint bpp, tc;
   guint32 redmask, greenmask, bluemask;
   guint32 endianness, dataendianness;
+  GstVideoCodecState *state;
 
   /* A WMVi rectangle has a 16byte payload */
   if (len < 16) {
@@ -249,8 +250,9 @@ vmnc_handle_wmvi_rectangle (GstVMncDec * dec, struct RfbRectangle *rect,
   }
 
 
-  gst_video_decoder_set_output_state (GST_VIDEO_DECODER (dec), format,
+  state = gst_video_decoder_set_output_state (GST_VIDEO_DECODER (dec), format,
       rect->width, rect->height, dec->input_state);
+  gst_video_codec_state_unref (state);
 
   g_free (dec->imagedata);
   dec->imagedata = g_malloc (dec->format.width * dec->format.height *