From 8a0637839005bc2fde7258c8ec7dbbbf3d7836b1 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 28 Apr 2020 04:51:03 -0400 Subject: [PATCH] import gstreamer1-plugins-bad-free-1.16.1-1.el8 --- .gitignore | 2 +- .gstreamer1-plugins-bad-free.metadata | 2 +- ...-deadlock-in-multi-instance-scenario.patch | 32 ------------- ...1-rfbdecoder-don-t-free-decoder-data.patch | 34 -------------- ...psrc-avoid-invalid-memory-references.patch | 46 ------------------- SPECS/gstreamer1-plugins-bad-free.spec | 39 ++++++++-------- 6 files changed, 20 insertions(+), 135 deletions(-) delete mode 100644 SOURCES/0001-curlhttpsrc-deadlock-in-multi-instance-scenario.patch delete mode 100644 SOURCES/0001-rfbdecoder-don-t-free-decoder-data.patch delete mode 100644 SOURCES/0002-curlhhtpsrc-avoid-invalid-memory-references.patch diff --git a/.gitignore b/.gitignore index 57c23e1..d4cb90e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/gst-plugins-bad-free-1.14.0.tar.xz +SOURCES/gst-plugins-bad-free-1.16.1.tar.xz diff --git a/.gstreamer1-plugins-bad-free.metadata b/.gstreamer1-plugins-bad-free.metadata index 0d95a86..d16f7a1 100644 --- a/.gstreamer1-plugins-bad-free.metadata +++ b/.gstreamer1-plugins-bad-free.metadata @@ -1 +1 @@ -6882db901c299b654342558e3d7c0384097eeb91 SOURCES/gst-plugins-bad-free-1.14.0.tar.xz +318b749af5a289650e380cbabc0293e422b9a3ba SOURCES/gst-plugins-bad-free-1.16.1.tar.xz diff --git a/SOURCES/0001-curlhttpsrc-deadlock-in-multi-instance-scenario.patch b/SOURCES/0001-curlhttpsrc-deadlock-in-multi-instance-scenario.patch deleted file mode 100644 index aa5098f..0000000 --- a/SOURCES/0001-curlhttpsrc-deadlock-in-multi-instance-scenario.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cb1b143b5b847e2320a58a6eb7af132eba685c9c Mon Sep 17 00:00:00 2001 -From: Jun Xie -Date: Tue, 27 Feb 2018 10:51:07 +0800 -Subject: [PATCH] curlhttpsrc: deadlock in multi-instance scenario - -Fixed queue iterator issue and set context state to -GSTCURL_MULTI_LOOP_STATE_RUNNING in case other -instance are in running state. - -https://bugzilla.gnome.org/show_bug.cgi?id=793863 ---- - ext/curl/gstcurlhttpsrc.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/ext/curl/gstcurlhttpsrc.c b/ext/curl/gstcurlhttpsrc.c -index a47508e62..e60ccf531 100644 ---- a/ext/curl/gstcurlhttpsrc.c -+++ b/ext/curl/gstcurlhttpsrc.c -@@ -1668,8 +1668,10 @@ gst_curl_http_src_curl_multi_loop (gpointer thread_data) - g_mutex_unlock (&qelement->p->buffer_mutex); - gst_curl_http_src_remove_queue_item (&context->queue, qelement->p); - } -+ qelement = qelement->next; - } - context->request_removal_element = NULL; -+ context->state = GSTCURL_MULTI_LOOP_STATE_RUNNING; - g_mutex_unlock (&context->mutex); - } else { - GSTCURL_WARNING_PRINT ("Curl Loop State was invalid or unsupported"); --- -2.17.1 - diff --git a/SOURCES/0001-rfbdecoder-don-t-free-decoder-data.patch b/SOURCES/0001-rfbdecoder-don-t-free-decoder-data.patch deleted file mode 100644 index 0bcd39a..0000000 --- a/SOURCES/0001-rfbdecoder-don-t-free-decoder-data.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e098ad49187296273742dcd0c9c98eca1b351108 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Thu, 16 Aug 2018 11:20:54 +0200 -Subject: [PATCH 1/2] rfbdecoder: don't free decoder data - -The decoder data is freed when we read more data. ---- - gst/librfb/rfbdecoder.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/gst/librfb/rfbdecoder.c b/gst/librfb/rfbdecoder.c -index b3b01f5a7..fa763313a 100644 ---- a/gst/librfb/rfbdecoder.c -+++ b/gst/librfb/rfbdecoder.c -@@ -983,7 +983,6 @@ rfb_decoder_corre_encoding (RfbDecoder * decoder, gint start_x, gint start_y, - - number_of_rectangles = RFB_GET_UINT32 (decoder->data); - color = GUINT32_SWAP_LE_BE ((RFB_GET_UINT32 (decoder->data + 4))); -- g_free (decoder->data); - - GST_DEBUG ("number of rectangles :%d", number_of_rectangles); - -@@ -1003,8 +1002,6 @@ rfb_decoder_corre_encoding (RfbDecoder * decoder, gint start_x, gint start_y, - - /* draw the rectangle in the foreground */ - rfb_decoder_fill_rectangle (decoder, start_x + x, start_y + y, w, h, color); -- -- g_free (decoder->data); - } - - return TRUE; --- -2.17.1 - diff --git a/SOURCES/0002-curlhhtpsrc-avoid-invalid-memory-references.patch b/SOURCES/0002-curlhhtpsrc-avoid-invalid-memory-references.patch deleted file mode 100644 index bd197e8..0000000 --- a/SOURCES/0002-curlhhtpsrc-avoid-invalid-memory-references.patch +++ /dev/null @@ -1,46 +0,0 @@ -From cb16d0b239ef3173bf356a6fe86f30403f285941 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Thu, 16 Aug 2018 11:42:25 +0200 -Subject: [PATCH 2/2] curlhhtpsrc: avoid invalid memory references - -gst_curl_http_src_remove_queue_item() can free qelement and then -we get an invalid memory reference when we do qelement->next a -couple of lines below. Take the next pointer earlier so that we can -safely free. ---- - ext/curl/gstcurlhttpsrc.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/ext/curl/gstcurlhttpsrc.c b/ext/curl/gstcurlhttpsrc.c -index e60ccf531..c1a0bcf5c 100644 ---- a/ext/curl/gstcurlhttpsrc.c -+++ b/ext/curl/gstcurlhttpsrc.c -@@ -1509,7 +1509,7 @@ static void - gst_curl_http_src_curl_multi_loop (gpointer thread_data) - { - GstCurlHttpSrcMultiTaskContext *context; -- GstCurlHttpSrcQueueElement *qelement; -+ GstCurlHttpSrcQueueElement *qelement, *qnext; - int i, still_running; - gboolean cond = FALSE; - CURLMsg *curl_message; -@@ -1655,6 +1655,7 @@ gst_curl_http_src_curl_multi_loop (gpointer thread_data) - } else if (context->state == GSTCURL_MULTI_LOOP_STATE_REQUEST_REMOVAL) { - qelement = context->queue; - while (qelement != NULL) { -+ qnext = qelement->next; - if (qelement->p == context->request_removal_element) { - g_mutex_lock (&qelement->p->buffer_mutex); - curl_multi_remove_handle (context->multi_handle, -@@ -1668,7 +1669,7 @@ gst_curl_http_src_curl_multi_loop (gpointer thread_data) - g_mutex_unlock (&qelement->p->buffer_mutex); - gst_curl_http_src_remove_queue_item (&context->queue, qelement->p); - } -- qelement = qelement->next; -+ qelement = qnext; - } - context->request_removal_element = NULL; - context->state = GSTCURL_MULTI_LOOP_STATE_RUNNING; --- -2.17.1 - diff --git a/SPECS/gstreamer1-plugins-bad-free.spec b/SPECS/gstreamer1-plugins-bad-free.spec index ae30263..5ec7e1c 100644 --- a/SPECS/gstreamer1-plugins-bad-free.spec +++ b/SPECS/gstreamer1-plugins-bad-free.spec @@ -13,8 +13,8 @@ #global shortcommit %(c=%{gitcommit}; echo ${c:0:5}) Name: gstreamer1-plugins-bad-free -Version: 1.14.0 -Release: 5%{?gitcommit:.git%{shortcommit}}%{?dist} +Version: 1.16.1 +Release: 1%{?gitcommit:.git%{shortcommit}}%{?dist} Summary: GStreamer streaming media framework "bad" plugins License: LGPLv2+ and LGPLv2 @@ -32,9 +32,6 @@ Source0: gst-plugins-bad-free-%{version}.tar.xz Source1: gst-p-bad-cleanup.sh #upstream patches -Patch0: 0001-rfbdecoder-don-t-free-decoder-data.patch -Patch1: 0001-curlhttpsrc-deadlock-in-multi-instance-scenario.patch -Patch2: 0002-curlhhtpsrc-avoid-invalid-memory-references.patch BuildRequires: gstreamer1-devel >= %{version} BuildRequires: gstreamer1-plugins-base-devel >= %{version} @@ -53,7 +50,6 @@ BuildRequires: ladspa-devel BuildRequires: lcms2-devel BuildRequires: libdvdnav-devel BuildRequires: libexif-devel -BuildRequires: libiptcdata-devel BuildRequires: libmpcdec-devel BuildRequires: librsvg2-devel BuildRequires: libsndfile-devel @@ -69,7 +65,7 @@ BuildRequires: opus-devel BuildRequires: nettle-devel BuildRequires: libgcrypt-devel %if 0%{?fedora} || 0%{?rhel} > 7 -BuildRequires: libwayland-client-devel +BuildRequires: wayland-devel %endif BuildRequires: gnutls-devel BuildRequires: libsrtp-devel @@ -188,14 +184,11 @@ aren't tested well enough, or the code is not of good enough quality. %prep %setup -q -n gst-plugins-bad-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 %build %configure --disable-silent-rules --disable-fatal-warnings \ - --with-package-name="Fedora GStreamer-plugins-bad package" \ - --with-package-origin="http://download.fedoraproject.org" \ + --with-package-name="GStreamer-plugins-bad package" \ + --with-package-origin="http://www.redhat.com" \ %{!?with_extras:--disable-fbdev --disable-decklink --disable-linsys} \ --enable-debug --disable-static --enable-gtk-doc --enable-experimental \ --disable-dts --disable-faac --disable-faad --disable-nas \ @@ -283,13 +276,13 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';' %{_libdir}/libgstadaptivedemux-%{majorminor}.so.* %{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.* %{_libdir}/libgstbadaudio-%{majorminor}.so.* -%{_libdir}/libgstbadvideo-%{majorminor}.so.* %{_libdir}/libgstcodecparsers-%{majorminor}.so.* %{_libdir}/libgstinsertbin-%{majorminor}.so.* %{_libdir}/libgstisoff-%{majorminor}.so.* %{_libdir}/libgstmpegts-%{majorminor}.so.* %{_libdir}/libgstplayer-%{majorminor}.so.* %{_libdir}/libgstphotography-%{majorminor}.so.* +%{_libdir}/libgstsctp-%{majorminor}.so.* %{_libdir}/libgsturidownloader-%{majorminor}.so.* %{_libdir}/libgstwebrtc-%{majorminor}.so.* %if 0%{?fedora} || 0%{?rhel} > 7 @@ -316,7 +309,6 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';' %{_libdir}/gstreamer-%{majorminor}/libgstbayer.so %{_libdir}/gstreamer-%{majorminor}/libgstcamerabin.so %{_libdir}/gstreamer-%{majorminor}/libgstcoloreffects.so -%{_libdir}/gstreamer-%{majorminor}/libgstcompositor.so %{_libdir}/gstreamer-%{majorminor}/libgstdashdemux.so %{_libdir}/gstreamer-%{majorminor}/libgstfaceoverlay.so %if %{with extras} @@ -360,7 +352,6 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';' %{_libdir}/gstreamer-%{majorminor}/libgstsmooth.so %{_libdir}/gstreamer-%{majorminor}/libgstsmoothstreaming.so %{_libdir}/gstreamer-%{majorminor}/libgstspeed.so -%{_libdir}/gstreamer-%{majorminor}/libgststereo.so %{_libdir}/gstreamer-%{majorminor}/libgstsubenc.so %{_libdir}/gstreamer-%{majorminor}/libgsttimecode.so %{_libdir}/gstreamer-%{majorminor}/libgstuvch264.so @@ -374,19 +365,17 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';' # System (Linux) specific plugins %{_libdir}/gstreamer-%{majorminor}/libgstdvb.so -%{_libdir}/gstreamer-%{majorminor}/libgstvcdsrc.so # Plugins with external dependencies %{_libdir}/gstreamer-%{majorminor}/libgstbluez.so %{_libdir}/gstreamer-%{majorminor}/libgstbz2.so +%{_libdir}/gstreamer-%{majorminor}/libgstclosedcaption.so %{_libdir}/gstreamer-%{majorminor}/libgstcolormanagement.so %{_libdir}/gstreamer-%{majorminor}/libgstdtls.so %{_libdir}/gstreamer-%{majorminor}/libgsthls.so %{_libdir}/gstreamer-%{majorminor}/libgstgsm.so %{_libdir}/gstreamer-%{majorminor}/libgstkms.so %{_libdir}/gstreamer-%{majorminor}/libgstladspa.so -%{_libdir}/gstreamer-%{majorminor}/libgstmusepack.so -%{_libdir}/gstreamer-%{majorminor}/libgstopenglmixers.so %{_libdir}/gstreamer-%{majorminor}/libgstopusparse.so %{_libdir}/gstreamer-%{majorminor}/libgstsndfile.so %{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so @@ -446,13 +435,13 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';' %{_libdir}/libgstadaptivedemux-%{majorminor}.so %{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so %{_libdir}/libgstbadaudio-%{majorminor}.so -%{_libdir}/libgstbadvideo-%{majorminor}.so %{_libdir}/libgstcodecparsers-%{majorminor}.so %{_libdir}/libgstinsertbin-%{majorminor}.so %{_libdir}/libgstisoff-%{majorminor}.so %{_libdir}/libgstmpegts-%{majorminor}.so %{_libdir}/libgstplayer-%{majorminor}.so %{_libdir}/libgstphotography-%{majorminor}.so +%{_libdir}/libgstsctp-%{majorminor}.so %{_libdir}/libgsturidownloader-%{majorminor}.so %{_libdir}/libgstwebrtc-%{majorminor}.so %if 0%{?fedora} || 0%{?rhel} > 7 @@ -467,22 +456,30 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';' %{_includedir}/gstreamer-%{majorminor}/gst/isoff/ %{_includedir}/gstreamer-%{majorminor}/gst/mpegts %{_includedir}/gstreamer-%{majorminor}/gst/player +%{_includedir}/gstreamer-%{majorminor}/gst/sctp %{_includedir}/gstreamer-%{majorminor}/gst/uridownloader -%{_includedir}/gstreamer-%{majorminor}/gst/video %{_includedir}/gstreamer-%{majorminor}/gst/webrtc/ # pkg-config files %{_libdir}/pkgconfig/gstreamer-bad-audio-%{majorminor}.pc -%{_libdir}/pkgconfig/gstreamer-bad-video-%{majorminor}.pc %{_libdir}/pkgconfig/gstreamer-codecparsers-%{majorminor}.pc %{_libdir}/pkgconfig/gstreamer-insertbin-%{majorminor}.pc %{_libdir}/pkgconfig/gstreamer-mpegts-%{majorminor}.pc %{_libdir}/pkgconfig/gstreamer-player-%{majorminor}.pc %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-sctp-%{majorminor}.pc %{_libdir}/pkgconfig/gstreamer-webrtc-%{majorminor}.pc %changelog +* Mon Nov 18 2019 Wim Taymans - 1.16.1-1 +- Update to 1.16.1 +- Remove upstreamed patches +- Remove dependency on removed package +- Add sctp and closedcaption plugins +- The vcdsrc plugin was removed +- Resolves: rhbz#1756299 + * Thu Aug 16 2018 Wim Taymans - 1.14.0-5 - Fixes for problems found by covscan - Resolves: rhbz#1602534