mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00: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 master rev: 32e88fd0632619c5d3eb95a58a0cceb6f5f6d0d0) (From OE-Core rev: 17be09863be3804ba58006c8cf622cd0653fed1e) 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
bdf4d19dc3
commit
0c925855f7
+46
@@ -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://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://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://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"
|
SRC_URI[md5sum] = "357165af625c0ca353ab47c5d843920e"
|
||||||
|
|||||||
Reference in New Issue
Block a user