diff options
author | Yuqing Zhu <b54851@freescale.com> | 2015-08-10 11:41:37 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-11 09:28:49 -0700 |
commit | f0f8f900b4f9f9e92635ce7c2aea27024bb1c24d (patch) | |
tree | df3c57907236fdc09aa536ae13273121ae0c4107 /meta/recipes-multimedia | |
parent | 30e6657456c021e46fc4dc920f967efbf92cb24c (diff) | |
download | poky-f0f8f900b4f9f9e92635ce7c2aea27024bb1c24d.tar.gz |
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>
Diffstat (limited to 'meta/recipes-multimedia')
2 files changed, 47 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch new file mode 100644 index 0000000000..b476969111 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch | |||
@@ -0,0 +1,46 @@ | |||
1 | From c3f7d36b992a3cbcee3386dea85720f3cb04e1ff Mon Sep 17 00:00:00 2001 | ||
2 | From: Song Bing <b06498@freescale.com> | ||
3 | Date: Fri, 27 Mar 2015 13:39:43 +0800 | ||
4 | Subject: [PATCH] videoencoder: Keep sticky events around when doing a soft | ||
5 | reset | ||
6 | |||
7 | The current code will first discard all frames, and then tries to copy | ||
8 | all sticky events from the (now discarded) frames. Let's change the order. | ||
9 | |||
10 | https://bugzilla.gnome.org/show_bug.cgi?id=746865 | ||
11 | |||
12 | Upstream-Status: Accepted | ||
13 | |||
14 | --- | ||
15 | gst-libs/gst/video/gstvideoencoder.c | 8 ++++---- | ||
16 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
17 | |||
18 | diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c | ||
19 | index 614ba2d..4c5b111 100644 | ||
20 | --- a/gst-libs/gst/video/gstvideoencoder.c | ||
21 | +++ b/gst-libs/gst/video/gstvideoencoder.c | ||
22 | @@ -340,10 +340,6 @@ gst_video_encoder_reset (GstVideoEncoder * encoder, gboolean hard) | ||
23 | |||
24 | priv->drained = TRUE; | ||
25 | |||
26 | - g_list_foreach (priv->frames, (GFunc) gst_video_codec_frame_unref, NULL); | ||
27 | - g_list_free (priv->frames); | ||
28 | - priv->frames = NULL; | ||
29 | - | ||
30 | priv->bytes = 0; | ||
31 | priv->time = 0; | ||
32 | |||
33 | @@ -392,6 +388,10 @@ gst_video_encoder_reset (GstVideoEncoder * encoder, gboolean hard) | ||
34 | encoder->priv->current_frame_events); | ||
35 | } | ||
36 | |||
37 | + g_list_foreach (priv->frames, (GFunc) gst_video_codec_frame_unref, NULL); | ||
38 | + g_list_free (priv->frames); | ||
39 | + priv->frames = NULL; | ||
40 | + | ||
41 | GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder); | ||
42 | |||
43 | return ret; | ||
44 | -- | ||
45 | 1.7.9.5 | ||
46 | |||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb index 9c31391587..8daf5af709 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb | |||
@@ -14,6 +14,7 @@ SRC_URI += "file://do-not-change-eos-event-to-gap-event-if.patch \ | |||
14 | file://0002-video-frame-Add-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch \ | 14 | file://0002-video-frame-Add-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch \ |
15 | file://0001-video-frame-Don-t-ref-buffers-twice-when-mapping.patch \ | 15 | file://0001-video-frame-Don-t-ref-buffers-twice-when-mapping.patch \ |
16 | file://0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch \ | 16 | file://0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch \ |
17 | file://videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch \ | ||
17 | " | 18 | " |
18 | 19 | ||
19 | SRC_URI[md5sum] = "357165af625c0ca353ab47c5d843920e" | 20 | SRC_URI[md5sum] = "357165af625c0ca353ab47c5d843920e" |