From a20147f255e5e0c11366b9fffcbb6334b0b3a06c Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Wed, 6 May 2020 12:23:34 -0400 Subject: [PATCH] codecs: h264decoder: Make get_short_ref_by_pic_num() transfer none We don't use the extra reference, so let's just avoid the extra ref/unref. Part-of: --- gst-libs/gst/codecs/gsth264decoder.c | 2 -- gst-libs/gst/codecs/gsth264picture.c | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/gst-libs/gst/codecs/gsth264decoder.c b/gst-libs/gst/codecs/gsth264decoder.c index e23d8b5..8c9371b 100644 --- a/gst-libs/gst/codecs/gsth264decoder.c +++ b/gst-libs/gst/codecs/gsth264decoder.c @@ -1256,7 +1256,6 @@ gst_h264_decoder_handle_memory_management_opt (GstH264Decoder * self, to_mark = gst_h264_dpb_get_short_ref_by_pic_num (priv->dpb, pic_num_x); if (to_mark) { to_mark->ref = FALSE; - gst_h264_picture_unref (to_mark); } else { GST_WARNING_OBJECT (self, "Invalid short term ref pic num to unmark"); return FALSE; @@ -1286,7 +1285,6 @@ gst_h264_decoder_handle_memory_management_opt (GstH264Decoder * self, if (to_mark) { to_mark->long_term = TRUE; to_mark->long_term_frame_idx = ref_pic_marking->long_term_frame_idx; - gst_h264_picture_unref (to_mark); } else { GST_WARNING_OBJECT (self, "Invalid short term ref pic num to mark as long ref"); diff --git a/gst-libs/gst/codecs/gsth264picture.c b/gst-libs/gst/codecs/gsth264picture.c index 2d1d6c0..ceb8694 100644 --- a/gst-libs/gst/codecs/gsth264picture.c +++ b/gst-libs/gst/codecs/gsth264picture.c @@ -316,7 +316,7 @@ gst_h264_dpb_mark_all_non_ref (GstH264Dpb * dpb) * * Find a short term reference picture which has matching picture number * - * Returns: (nullable) (transfer full): a #GstH264Picture + * Returns: (nullable) (transfer none): a #GstH264Picture */ GstH264Picture * gst_h264_dpb_get_short_ref_by_pic_num (GstH264Dpb * dpb, gint pic_num) @@ -330,7 +330,7 @@ gst_h264_dpb_get_short_ref_by_pic_num (GstH264Dpb * dpb, gint pic_num) g_array_index (dpb->pic_list, GstH264Picture *, i); if (picture->ref && !picture->long_term && picture->pic_num == pic_num) - return gst_h264_picture_ref (picture); + return picture; } GST_WARNING ("No short term reference picture for %d", pic_num); -- 2.7.4