mirror of
https://git.yoctoproject.org/poky
synced 2026-02-28 12:29:40 +01:00
gstreamer1.0-plugins-base: Keep sticky events around when doing a soft reset
The current code will first discard all frames, and then tries to copy all sticky events from the (now discarded) frames. So change the order. (From OE-Core rev: 32e88fd0632619c5d3eb95a58a0cceb6f5f6d0d0) Signed-off-by: Yuqing Zhu <b54851@freescale.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
30e6657456
commit
f0f8f900b4
@@ -0,0 +1,46 @@
|
||||
From c3f7d36b992a3cbcee3386dea85720f3cb04e1ff Mon Sep 17 00:00:00 2001
|
||||
From: Song Bing <b06498@freescale.com>
|
||||
Date: Fri, 27 Mar 2015 13:39:43 +0800
|
||||
Subject: [PATCH] videoencoder: Keep sticky events around when doing a soft
|
||||
reset
|
||||
|
||||
The current code will first discard all frames, and then tries to copy
|
||||
all sticky events from the (now discarded) frames. Let's change the order.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=746865
|
||||
|
||||
Upstream-Status: Accepted
|
||||
|
||||
---
|
||||
gst-libs/gst/video/gstvideoencoder.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c
|
||||
index 614ba2d..4c5b111 100644
|
||||
--- a/gst-libs/gst/video/gstvideoencoder.c
|
||||
+++ b/gst-libs/gst/video/gstvideoencoder.c
|
||||
@@ -340,10 +340,6 @@ gst_video_encoder_reset (GstVideoEncoder * encoder, gboolean hard)
|
||||
|
||||
priv->drained = TRUE;
|
||||
|
||||
- g_list_foreach (priv->frames, (GFunc) gst_video_codec_frame_unref, NULL);
|
||||
- g_list_free (priv->frames);
|
||||
- priv->frames = NULL;
|
||||
-
|
||||
priv->bytes = 0;
|
||||
priv->time = 0;
|
||||
|
||||
@@ -392,6 +388,10 @@ gst_video_encoder_reset (GstVideoEncoder * encoder, gboolean hard)
|
||||
encoder->priv->current_frame_events);
|
||||
}
|
||||
|
||||
+ g_list_foreach (priv->frames, (GFunc) gst_video_codec_frame_unref, NULL);
|
||||
+ g_list_free (priv->frames);
|
||||
+ priv->frames = NULL;
|
||||
+
|
||||
GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
|
||||
|
||||
return ret;
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
@@ -14,6 +14,7 @@ SRC_URI += "file://do-not-change-eos-event-to-gap-event-if.patch \
|
||||
file://0002-video-frame-Add-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch \
|
||||
file://0001-video-frame-Don-t-ref-buffers-twice-when-mapping.patch \
|
||||
file://0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch \
|
||||
file://videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "357165af625c0ca353ab47c5d843920e"
|
||||
|
||||
Reference in New Issue
Block a user