From 4d7cd2e638a7ed8074ec145dd4e18eefda88e492 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Tue, 1 May 2012 16:12:40 +0200 Subject: [PATCH] videoencoder: _get_oldest_frame: return a reference --- gst-libs/gst/video/gstvideoencoder.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c index 5e5527c5fd..1f05f9d110 100644 --- a/gst-libs/gst/video/gstvideoencoder.c +++ b/gst-libs/gst/video/gstvideoencoder.c @@ -1642,22 +1642,21 @@ gst_video_encoder_get_latency (GstVideoEncoder * encoder, * * Get the oldest unfinished pending #GstVideoCodecFrame * - * Returns: oldest unfinished pending #GstVideoCodecFrame + * Returns: (transfer full): oldest unfinished pending #GstVideoCodecFrame * * Since: 0.10.36 */ GstVideoCodecFrame * gst_video_encoder_get_oldest_frame (GstVideoEncoder * encoder) { - GList *g; + GstVideoCodecFrame *frame = NULL; GST_VIDEO_ENCODER_STREAM_LOCK (encoder); - g = encoder->priv->frames; + if (encoder->priv->frames) + frame = gst_video_codec_frame_ref (encoder->priv->frames->data); GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder); - if (g == NULL) - return NULL; - return (GstVideoCodecFrame *) (g->data); + return (GstVideoCodecFrame *) frame; } /**