@@ -0,0 +1,38 @@
|
||||
Submitted by: Xi Ruoyao <xry111 at mengyan1223 dot wang>
|
||||
Date: 2019-08-18
|
||||
Initial Package Version: 1.16.0
|
||||
Upstream Status: Comitted
|
||||
Origin: Upstream Git Repository
|
||||
Description: Fix a bug in buffer size resetting code.
|
||||
|
||||
diff --git a/gst/gstbufferpool.c b/gst/gstbufferpool.c
|
||||
index e5c7a5872ab7d0c81a7772b1c95d306714f792c0..619860e63ffa976251329ce89a86bcade364c5d3 100644
|
||||
--- a/gst/gstbufferpool.c
|
||||
+++ b/gst/gstbufferpool.c
|
||||
@@ -1222,8 +1222,11 @@ default_reset_buffer (GstBufferPool * pool, GstBuffer * buffer)
|
||||
GST_BUFFER_OFFSET_END (buffer) = GST_BUFFER_OFFSET_NONE;
|
||||
|
||||
/* if the memory is intact reset the size to the full size */
|
||||
- if (!GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_TAG_MEMORY))
|
||||
- gst_buffer_resize (buffer, 0, pool->priv->size);
|
||||
+ if (!GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_TAG_MEMORY)) {
|
||||
+ gsize offset;
|
||||
+ gst_buffer_get_sizes (buffer, &offset, NULL);
|
||||
+ gst_buffer_resize (buffer, -offset, pool->priv->size);
|
||||
+ }
|
||||
|
||||
/* remove all metadata without the POOLED flag */
|
||||
gst_buffer_foreach_meta (buffer, remove_meta_unpooled, pool);
|
||||
diff --git a/tests/check/gst/gstbufferpool.c b/tests/check/gst/gstbufferpool.c
|
||||
index f0c3c8d8e725ba48ef79eb7437fc6ed1fdfb57d1..dd9b2dc033099426ed5ee9626827fb9577acbce2 100644
|
||||
--- a/tests/check/gst/gstbufferpool.c
|
||||
+++ b/tests/check/gst/gstbufferpool.c
|
||||
@@ -190,7 +190,7 @@ GST_START_TEST (test_buffer_modify_discard)
|
||||
gst_buffer_pool_acquire_buffer (pool, &buf, NULL);
|
||||
buffer_track_destroy (buf, &dcount);
|
||||
/* do resize, as we didn't modify the memory, pool should reuse this buffer */
|
||||
- gst_buffer_resize (buf, 5, 2);
|
||||
+ gst_buffer_resize (buf, 8, 2);
|
||||
gst_buffer_unref (buf);
|
||||
|
||||
/* buffer should've gone back into pool */
|
||||
@@ -13,7 +13,7 @@
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>GStreamer streaming media framework runtime</Summary>
|
||||
<Description>GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related.</Description>
|
||||
<Archive sha1sum="ec0627229418081205c4f01427daeb62b8633aa7" type="tarxz">http://ftp.gnome.org/pub/gnome/sources/gstreamer/1.14/gstreamer-1.14.2.tar.xz</Archive>
|
||||
<Archive sha1sum="7a1f4c3758d2e5f4dc7029604f92e00be99120dd" type="tarxz">http://ftp.gnome.org/pub/gnome/sources/gstreamer/1.16/gstreamer-1.16.1.tar.xz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>gobject-introspection-devel</Dependency>
|
||||
<Dependency>bash-completion</Dependency>
|
||||
@@ -51,6 +51,8 @@
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<!-- <Path fileType="doc">/usr/share/gtk-doc</Path> -->
|
||||
<Path fileType="localedata">/usr/share/locale</Path>
|
||||
<Path fileType="data">/usr/share/gstreamer-1.0/gdb</Path>
|
||||
<Path fileType="data">/usr/share/gdb/auto-load/usr/lib/libgstreamer-1.0.so.0.1601.0-gdb.py</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
</Files>
|
||||
<Replaces>
|
||||
@@ -81,6 +83,7 @@
|
||||
<Path fileType="library">/usr/lib32/libgstnet*</Path>
|
||||
<Path fileType="library">/usr/lib32/libgstreamer*</Path>
|
||||
<Path fileType="library">/usr/lib32/gstreamer-1.0</Path>
|
||||
<Path fileType="data">/usr/share/gdb/auto-load/usr/lib32/libgstreamer-1.0.so.0.1601.0-gdb.py</Path>
|
||||
</Files>
|
||||
<Replaces>
|
||||
<Package>gstreamer-next-32bit</Package>
|
||||
@@ -118,6 +121,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="8">
|
||||
<Date>2019-10-05</Date>
|
||||
<Version>1.16.1</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2019-04-24</Date>
|
||||
<Version>1.14.2</Version>
|
||||
|
||||
Reference in New Issue
Block a user