diff options
author | Edward Hervey <edward@collabora.com> | 2014-05-13 14:15:24 +0200 |
---|---|---|
committer | Edward Hervey <edward@collabora.com> | 2014-05-13 14:15:24 +0200 |
commit | adecec882a323e73f46741e63e204eccea2ff823 (patch) | |
tree | b4c7c3e778c76c8dc7404c1df465f23cc768d0a5 | |
parent | 1b5e514a05126b48a9a69590e98e4392c0deda23 (diff) | |
download | gstreamer-plugins-bad-adecec882a323e73f46741e63e204eccea2ff823.tar.gz |
rsvg: Don't leak GstVideoCodecState
And avoid useless call to _get_output_state (set_output_state() already
returns it).
CID #1212160
CID #1212161
-rw-r--r-- | ext/rsvg/gstrsvgdec.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/rsvg/gstrsvgdec.c b/ext/rsvg/gstrsvgdec.c index a7d42e89f..624c9e9f6 100644 --- a/ext/rsvg/gstrsvgdec.c +++ b/ext/rsvg/gstrsvgdec.c @@ -180,11 +180,11 @@ gst_rsvg_decode_image (GstRsvgDec * rsvg, GstBuffer * buffer, || GST_VIDEO_INFO_HEIGHT (&output_state->info) != dimension.height) { /* Create the output state */ - gst_video_decoder_set_output_state (decoder, GST_RSVG_VIDEO_FORMAT, - dimension.width, dimension.height, rsvg->input_state); if (output_state) gst_video_codec_state_unref (output_state); - output_state = gst_video_decoder_get_output_state (decoder); + output_state = + gst_video_decoder_set_output_state (decoder, GST_RSVG_VIDEO_FORMAT, + dimension.width, dimension.height, rsvg->input_state); } ret = gst_video_decoder_allocate_output_frame (decoder, frame); @@ -261,9 +261,10 @@ gst_rsvg_dec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state) rsvg->input_state = gst_video_codec_state_ref (state); /* Create the output state */ - gst_video_decoder_set_output_state (decoder, GST_RSVG_VIDEO_FORMAT, + state = gst_video_decoder_set_output_state (decoder, GST_RSVG_VIDEO_FORMAT, GST_VIDEO_INFO_WIDTH (info), GST_VIDEO_INFO_HEIGHT (info), rsvg->input_state); + gst_video_codec_state_unref (state); return TRUE; } |