audiodecoder: Fix leak on failed audio gaps
authorDoug Nazar <nazard@nazar.ca>
Wed, 26 Jun 2019 07:39:54 +0000 (03:39 -0400)
committerDoug Nazar <nazard@nazar.ca>
Wed, 26 Jun 2019 07:51:03 +0000 (03:51 -0400)
If we fail to process the gap event we need to unref the event or
we end up with a leak.

gst-libs/gst/audio/gstaudiodecoder.c

index ba6ebcc..15d8038 100644 (file)
@@ -2225,6 +2225,7 @@ gst_audio_decoder_handle_gap (GstAudioDecoder * dec, GstEvent * event)
       GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
       GST_ELEMENT_ERROR (dec, STREAM, FORMAT, (NULL),
           ("Decoder output not negotiated before GAP event."));
+      gst_event_unref (event);
       return FALSE;
     }
     needs_reconfigure = TRUE;
@@ -2273,6 +2274,7 @@ gst_audio_decoder_handle_gap (GstAudioDecoder * dec, GstEvent * event)
       ret = gst_audio_decoder_push_event (dec, event);
     } else {
       ret = FALSE;
+      gst_event_unref (event);
     }
   }
   return ret;