From eeb34a47c882da29a98c50855c64bf31650036ae Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 2 Nov 2021 09:32:58 -0400 Subject: [PATCH] import gstreamer1-plugins-bad-free-1.18.4-5.el9 --- .gitignore | 1 + .gstreamer1-plugins-bad-free.metadata | 1 + .../0001-No-va-test-when-va-disabled.patch | 27 + ...eck-opencv_dep-if-option-is-not-disa.patch | 32 + ...-custom-VK_DEFINE_NON_DISPATCHABLE_H.patch | 239 ++++ SOURCES/gst-p-bad-cleanup.sh | 195 +++ SPECS/gstreamer1-plugins-bad-free.spec | 1157 +++++++++++++++++ 7 files changed, 1652 insertions(+) create mode 100644 .gitignore create mode 100644 .gstreamer1-plugins-bad-free.metadata create mode 100644 SOURCES/0001-No-va-test-when-va-disabled.patch create mode 100644 SOURCES/0001-examples-only-check-opencv_dep-if-option-is-not-disa.patch create mode 100644 SOURCES/0001-vulkan-provide-a-custom-VK_DEFINE_NON_DISPATCHABLE_H.patch create mode 100755 SOURCES/gst-p-bad-cleanup.sh create mode 100644 SPECS/gstreamer1-plugins-bad-free.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d941f0c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/gst-plugins-bad-free-1.18.4.tar.xz diff --git a/.gstreamer1-plugins-bad-free.metadata b/.gstreamer1-plugins-bad-free.metadata new file mode 100644 index 0000000..30236b2 --- /dev/null +++ b/.gstreamer1-plugins-bad-free.metadata @@ -0,0 +1 @@ +c8b36955ec53ee69e60c0e25d5340104f41e369b SOURCES/gst-plugins-bad-free-1.18.4.tar.xz diff --git a/SOURCES/0001-No-va-test-when-va-disabled.patch b/SOURCES/0001-No-va-test-when-va-disabled.patch new file mode 100644 index 0000000..1f1fd9c --- /dev/null +++ b/SOURCES/0001-No-va-test-when-va-disabled.patch @@ -0,0 +1,27 @@ +From 3e57512bea64ae9d231441caae96037a96aef2bf Mon Sep 17 00:00:00 2001 +From: Troy Dawson +Date: Mon, 19 Oct 2020 14:09:32 -0700 +Subject: [PATCH] No va test when va disabled + +--- + tests/examples/meson.build | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tests/examples/meson.build b/tests/examples/meson.build +index a41fc16..a73c81d 100644 +--- a/tests/examples/meson.build ++++ b/tests/examples/meson.build +@@ -13,7 +13,9 @@ if not get_option('opencv').disabled() + subdir('opencv', if_found: opencv_dep) + endif + subdir('uvch264') +-subdir('va') ++if not get_option('va').disabled() ++ subdir('va') ++endif + subdir('waylandsink') + subdir('webrtc') + +-- +2.18.4 + diff --git a/SOURCES/0001-examples-only-check-opencv_dep-if-option-is-not-disa.patch b/SOURCES/0001-examples-only-check-opencv_dep-if-option-is-not-disa.patch new file mode 100644 index 0000000..a5f1fc2 --- /dev/null +++ b/SOURCES/0001-examples-only-check-opencv_dep-if-option-is-not-disa.patch @@ -0,0 +1,32 @@ +From 9815fd1e2ab13f765b75b39e3764fe1e860cb251 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Thu, 10 Sep 2020 10:35:11 -0700 +Subject: [PATCH] examples: only check opencv_dep if option is not disabled + (#1406) + +We can't check opencv_dep if the option is disabled because it's +never initialized in that case, since 833a65cc . + +Signed-off-by: Adam Williamson +--- + tests/examples/meson.build | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tests/examples/meson.build b/tests/examples/meson.build +index 2eba1d47e..a41fc1679 100644 +--- a/tests/examples/meson.build ++++ b/tests/examples/meson.build +@@ -9,7 +9,9 @@ subdir('mpegts') + subdir('msdk') + subdir('mxf') + subdir('nvcodec') +-subdir('opencv', if_found: opencv_dep) ++if not get_option('opencv').disabled() ++ subdir('opencv', if_found: opencv_dep) ++endif + subdir('uvch264') + subdir('va') + subdir('waylandsink') +-- +2.28.0 + diff --git a/SOURCES/0001-vulkan-provide-a-custom-VK_DEFINE_NON_DISPATCHABLE_H.patch b/SOURCES/0001-vulkan-provide-a-custom-VK_DEFINE_NON_DISPATCHABLE_H.patch new file mode 100644 index 0000000..f13660d --- /dev/null +++ b/SOURCES/0001-vulkan-provide-a-custom-VK_DEFINE_NON_DISPATCHABLE_H.patch @@ -0,0 +1,239 @@ +From 3abf31c7cf5b38dc4425b79d30c8f582d325010b Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Wed, 31 Mar 2021 16:18:04 +0200 +Subject: [PATCH] vulkan: provide a custom VK_DEFINE_NON_DISPATCHABLE_HANDLE + +If the application did not define one yet, define our own +VK_DEFINE_NON_DISPATCHABLE_HANDLE that is independent of the +architecture. + +Vulkan, by default, provides a define that depends on the architecture, +which causes the symbol type to be different. This causes an +architecture dependent .gir file, which then causes multilib +installation problems because the .gir files can't be shared. + +Make it possible to override the format specifier and provide +a default one that is compatible with the default non dispatchable +handle. + +Return VK_NULL_HANDLE from functions that return a non-dispatchable +handle. + +Fixes #1566 + +Part-of: +--- + .../gst/vulkan/android/gstvkwindow_android.c | 4 ++-- + gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m | 4 ++-- + gst-libs/gst/vulkan/gstvkapi.h | 18 ++++++++++++++++++ + gst-libs/gst/vulkan/gstvkhandle.h | 7 ++++--- + gst-libs/gst/vulkan/ios/gstvkwindow_ios.m | 6 +++--- + .../gst/vulkan/wayland/gstvkwindow_wayland.c | 4 ++-- + gst-libs/gst/vulkan/win32/gstvkwindow_win32.c | 4 ++-- + gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c | 4 ++-- + sys/applemedia/videotexturecache-vulkan.mm | 4 ++-- + 9 files changed, 37 insertions(+), 18 deletions(-) + +diff --git a/gst-libs/gst/vulkan/android/gstvkwindow_android.c b/gst-libs/gst/vulkan/android/gstvkwindow_android.c +index c1bd866ac..20a1c9cbe 100644 +--- a/gst-libs/gst/vulkan/android/gstvkwindow_android.c ++++ b/gst-libs/gst/vulkan/android/gstvkwindow_android.c +@@ -163,14 +163,14 @@ gst_vulkan_window_android_get_surface (GstVulkanWindow * window, + if (!window_android->CreateAndroidSurface) { + g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT, + "Could not retrieve \"vkCreateAndroidSurfaceKHR\" function pointer"); +- return 0; ++ return VK_NULL_HANDLE; + } + + err = + window_android->CreateAndroidSurface (window->display->instance->instance, + &info, NULL, &ret); + if (gst_vulkan_error_to_g_error (err, error, "vkCreateAndroidSurfaceKHR") < 0) +- return 0; ++ return VK_NULL_HANDLE; + + return ret; + } +diff --git a/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m b/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m +index f00726267..e95da1278 100644 +--- a/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m ++++ b/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m +@@ -226,14 +226,14 @@ gst_vulkan_window_cocoa_get_surface (GstVulkanWindow * window, GError ** error) + if (!window_cocoa->CreateMacOSSurface) { + g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT, + "Could not retrieve \"vkCreateMacOSSurfaceMVK\" function pointer"); +- return NULL; ++ return VK_NULL_HANDLE; + } + + err = + window_cocoa->CreateMacOSSurface (window->display->instance->instance, &info, + NULL, &ret); + if (gst_vulkan_error_to_g_error (err, error, "vkCreateMacOSSurfaceMVK") < 0) +- return NULL; ++ return VK_NULL_HANDLE; + + return ret; + } +diff --git a/gst-libs/gst/vulkan/gstvkapi.h b/gst-libs/gst/vulkan/gstvkapi.h +index 9d223201f..5889a7d2e 100644 +--- a/gst-libs/gst/vulkan/gstvkapi.h ++++ b/gst-libs/gst/vulkan/gstvkapi.h +@@ -31,6 +31,24 @@ + #include + #include + ++/** ++ * VK_DEFINE_NON_DISPATCHABLE_HANDLE: ++ * ++ * Allow applications to override the VK_DEFINE_NON_DISPATCHABLE_HANDLE ++ * but provide our own version otherwise. The default vulkan define ++ * provides a different symbol type depending on the architecture and ++ * this causes multilib problems because the generated .gir files are ++ * different. ++ * ++ * Also make sure to provide a suitable GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT ++ * implementation when redefining VK_DEFINE_NON_DISPATCHABLE_HANDLE. ++ * ++ * Since: 1.20 ++ */ ++#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) ++#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; ++#endif ++ + #include + + #endif /* __GST_VULKAN_API_H__ */ +diff --git a/gst-libs/gst/vulkan/gstvkhandle.h b/gst-libs/gst/vulkan/gstvkhandle.h +index 885b4bc71..2aa6f01f7 100644 +--- a/gst-libs/gst/vulkan/gstvkhandle.h ++++ b/gst-libs/gst/vulkan/gstvkhandle.h +@@ -54,11 +54,12 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(GstVulkanHandleTypedef) + * + * The printf format specifier for raw Vulkan non dispatchable handles. + * ++ * When redefining VK_DEFINE_NON_DISPATCHABLE_HANDLE, also make sure ++ * to redefine a suitable printf format specifier. ++ * + * Since: 1.18 + */ +-#if GLIB_SIZEOF_VOID_P == 8 +-# define GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT "p" +-#else ++#if !defined(GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT) + # define GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT G_GUINT64_FORMAT + #endif + +diff --git a/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m b/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m +index 84fc33deb..3bc8e167d 100644 +--- a/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m ++++ b/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m +@@ -203,7 +203,7 @@ gst_vulkan_window_ios_get_surface (GstVulkanWindow * window, GError ** error) + g_set_error_literal (error, GST_VULKAN_ERROR, + VK_ERROR_INITIALIZATION_FAILED, + "No layer to retrieve surface for. Has create_window() been called?"); +- return 0; ++ return VK_NULL_HANDLE; + } + + info.sType = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK; +@@ -218,14 +218,14 @@ gst_vulkan_window_ios_get_surface (GstVulkanWindow * window, GError ** error) + if (!window_ios->CreateIOSSurface) { + g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT, + "Could not retrieve \"vkCreateIOSSurfaceMVK\" function pointer"); +- return 0; ++ return VK_NULL_HANDLE; + } + + err = + window_ios->CreateIOSSurface (window->display->instance->instance, &info, + NULL, &ret); + if (gst_vulkan_error_to_g_error (err, error, "vkCreateIOSSurfaceMVK") < 0) +- return 0; ++ return VK_NULL_HANDLE; + + return ret; + } +diff --git a/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c b/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c +index eda063de9..c55bd3f8c 100644 +--- a/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c ++++ b/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c +@@ -268,14 +268,14 @@ gst_vulkan_window_wayland_get_surface (GstVulkanWindow * window, + if (!window_wl->CreateWaylandSurface) { + g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT, + "Could not retrieve \"vkCreateWaylandSurfaceKHR\" function pointer"); +- return NULL; ++ return VK_NULL_HANDLE; + } + + err = + window_wl->CreateWaylandSurface (window->display->instance->instance, + &info, NULL, &ret); + if (gst_vulkan_error_to_g_error (err, error, "vkCreateWaylandSurfaceKHR") < 0) +- return NULL; ++ return VK_NULL_HANDLE; + + return ret; + } +diff --git a/gst-libs/gst/vulkan/win32/gstvkwindow_win32.c b/gst-libs/gst/vulkan/win32/gstvkwindow_win32.c +index 57e2c663f..dd8767155 100644 +--- a/gst-libs/gst/vulkan/win32/gstvkwindow_win32.c ++++ b/gst-libs/gst/vulkan/win32/gstvkwindow_win32.c +@@ -393,7 +393,7 @@ gst_vulkan_window_win32_get_surface (GstVulkanWindow * window, GError ** error) + if (!window_win32->CreateWin32Surface) { + g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT, + "Could not retrieve \"vkCreateWin32SurfaceKHR\" function pointer"); +- return NULL; ++ return VK_NULL_HANDLE; + } + + err = +@@ -401,7 +401,7 @@ gst_vulkan_window_win32_get_surface (GstVulkanWindow * window, GError ** error) + &info, NULL, &ret); + + if (gst_vulkan_error_to_g_error (err, error, "vkCreateWin32SurfaceKHR") < 0) +- return NULL; ++ return VK_NULL_HANDLE; + + return ret; + } +diff --git a/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c b/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c +index b0f1ab4d0..4021fe718 100644 +--- a/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c ++++ b/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c +@@ -283,14 +283,14 @@ gst_vulkan_window_xcb_get_surface (GstVulkanWindow * window, GError ** error) + if (!window_xcb->CreateXcbSurface) { + g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT, + "Could not retrieve \"vkCreateXcbSurfaceKHR\" function pointer"); +- return NULL; ++ return VK_NULL_HANDLE; + } + + err = + window_xcb->CreateXcbSurface (window->display->instance->instance, &info, + NULL, &ret); + if (gst_vulkan_error_to_g_error (err, error, "vkCreateXcbSurfaceKHR") < 0) +- return NULL; ++ return VK_NULL_HANDLE; + + return ret; + } +diff --git a/sys/applemedia/videotexturecache-vulkan.mm b/sys/applemedia/videotexturecache-vulkan.mm +index ac0c1e712..6ea77d276 100644 +--- a/sys/applemedia/videotexturecache-vulkan.mm ++++ b/sys/applemedia/videotexturecache-vulkan.mm +@@ -292,8 +292,8 @@ gst_io_surface_vulkan_memory_set_surface (GstIOSurfaceVulkanMemory * memory, + texture_data->texture = (__bridge_retained gpointer) texture; + + VkResult err = vkSetMTLTextureMVK (memory->vulkan_mem.image, texture); +- GST_DEBUG ("bound texture %p to image %p: 0x%x", texture, memory->vulkan_mem.image, +- err); ++ GST_DEBUG ("bound texture %p to image %"GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT": 0x%x", ++ texture, memory->vulkan_mem.image, err); + + vk_mem->user_data = texture_data; + vk_mem->notify = (GDestroyNotify) free_texture_wrapper; +-- +2.31.1 + diff --git a/SOURCES/gst-p-bad-cleanup.sh b/SOURCES/gst-p-bad-cleanup.sh new file mode 100755 index 0000000..2f8d8b7 --- /dev/null +++ b/SOURCES/gst-p-bad-cleanup.sh @@ -0,0 +1,195 @@ +#!/bin/sh + +# Process a gst-plugins-bad tarball to remove +# unwanted GStreamer plugins. +# +# See https://bugzilla.redhat.com/show_bug.cgi?id=532470 +# for details +# +# Bastien Nocera - 2010 +# + +SOURCE="$1" +NEW_SOURCE=`echo $SOURCE | sed 's/bad-/bad-free-/'` +DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'` + +ALLOWED=" +aacparse +accurip +adpcmdec +adpcmenc +aiff +aiffparse +amrparse +asfmux +audiobuffersplit +audiofxbad +audiolatency +audiomixer +audiomixmatrix +audioparsers +audiovisualizers +autoconvert +bayer +camerabin +camerabin2 +cdxaparse +coloreffects +colorspace +compositor +dataurisrc +dccp +debugutils +dtmf +dvbsubenc +faceoverlay +festival +fieldanalysis +freeverb +freeze +frei0r +gaudieffects +gdp +geometrictransform +h264parse +hdvparse +hls +id3tag +inter +interlace +invtelecine +ivfparse +ivtc +jpegformat +jp2kdecimator +legacyresample +librfb +liveadder +midi +mve +mpegdemux +mpeg4videoparse +mpegpsmux +mpegtsdemux +mpegtsmux +mpegvideoparse +mxf +netsim +nsf +nuvdemux +onvif +patchdetect +pcapparse +pnm +proxy +qtmux +rawparse +removesilence +rist +rtmp2 +rtp +rtpmux +rtpvp8 +scaletempo +sdi +sdp +segmentclip +selector +smooth +speed +stereo +subenc +switchbin +timecode +transcode +tta +valve +videofilters +videoframe_audiolevel +videomaxrate +videomeasure +videoparsers +videosignal +vmnc +yadif +y4m +" + +NOT_ALLOWED=" +dvbsuboverlay +dvdspu +real +siren +" + +error() +{ + MESSAGE=$1 + echo $MESSAGE + exit 1 +} + +check_allowed() +{ + MODULE=$1 + for i in $ALLOWED ; do + if test x$MODULE = x$i ; then + return 0; + fi + done + # Ignore errors coming from ext/ directory + # they require external libraries so are ineffective anyway + return 1; +} + +check_not_allowed() +{ + MODULE=$1 + for i in $NOT_ALLOWED ; do + if test x$MODULE = x$i ; then + return 0; + fi + done + return 1; +} + +rm -rf $DIRECTORY +tar xJf $SOURCE || error "Cannot unpack $SOURCE" +pushd $DIRECTORY > /dev/null || error "Cannot open directory \"$DIRECTORY\"" + +unknown="" +for subdir in gst ext sys; do + for dir in $subdir/* ; do + # Don't touch non-directories + if ! [ -d $dir ] ; then + continue; + fi + MODULE=`basename $dir` + if ( check_not_allowed $MODULE ) ; then + echo "**** Removing $MODULE ****" + echo "Removing directory $dir" + rm -r $dir || error "Cannot remove $dir" + echo + elif test $subdir = ext || test $subdir = sys; then + # Ignore library or system non-blacklisted plugins + continue; + elif ! ( check_allowed $MODULE ) ; then + echo "Unknown module in $dir" + unknown="$unknown $dir" + fi + done +done + +echo + +if test "x$unknown" != "x"; then + echo -n "Aborting due to unkown modules: " + echo "$unknown" | sed "s/ /\n /g" + exit 1 +fi + +popd > /dev/null + +tar cJf $NEW_SOURCE $DIRECTORY +echo "$NEW_SOURCE is ready to use" + diff --git a/SPECS/gstreamer1-plugins-bad-free.spec b/SPECS/gstreamer1-plugins-bad-free.spec new file mode 100644 index 0000000..f752afe --- /dev/null +++ b/SPECS/gstreamer1-plugins-bad-free.spec @@ -0,0 +1,1157 @@ +%global majorminor 1.0 +%global _gobject_introspection 1.31.1 + +# Only have extras package on fedora +%if 0%{?fedora} +%bcond_without extras +%else +%bcond_with extras +%endif + +#global gitrel 140 +#global gitcommit 4ca3a22b6b33ad8be4383063e76f79c4d346535d +#global shortcommit %(c=%{gitcommit}; echo ${c:0:5}) + +Name: gstreamer1-plugins-bad-free +Version: 1.18.4 +Release: 5%{?gitcommit:.git%{shortcommit}}%{?dist} +Summary: GStreamer streaming media framework "bad" plugins + +License: LGPLv2+ and LGPLv2 +URL: http://gstreamer.freedesktop.org/ +%if 0%{?gitrel} +# git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-good +# cd gst-plugins-good; git reset --hard %{gitcommit}; ./autogen.sh; make; make distcheck +# modified with gst-p-bad-cleanup.sh from SOURCE1 +%else +# The source is: +# http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%{version}.tar.xz +# modified with gst-p-bad-cleanup.sh from SOURCE1 +%endif +Source0: gst-plugins-bad-free-%{version}.tar.xz +Source1: gst-p-bad-cleanup.sh +# Fix build failure with opencv disabled: +# https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1406 +# https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1570 +Patch0: 0001-examples-only-check-opencv_dep-if-option-is-not-disa.patch +# Fix build failure with va disabled: +Patch1: 0001-No-va-test-when-va-disabled.patch +# upstream patches +Patch2: 0001-vulkan-provide-a-custom-VK_DEFINE_NON_DISPATCHABLE_H.patch + +BuildRequires: meson >= 0.48.0 +BuildRequires: gcc-c++ +BuildRequires: gstreamer1-devel >= %{version} +BuildRequires: gstreamer1-plugins-base-devel >= %{version} + +BuildRequires: check +BuildRequires: gettext-devel +BuildRequires: libXt-devel +BuildRequires: gobject-introspection-devel >= %{_gobject_introspection} + +BuildRequires: bzip2-devel +BuildRequires: exempi-devel +%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9 +BuildRequires: fdk-aac-free-devel +%endif +BuildRequires: gsm-devel +BuildRequires: jasper-devel +BuildRequires: lcms2-devel +BuildRequires: libdvdnav-devel +BuildRequires: libexif-devel +BuildRequires: librsvg2-devel +BuildRequires: libsndfile-devel +BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libGLES-devel +BuildRequires: mesa-libGLU-devel +BuildRequires: openssl-devel +BuildRequires: orc-devel +BuildRequires: soundtouch-devel +BuildRequires: wavpack-devel +BuildRequires: opus-devel +BuildRequires: nettle-devel +BuildRequires: libgcrypt-devel +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: wayland-devel +%endif +BuildRequires: gnutls-devel +BuildRequires: libsrtp-devel +BuildRequires: pkgconfig(gudev-1.0) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: gtk3-devel >= 3.4 +BuildRequires: bluez-libs-devel >= 5.0 +BuildRequires: libwebp-devel +BuildRequires: mesa-libEGL-devel +BuildRequires: vulkan-devel +#BuildRequires: mesa-vulkan-devel +BuildRequires: webrtc-audio-processing-devel +%if 0 +BuildRequires: wpewebkit-devel +BuildRequires: wpebackend-fdo-devel +%endif +BuildRequires: glslc +BuildRequires: libdrm-devel + +%if %{with extras} +BuildRequires: ladspa-devel +BuildRequires: libmicrodns-devel +BuildRequires: liblrdf-devel +BuildRequires: srt-devel +BuildRequires: zvbi-devel +BuildRequires: libopenmpt-devel +BuildRequires: libaom-devel +BuildRequires: libbs2b-devel >= 3.1.0 +## Plugins not ported +#BuildRequires: dirac-devel +#BuildRequires: gmyth-devel >= 0.4 +BuildRequires: fluidsynth-devel +BuildRequires: libass-devel +BuildRequires: libchromaprint-devel +## Plugin not ported +#BuildRequires: libcdaudio-devel +BuildRequires: libcurl-devel +BuildRequires: libssh2-devel +BuildRequires: libxml2-devel +BuildRequires: game-music-emu-devel +BuildRequires: libkate-devel +BuildRequires: libmodplug-devel +BuildRequires: libofa-devel +## Plugins not ported +#BuildRequires: libmusicbrainz-devel +#BuildRequires: libtimidity-devel +BuildRequires: libvdpau-devel +BuildRequires: libva-devel +BuildRequires: openal-soft-devel +## If enabled, adds ~90 additional deps; perhaps can be moved to a +## subpackage? +#BuildRequires: opencv-devel +BuildRequires: openjpeg2-devel +BuildRequires: pkgconfig(spandsp) >= 0.0.6 +## Plugins not ported +#BuildRequires: SDL-devel +BuildRequires: lilv-devel +BuildRequires: wildmidi-devel +BuildRequires: zbar-devel +BuildRequires: OpenEXR-devel +BuildRequires: libnice-devel +%endif + +%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9 +# libgstfdkaac.so used to be shipped in -nonfree +Obsoletes: gstreamer1-plugins-bad-nonfree < 1.16.1-2 +%endif + +# Drop after f36 +Provides: gst-transcoder = 1.16.0-4 +Obsoletes: gst-transcoder < 1.16.0-4 + +%description +GStreamer is a streaming media framework, based on graphs of elements which +operate on media data. + +This package contains plug-ins that aren't tested well enough, or the code +is not of good enough quality. + + +%if %{with extras} +%package extras +Summary: Extra GStreamer "bad" plugins (less often used "bad" plugins) +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description extras +GStreamer is a streaming media framework, based on graphs of elements which +operate on media data. + +gstreamer-plugins-bad contains plug-ins that aren't tested well enough, +or the code is not of good enough quality. + +This package (%{name}-extras) contains +extra "bad" plugins for sources (mythtv), sinks (fbdev) and +effects (pitch) which are not used very much and require additional +libraries to be installed. + +%package zbar +Summary: GStreamer "bad" plugins zbar plugin +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description zbar +GStreamer is a streaming media framework, based on graphs of elements which +operate on media data. + +gstreamer-plugins-bad contains plug-ins that aren't tested well enough, +or the code is not of good enough quality. + +This package (%{name}-zbar) contains the zbar +plugin which allows decode bar codes. + +%package fluidsynth +Summary: GStreamer "bad" plugins fluidsynth plugin +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: soundfont2-default + +%description fluidsynth +GStreamer is a streaming media framework, based on graphs of elements which +operate on media data. + +gstreamer-plugins-bad contains plug-ins that aren't tested well enough, +or the code is not of good enough quality. + +This package (%{name}-fluidsynth) contains the fluidsynth +plugin which allows playback of midi files. + + +%package wildmidi +Summary: GStreamer "bad" plugins wildmidi plugin +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description wildmidi +GStreamer is a streaming media framework, based on graphs of elements which +operate on media data. + +gstreamer-plugins-bad contains plug-ins that aren't tested well enough, +or the code is not of good enough quality. + +This package (%{name}-wildmidi) contains the wildmidi +plugin which allows playback of midi files. +%endif + + +%package devel +Summary: Development files for the GStreamer media framework "bad" plug-ins +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: gstreamer1-plugins-base-devel + +# Drop after f36 +Provides: gst-transcoder-devel = 1.16.0-4 +Obsoletes: gst-transcoder-devel < 1.16.0-4 + + +%description devel +GStreamer is a streaming media framework, based on graphs of elements which +operate on media data. + +This package contains the development files for the plug-ins that +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 +%meson \ + -D package-name="Fedora GStreamer-plugins-bad package" \ + -D package-origin="http://download.fedoraproject.org" \ + %{!?with_extras:-D fbdev=disabled -D decklink=disabled } \ + %{!?with_extras:-D assrender=disabled -D bs2b=disabled } \ + %{!?with_extras:-D chromaprint=disabled -D d3dvideosink=disabled } \ + %{!?with_extras:-D directsound=disabled -D dts=disabled } \ + %{!?with_extras:-D fluidsynth=disabled -D openexr=disabled } \ + %{!?with_extras:-D curl=disabled -D curl-ssh2=disabled } \ + %{!?with_extras:-D ttml=disabled -D kate=disabled } \ + %{!?with_extras:-D modplug=disabled -D ofa=disabled } \ + %{!?with_extras:-D vdpau=disabled -D openal=disabled } \ + %{!?with_extras:-D opencv=disabled -D openjpeg=disabled } \ + %{!?with_extras:-D wildmidi=disabled -D zbar=disabled } \ + %{!?with_extras:-D gme=disabled -D lv2=disabled } \ + %{!?with_extras:-D webrtc=disabled -D aom=disabled } \ + %{!?with_extras:-D teletext=disabled -D srt=disabled } \ + %{!?with_extras:-D openmpt=disabled -D microdns=disabled } \ + %{!?with_extras:-D ladspa=disabled } \ + -D doc=disabled -D magicleap=disabled -D msdk=disabled \ + -D dts=disabled -D faac=disabled -D faad=disabled \ + -D libmms=disabled -D mpeg2enc=disabled -D mplex=disabled \ + -D neon=disabled -D rtmp=disabled -D rtmp2=disabled \ + -D flite=disabled -D sbc=disabled -D opencv=disabled \ + %{!?with_extras:-D spandsp=disabled -D va=disabled } \ + -D voamrwbenc=disabled -D x265=disabled \ + -D dvbsuboverlay=disabled -D dvdspu=disabled -D siren=disabled \ + -D real=disabled -D opensles=disabled -D tinyalsa=disabled \ + -D wasapi=disabled -D wasapi2=disabled -D avtp=disabled \ + -D dc1394=disabled -D directfb=disabled -D iqa=disabled \ + -D libde265=disabled -D musepack=disabled -D openni2=disabled \ + -D sctp=disabled -D svthevcenc=disabled -D voaacenc=disabled \ + -D zxing=disabled -D wpe=disabled -D x11=disabled \ + -D openh264=disabled + +%meson_build + +%install +%meson_install + +# Register as an AppStream component to be visible in the software center +# +# NOTE: It would be *awesome* if this file was maintained by the upstream +# project, translated and installed into the right place during `make install`. +# +# See http://www.freedesktop.org/software/appstream/docs/ for more details. +# +mkdir -p $RPM_BUILD_ROOT%{_metainfodir} +cat > $RPM_BUILD_ROOT%{_metainfodir}/gstreamer-bad-free.appdata.xml < + + + gstreamer-bad-free + CC0-1.0 + GStreamer Multimedia Codecs - Extra + Multimedia playback for AIFF, DVB, GSM, MIDI, MXF and Opus + +

+ This addon includes several additional codecs that are missing + something - perhaps a good code review, some documentation, a set of + tests, a real live maintainer, or some actual wide use. + However, they might be good enough to play your media files. +

+

+ These codecs can be used to encode and decode media files where the + format is not patent encumbered. +

+

+ A codec decodes audio and video for for playback or editing and is also + used for transmission or storage. + Different codecs are used in video-conferencing, streaming media and + video editing applications. +

+
+ + AIFF + DVB + GSM + MIDI + MXF + Opus + + http://gstreamer.freedesktop.org/ + https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer + http://gstreamer.freedesktop.org/documentation/ + http://www.gnome.org/friends/ + +
+EOF + +%find_lang gst-plugins-bad-%{majorminor} + +# unpackaged files +rm $RPM_BUILD_ROOT%{_bindir}/playout + +%ldconfig_scriptlets + +%files -f gst-plugins-bad-%{majorminor}.lang +%license COPYING +%doc AUTHORS README REQUIREMENTS + +%{_metainfodir}/*.appdata.xml +%{_bindir}/gst-transcoder-%{majorminor} + +# presets +%dir %{_datadir}/gstreamer-%{majorminor}/presets/ +%{_datadir}/gstreamer-%{majorminor}/presets/GstFreeverb.prs +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/device/dvd.gep +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/avi.gep +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/flv.gep +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/mkv.gep +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/mp3.gep +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/mp4.gep +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/oga.gep +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/ogv.gep +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/webm.gep +%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/online-services/youtube.gep + +# opencv data +#{_datadir}/gst-plugins-bad/%{majorminor}/opencv_haarcascades/ + +%{_libdir}/libgstadaptivedemux-%{majorminor}.so.* +%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.* +%{_libdir}/libgstbadaudio-%{majorminor}.so.* +%{_libdir}/libgstcodecparsers-%{majorminor}.so.* +%{_libdir}/libgstcodecs-%{majorminor}.so.* +%{_libdir}/libgstinsertbin-%{majorminor}.so.* +%{_libdir}/libgstisoff-%{majorminor}.so.* +%{_libdir}/libgstmpegts-%{majorminor}.so.* +#{_libdir}/libgstopencv-%{majorminor}.so.* +%{_libdir}/libgstplayer-%{majorminor}.so.* +%{_libdir}/libgstphotography-%{majorminor}.so.* +%{_libdir}/libgstsctp-%{majorminor}.so.* +%{_libdir}/libgsttranscoder-%{majorminor}.so.* +%{_libdir}/libgsturidownloader-%{majorminor}.so.* +%{_libdir}/libgstvulkan-%{majorminor}.so.* +%{_libdir}/libgstwebrtc-%{majorminor}.so.* +%if 0%{?fedora} || 0%{?rhel} > 7 +%{_libdir}/libgstwayland-%{majorminor}.so.* +%endif + +%{_libdir}/girepository-1.0/GstBadAudio-1.0.typelib +%{_libdir}/girepository-1.0/GstCodecs-1.0.typelib +%{_libdir}/girepository-1.0/GstInsertBin-1.0.typelib +%{_libdir}/girepository-1.0/GstMpegts-1.0.typelib +%{_libdir}/girepository-1.0/GstPlayer-1.0.typelib +%{_libdir}/girepository-1.0/GstTranscoder-1.0.typelib +%{_libdir}/girepository-1.0/GstVulkan-1.0.typelib +%{_libdir}/girepository-1.0/GstVulkanWayland-1.0.typelib +%{_libdir}/girepository-1.0/GstWebRTC-1.0.typelib + +# Plugins without external dependencies +%{_libdir}/gstreamer-%{majorminor}/libgstaccurip.so +%{_libdir}/gstreamer-%{majorminor}/libgstadpcmdec.so +%{_libdir}/gstreamer-%{majorminor}/libgstadpcmenc.so +%{_libdir}/gstreamer-%{majorminor}/libgstaiff.so +%{_libdir}/gstreamer-%{majorminor}/libgstasfmux.so +%{_libdir}/gstreamer-%{majorminor}/libgstaudiobuffersplit.so +%{_libdir}/gstreamer-%{majorminor}/libgstaudiofxbad.so +%{_libdir}/gstreamer-%{majorminor}/libgstaudiolatency.so +%{_libdir}/gstreamer-%{majorminor}/libgstaudiomixmatrix.so +%{_libdir}/gstreamer-%{majorminor}/libgstaudiovisualizers.so +%{_libdir}/gstreamer-%{majorminor}/libgstautoconvert.so +%{_libdir}/gstreamer-%{majorminor}/libgstbayer.so +%{_libdir}/gstreamer-%{majorminor}/libgstcamerabin.so +%{_libdir}/gstreamer-%{majorminor}/libgstcoloreffects.so +%{_libdir}/gstreamer-%{majorminor}/libgstdash.so +%{_libdir}/gstreamer-%{majorminor}/libgstdvbsubenc.so +%{_libdir}/gstreamer-%{majorminor}/libgstfaceoverlay.so +%if %{with extras} +%{_libdir}/gstreamer-%{majorminor}/libgstfbdevsink.so +%endif + +%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9 +%{_libdir}/gstreamer-%{majorminor}/libgstfdkaac.so +%endif +%{_libdir}/gstreamer-%{majorminor}/libgstfestival.so +%{_libdir}/gstreamer-%{majorminor}/libgstfieldanalysis.so +%{_libdir}/gstreamer-%{majorminor}/libgstfreeverb.so +%{_libdir}/gstreamer-%{majorminor}/libgstfrei0r.so +%{_libdir}/gstreamer-%{majorminor}/libgstgaudieffects.so +%{_libdir}/gstreamer-%{majorminor}/libgstgdp.so +%{_libdir}/gstreamer-%{majorminor}/libgstgeometrictransform.so +%{_libdir}/gstreamer-%{majorminor}/libgstlegacyrawparse.so +%{_libdir}/gstreamer-%{majorminor}/libgstid3tag.so +%{_libdir}/gstreamer-%{majorminor}/libgstipcpipeline.so +%{_libdir}/gstreamer-%{majorminor}/libgstinter.so +%{_libdir}/gstreamer-%{majorminor}/libgstinterlace.so +%{_libdir}/gstreamer-%{majorminor}/libgstivfparse.so +%{_libdir}/gstreamer-%{majorminor}/libgstivtc.so +%{_libdir}/gstreamer-%{majorminor}/libgstjp2kdecimator.so +%{_libdir}/gstreamer-%{majorminor}/libgstjpegformat.so +%{_libdir}/gstreamer-%{majorminor}/libgstmidi.so +%{_libdir}/gstreamer-%{majorminor}/libgstmpegpsdemux.so +%{_libdir}/gstreamer-%{majorminor}/libgstmpegtsdemux.so +%{_libdir}/gstreamer-%{majorminor}/libgstmpegpsmux.so +%{_libdir}/gstreamer-%{majorminor}/libgstmpegtsmux.so +%{_libdir}/gstreamer-%{majorminor}/libgstmxf.so +%{_libdir}/gstreamer-%{majorminor}/libgstnetsim.so +%{_libdir}/gstreamer-%{majorminor}/libgstpcapparse.so +%{_libdir}/gstreamer-%{majorminor}/libgstpnm.so +%{_libdir}/gstreamer-%{majorminor}/libgstproxy.so +%{_libdir}/gstreamer-%{majorminor}/libgstremovesilence.so +%{_libdir}/gstreamer-%{majorminor}/libgstresindvd.so +%{_libdir}/gstreamer-%{majorminor}/libgstrfbsrc.so +%{_libdir}/gstreamer-%{majorminor}/libgstrsvg.so +%{_libdir}/gstreamer-%{majorminor}/libgstrtpmanagerbad.so +%{_libdir}/gstreamer-%{majorminor}/libgstrtponvif.so +%{_libdir}/gstreamer-%{majorminor}/libgstsdpelem.so +%{_libdir}/gstreamer-%{majorminor}/libgstsegmentclip.so +%{_libdir}/gstreamer-%{majorminor}/libgstshm.so +%{_libdir}/gstreamer-%{majorminor}/libgstsmooth.so +%{_libdir}/gstreamer-%{majorminor}/libgstsmoothstreaming.so +%{_libdir}/gstreamer-%{majorminor}/libgstspeed.so +%{_libdir}/gstreamer-%{majorminor}/libgstsubenc.so +%{_libdir}/gstreamer-%{majorminor}/libgstswitchbin.so +%{_libdir}/gstreamer-%{majorminor}/libgsttimecode.so +%{_libdir}/gstreamer-%{majorminor}/libgsttranscode.so +%{_libdir}/gstreamer-%{majorminor}/libgstuvch264.so +%{_libdir}/gstreamer-%{majorminor}/libgstvideofiltersbad.so +%{_libdir}/gstreamer-%{majorminor}/libgstvideoframe_audiolevel.so +%{_libdir}/gstreamer-%{majorminor}/libgstvideoparsersbad.so +%{_libdir}/gstreamer-%{majorminor}/libgstvideosignal.so +%{_libdir}/gstreamer-%{majorminor}/libgstvmnc.so +%{_libdir}/gstreamer-%{majorminor}/libgsty4mdec.so + +# System (Linux) specific plugins +%{_libdir}/gstreamer-%{majorminor}/libgstdvb.so +%{_libdir}/gstreamer-%{majorminor}/libgstv4l2codecs.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}/libgstnvcodec.so +%{_libdir}/gstreamer-%{majorminor}/libgstopusparse.so +%{_libdir}/gstreamer-%{majorminor}/libgstrist.so +%{_libdir}/gstreamer-%{majorminor}/libgstsndfile.so +%{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so +%{_libdir}/gstreamer-%{majorminor}/libgstsrtp.so +%{_libdir}/gstreamer-%{majorminor}/libgstvulkan.so +%if 0%{?fedora} || 0%{?rhel} > 7 +%{_libdir}/gstreamer-%{majorminor}/libgstwaylandsink.so +%endif +%{_libdir}/gstreamer-%{majorminor}/libgstwebp.so +%{_libdir}/gstreamer-%{majorminor}/libgstwebrtcdsp.so +%if 0 +%{_libdir}/gstreamer-%{majorminor}/libgstwpe.so +%endif +%if %{with extras} +%{_libdir}/gstreamer-%{majorminor}/libgstwebrtc.so +%{_libdir}/gstreamer-%{majorminor}/libgstlv2.so +%{_libdir}/gstreamer-%{majorminor}/libgstttmlsubs.so +%endif + +#debugging plugin +%{_libdir}/gstreamer-%{majorminor}/libgstdebugutilsbad.so + + +%if %{with extras} +%files extras +# Plugins with external dependencies +%{_libdir}/gstreamer-%{majorminor}/libgstaom.so +%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so +%{_libdir}/gstreamer-%{majorminor}/libgstbs2b.so +%{_libdir}/gstreamer-%{majorminor}/libgstchromaprint.so +%{_libdir}/gstreamer-%{majorminor}/libgstcurl.so +%{_libdir}/gstreamer-%{majorminor}/libgstdecklink.so +%{_libdir}/gstreamer-%{majorminor}/libgstgme.so +%{_libdir}/gstreamer-%{majorminor}/libgstkate.so +%{_libdir}/gstreamer-%{majorminor}/libgstladspa.so +%{_libdir}/gstreamer-%{majorminor}/libgstmicrodns.so +%{_libdir}/gstreamer-%{majorminor}/libgstmodplug.so +%{_libdir}/gstreamer-%{majorminor}/libgstofa.so +%{_libdir}/gstreamer-%{majorminor}/libgstopenal.so +#{_libdir}/gstreamer-%{majorminor}/libgstopencv.so +%{_libdir}/gstreamer-%{majorminor}/libgstopenexr.so +%{_libdir}/gstreamer-%{majorminor}/libgstopenjpeg.so +%{_libdir}/gstreamer-%{majorminor}/libgstopenmpt.so +%{_libdir}/gstreamer-%{majorminor}/libgstspandsp.so +%{_libdir}/gstreamer-%{majorminor}/libgstsrt.so +%{_libdir}/gstreamer-%{majorminor}/libgstteletext.so +%{_libdir}/gstreamer-%{majorminor}/libgstva.so + +%files zbar +# Plugins with external dependencies +%{_libdir}/gstreamer-%{majorminor}/libgstzbar.so + +%files fluidsynth +# Plugins with external dependencies +%{_libdir}/gstreamer-%{majorminor}/libgstfluidsynthmidi.so + +%files wildmidi +# Plugins with external dependencies +%{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so +%endif + +%files devel +%if 0 +%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor} +%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor} +%endif + +%{_datadir}/gir-1.0/GstBadAudio-%{majorminor}.gir +%{_datadir}/gir-1.0/GstCodecs-%{majorminor}.gir +%{_datadir}/gir-1.0/GstInsertBin-%{majorminor}.gir +%{_datadir}/gir-1.0/GstMpegts-%{majorminor}.gir +%{_datadir}/gir-1.0/GstPlayer-%{majorminor}.gir +%{_datadir}/gir-1.0/GstTranscoder-%{majorminor}.gir +%{_datadir}/gir-1.0/GstVulkan-%{majorminor}.gir +%{_datadir}/gir-1.0/GstVulkanWayland-%{majorminor}.gir +%{_datadir}/gir-1.0/GstWebRTC-%{majorminor}.gir + +%{_libdir}/libgstadaptivedemux-%{majorminor}.so +%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so +%{_libdir}/libgstbadaudio-%{majorminor}.so +%{_libdir}/libgstcodecparsers-%{majorminor}.so +%{_libdir}/libgstcodecs-%{majorminor}.so +%{_libdir}/libgstinsertbin-%{majorminor}.so +%{_libdir}/libgstisoff-%{majorminor}.so +%{_libdir}/libgstmpegts-%{majorminor}.so +#{_libdir}/libgstopencv-%{majorminor}.so +%{_libdir}/libgstplayer-%{majorminor}.so +%{_libdir}/libgstphotography-%{majorminor}.so +%{_libdir}/libgstsctp-%{majorminor}.so +%{_libdir}/libgsttranscoder-%{majorminor}.so +%{_libdir}/libgsturidownloader-%{majorminor}.so +%{_libdir}/libgstvulkan-%{majorminor}.so +%{_libdir}/libgstwebrtc-%{majorminor}.so +%if 0%{?fedora} || 0%{?rhel} > 7 +%{_libdir}/libgstwayland-%{majorminor}.so +%endif + +%{_includedir}/gstreamer-%{majorminor}/gst/audio +%{_includedir}/gstreamer-%{majorminor}/gst/basecamerabinsrc +%{_includedir}/gstreamer-%{majorminor}/gst/codecparsers +%{_includedir}/gstreamer-%{majorminor}/gst/insertbin +%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/photography* +%{_includedir}/gstreamer-%{majorminor}/gst/isoff/ +%{_includedir}/gstreamer-%{majorminor}/gst/mpegts +#{_includedir}/gstreamer-%{majorminor}/gst/opencv +%{_includedir}/gstreamer-%{majorminor}/gst/player +%{_includedir}/gstreamer-%{majorminor}/gst/sctp +%{_includedir}/gstreamer-%{majorminor}/gst/transcoder +%{_includedir}/gstreamer-%{majorminor}/gst/uridownloader +%{_includedir}/gstreamer-%{majorminor}/gst/vulkan/ +%{_includedir}/gstreamer-%{majorminor}/gst/webrtc/ + +# pkg-config files +%{_libdir}/pkgconfig/gstreamer-bad-audio-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-codecparsers-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-insertbin-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-mpegts-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-photography-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-player-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-sctp-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-transcoder-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-webrtc-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-vulkan-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-vulkan-wayland-%{majorminor}.pc + + +%changelog +* Mon Aug 09 2021 Mohan Boddu +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Wed Jun 16 2021 Mohan Boddu +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 + +* Mon Jun 07 2021 Wim Taymans - 1.18.4-3 +- Apply vulkan multilib patch +- Resolves: rhbz#1915341 + +* Fri Apr 16 2021 Mohan Boddu +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Mar 16 2021 Wim Taymans - 1.18.4-1 +- Update to 1.18.4 + +* Tue Mar 09 2021 Wim Taymans - 1.18.2-9 +- Fix typo when disabling microdns + +* Thu Feb 25 2021 Wim Taymans - 1.18.2-8 +- Move ladspa, microdns, openmpt, srt and zvbi to extras + +* Mon Feb 08 2021 Wim Taymans - 1.18.2-7 +- Rebuild for updated libmicrodns + +* Wed Jan 20 2021 Wim Taymans - 1.18.2-6 +- Move libaom to extras +- Remove unused musepack buildreq + +* Tue Jan 26 2021 Fedora Release Engineering - 1.18.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Jan 24 2021 Leigh Scott - 1.18.2-4 +- Rebuild for new libmicrodns .so version + +* Tue Jan 12 2021 Wim Taymans - 1.18.2-3 +- Move libnice and webrtc to extras + +* Fri Jan 01 2021 Richard Shaw - 1.18.2-2 +- Rebuild for OpenEXR 2.5.3. + +* Thu Dec 10 2020 Wim Taymans - 1.18.2-1 +- Update to 1.18.2 + +* Fri Oct 30 2020 Wim Taymans - 1.18.1-1 +- Update to 1.18.1 +- Remove COPYING.LIB + +* Mon Oct 19 2020 Troy Dawson - 1.18.0-5 +- Do not run va tests when va is disabled + +* Sat Oct 17 2020 Dominik Mierzejewski - 1.18.0-4 +- rebuild for libdvdread-6.1 ABI bump + +* Tue Sep 22 2020 Gwyn Ciesla - 1.18.0-3 +- Obsolete/Provide gst-transcoder + +* Thu Sep 10 2020 Adam Williamson - 1.18.0-2 +- Disable opencv again (pulls in huge number of deps) + +* Tue Sep 8 2020 Wim Taymans - 1.18.0-1 +- Update to 1.18.0 +- Enable opencv + +* Fri Aug 21 2020 Wim Taymans - 1.17.90-1 +- Update to 1.17.90 +- Remove obsolete -bad-transcoder .pc file +- Add vulkan wayland + +* Tue Jul 28 2020 Fedora Release Engineering - 1.17.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 07 2020 Robert-André Mauchin - 1.17.2-2 +- Rebuilt for aom 2.0.0 + +* Mon Jul 6 2020 Wim Taymans - 1.17.2-1 +- Update to 1.17.2 +- Add new libva plugin +- Add new pkgconfig files + +* Mon Jun 22 2020 Wim Taymans - 1.17.1-1 +- Update to 1.17.1 +- Add sources +- Disable wpe for now + +* Fri Mar 20 2020 Debarshi Ray - 1.16.2-4 +- Enable the spandsp plugin + +* Wed Jan 29 2020 Fedora Release Engineering - 1.16.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 7 2020 Tom Callaway - 1.16.2-2 +- rebuild for libsrtp2 + +* Thu Jan 2 2020 Wim Taymans - 1.16.2-1 +- Update to 1.16.2 + +* Fri Nov 15 2019 Dominik 'Rathann' Mierzejewski - 1.16.1-3 +- rebuild for libdvdread ABI bump + +* Fri Oct 04 2019 Kalev Lember - 1.16.1-2 +- Bump gstreamer1-plugins-bad-nonfree obsoletes version + +* Tue Sep 24 2019 Wim Taymans - 1.16.1-1 +- Update to 1.16.1 + +* Mon Sep 23 2019 Kalev Lember - 1.16.0-4 +- Enable AAC support through fdk-aac-free + +* Thu Jul 25 2019 Fedora Release Engineering - 1.16.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jun 24 2019 Rex Dieter - 1.16.0-2 +- BR: lilv-devel, enables lv2 plugin +- use %%_metainfodir macro + +* Tue Apr 23 2019 Wim Taymans - 1.16.0-1 +- Update to 1.16.0 + +* Fri Mar 01 2019 Wim Taymans - 1.15.2-1 +- Update to 1.15.2 +- The vcdsrc plugin was removed + +* Thu Feb 28 2019 Pete Walter - 1.15.1-3 +- Update wayland deps + +* Fri Feb 01 2019 Fedora Release Engineering - 1.15.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 25 2019 Wim Taymans - 1.15.1-1 +- Update to 1.15.1 +- Remove dependency on removed package +- Add sctp and closedcaption plugins + +* Wed Oct 03 2018 Wim Taymans - 1.14.4-1 +- Update to 1.14.4 + +* Tue Sep 18 2018 Wim Taymans - 1.14.3-1 +- Update to 1.14.3 + +* Wed Aug 15 2018 Rex Dieter - 1.14.2-2 +- Enable LV2 plugin support (#1616070) + +* Mon Jul 23 2018 Wim Taymans - 1.14.2-1 +- Update to 1.14.2 + +* Tue Jul 17 2018 Wim Taymans - 1.14.1-7 +- Only build extras on Fedora +- bluez is not in extras +- vdpau is in extras + +* Tue Jul 17 2018 Wim Taymans - 1.14.1-6 +- remove unused liboil BR + +* Fri Jul 13 2018 Fedora Release Engineering - 1.14.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jun 14 2018 Simone Caronni - 1.14.1-4 +- Rebuild for updated libass. + +* Fri May 25 2018 Wim Taymans - 1.14.1-3 +- rebuild (#1581325) to update Provides + +* Tue May 22 2018 Rex Dieter - 1.14.1-2 +- rebuild (file) + +* Mon May 21 2018 Wim Taymans - 1.14.1-1 +- Update to 1.14.1 +- Use openjpeg2 instead of openjpeg (#1553079) + +* Thu May 10 2018 Wim Taymans - 1.14.0-2 +- Add libnice-devel to get webrtc plugin (#1575244) + +* Tue Mar 20 2018 Wim Taymans - 1.14.0-1 +- Update to 1.14.0 +- add webrtc gir and typelib + +* Wed Mar 14 2018 Wim Taymans - 1.13.91-1 +- Update to 1.13.91 + +* Mon Mar 5 2018 Wim Taymans - 1.13.90-1 +- Update to 1.13.90 +- Add audiolatency +- Schrodinger element was removed + +* Tue Feb 27 2018 Rex Dieter - 1.13.1-2 +- drop -gtk subpkg, moved to gst1-plugins-good + +* Fri Feb 23 2018 Rex Dieter - 1.13.1-1 +- 1.13.1 +- use %%ldconfig_scriptlets %%make_build %%make_install +- fix rpath in gst-p-bad-cleanup.sh +- tighten subpkg deps with %%{?_isa} +- -gtk subpkg now empty. FIXME + +* Wed Feb 07 2018 Fedora Release Engineering - 1.12.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Jan 8 2018 Wim Taymans - 1.12.4-2 +- Rebuild for chromaprint .so change + +* Mon Dec 11 2017 Wim Taymans - 1.12.4-1 +- Update to 1.12.4 + +* Fri Oct 13 2017 Troy Dawson - 1.12.3-3 +- Cleanup spec file conditionals + +* Sat Sep 30 2017 Jerry James - 1.12.3-2 +- Rebuild for soundtouch 2.0.0 + +* Tue Sep 19 2017 Wim Taymans - 1.12.3-1 +- Update to 1.12.3 + +* Wed Aug 02 2017 Fedora Release Engineering - 1.12.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Sun Jul 30 2017 Florian Weimer - 1.12.2-4 +- Rebuild with binutils fix for ppc64le (#1475636) + +* Thu Jul 27 2017 Jan Horak - 1.12.2-3 +- Added missing buildrequire on EGL + +* Wed Jul 26 2017 Fedora Release Engineering - 1.12.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 17 2017 Wim Taymans - 1.12.2-1 +- Update to 1.12.2 + +* Tue Jun 20 2017 Wim Taymans - 1.12.1-1 +- Update to 1.12.1 + +* Wed May 10 2017 Wim Taymans - 1.12.0-1 +- Update to 1.12.0 + +* Fri Apr 28 2017 Wim Taymans - 1.11.91-1 +- Update to 1.11.91 + +* Tue Apr 11 2017 Wim Taymans - 1.11.90-1 +- Update to 1.11.90 +- Update plugin names +- Remove old rawparse plugin +- Add new allocator lib and legacyrawparse + +* Fri Feb 24 2017 Wim Taymans - 1.11.2-1 +- Update to 1.11.2 +- add audiomixmatrix + +* Fri Feb 10 2017 Fedora Release Engineering - 1.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 01 2017 Sandro Mani - 1.11.1-2 +- Rebuild (libwebp) + +* Fri Jan 13 2017 Wim Taymans - 1.11.1-1 +- Update to 1.11.1 +- Add audiobuffersplit +- Dataurisrc was moved to core +- Add ttmlsubs plugin + +* Mon Dec 05 2016 Wim Taymans - 1.10.2-1 +- Update to 1.10.2 + +* Mon Nov 28 2016 Wim Taymans - 1.10.1-1 +- Update to 1.10.1 + +* Thu Nov 03 2016 Wim Taymans - 1.10.0-1 +- Update to 1.10.0 + +* Sat Oct 01 2016 Wim Taymans - 1.9.90-1 +- Update to 1.9.90 + +* Fri Sep 02 2016 Wim Taymans - 1.9.2-2 +- Rebuild + +* Thu Sep 01 2016 Wim Taymans - 1.9.2-1 +- Update to 1.9.2 + +* Fri Aug 26 2016 Hans de Goede - 1.9.1-3 +- Rebuild for new wildmidi + +* Wed Aug 10 2016 Wim Taymans - 1.9.1-2 +- Merge patches from Kevin Kofler (#1267665) +- Split gtksink into a -gtk subpackage (#1295444) +- Split wildmidi plugin into a -wildmidi subpackage (#1267665) +- BR mesa-libGLES-devel to enable OpenGL ES 2 support in GstGL (#1308290) + +* Thu Jul 07 2016 Wim Taymans - 1.9.1-1 +- Update to 1.9.1 +- add musepack plugin +- add kmssink plugin + +* Thu Jun 09 2016 Wim Taymans - 1.8.2-1 +- Update to 1.8.2 + +* Sun May 08 2016 Wim Taymans - 1.8.1-2 +- Rebuild for opencv +- Disable opencv, the version is too new + +* Thu Apr 21 2016 Wim Taymans - 1.8.1-1 +- Update to 1.8.1 + +* Thu Mar 24 2016 Wim Taymans - 1.8.0-1 +- Update to 1.8.0 + +* Wed Mar 16 2016 Wim Taymans - 1.7.91-1 +- Update to 1.7.91 +- The opus parse was not moved so we still need opus-devel and we still + ship a plugin. +- the plugin was renamed to opusparse + +* Wed Mar 02 2016 Wim Taymans - 1.7.90-1 +- Update to 1.7.90 +- the opus plugin was moved to -base. + +* Thu Feb 25 2016 Wim Taymans - 1.7.2-2 +- Rebuild for soundtouch ABI break (#1311323) + +* Fri Feb 19 2016 Wim Taymans - 1.7.2-1 +- Update to 1.7.2 +- remove rtpbad plugin, it was moved +- add new libraries and netsim plugin + +* Tue Feb 16 2016 Wim Taymans - 1.7.1-5 +- add chromaprint plugin + +* Thu Feb 04 2016 Ralf Corsépius - 1.7.1-4 +- Append --disable-fatal-warnings to %%configure to prevent + building from aborting for negligible warnings (Fix F24FTBFS) +- Append --disable-silent-rules to %%configure to make + building verbose. +- Don't remove buildroot before installing. + +* Wed Feb 03 2016 Fedora Release Engineering - 1.7.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 5 2016 Wim Taymans - 1.7.1-2 +- remove rpath from gtksink and mxf +- Fix description line too long + +* Tue Jan 5 2016 Wim Taymans - 1.7.1-1 +- Update to 1.7.1 +- rename fragmented -> hls +- remove liveadder +- add gstplayer +- add teletextdec and videoframe_audiolevel + +* Mon Dec 28 2015 Rex Dieter 1.6.2-2 +- rebuild (libwebp) + +* Tue Dec 15 2015 Wim Taymans - 1.6.2-1 +- Update to 1.6.2 + +* Mon Nov 9 2015 Wim Taymans - 1.6.1-2 +- Enable more plugins: gtksink, webp, bluez, bs2b, gme, ofa, openal, + opencv, openjpeg + +* Mon Nov 2 2015 Wim Taymans - 1.6.1-1 +- Update to 1.6.1 + +* Sat Sep 26 2015 Kalev Lember - 1.6.0-1 +- Update to 1.6.0 +- Remove lib64 rpaths from a few more libraries +- Use license macro for COPYING and COPYING.LIB + +* Mon Sep 21 2015 Wim Taymans - 1.5.91-1 +- Update to 1.5.91 + +* Fri Sep 18 2015 Richard Hughes - 1.5.90-3 +- Add optional data to AppStream metadata. + +* Mon Aug 24 2015 Wim Taymans - 1.5.90-2 +- Enable uvch264 + +* Wed Aug 19 2015 Wim Taymans - 1.5.90-1 +- Update to 1.5.90 + +* Thu Jun 25 2015 Wim Taymans - 1.5.2-1 +- Update to 1.5.2 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Jun 08 2015 Wim Taymans - 1.5.1-1 +- Update to 1.5.1 +- Drop old patch + +* Mon May 04 2015 Kalev Lember - 1.4.5-5 +- Rebuilt for nettle soname bump + +* Sat May 02 2015 Kalev Lember - 1.4.5-4 +- Rebuilt for GCC 5 C++11 ABI change + +* Wed Mar 25 2015 Richard Hughes - 1.4.5-3 +- Register as an AppStream component. + +* Fri Mar 06 2015 David Woodhouse - 1.4.5-2 +- Fix RTP/RTCP muxing (#1199578) + +* Tue Feb 03 2015 Wim Taymans - 1.4.5-1 +- Update to 1.4.5 + +* Tue Nov 25 2014 Rex Dieter 1.4.4-2 +- rebuild (openexr) + +* Fri Nov 14 2014 Kalev Lember - 1.4.4-1 +- Update to 1.4.4 + +* Fri Nov 14 2014 Tom Callaway - 1.4.2-3 +- Rebuild for new libsrtp + +* Mon Sep 22 2014 Wim Taymans - 1.4.2-2 +- Remove celt buildreq, the plugin was removed and so is celt-devel + +* Mon Sep 22 2014 Wim Taymans - 1.4.2-1 +- Update to 1.4.2. + +* Fri Aug 29 2014 Wim Taymans - 1.4.1-1 +- Update to 1.4.1. + +* Sat Aug 16 2014 Fedora Release Engineering - 1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Wim Taymans - 1.4.0-1 +- Update to 1.4.0. + +* Fri Jul 11 2014 Wim Taymans - 1.3.91-1 +- Update to 1.3.91. +- Remove old libraries + +* Tue Jun 17 2014 Wim Taymans - 1.2.4-1 +- Update to 1.2.4. + +* Sat Jun 07 2014 Fedora Release Engineering - 1.2.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Mar 20 2014 Hans de Goede - 1.2.3-3 +- Put the fluidsynth plugin in its own subpackage and make it require + soundfont2-default (rhbz#1078925) + +* Wed Mar 19 2014 Peter Robinson 1.2.3-2 +- Bump (libass) + +* Mon Feb 10 2014 Brian Pepple - 1.2.3-1 +- Update to 1.2.3. + +* Thu Feb 6 2014 Brian Pepple - 1.2.2-2 +- Build the srtp plugin. (#1055669) + +* Fri Dec 27 2013 Brian Pepple - 1.2.2-1 +- Update to 1.2.2. + +* Fri Nov 15 2013 Brian Pepple - 1.2.1-4 +- Build fluidsynth plugin. (#1024906) + +* Thu Nov 14 2013 Brian Pepple - 1.2.1-3 +- Add BR on gnutls-devel for HLS support. (#1030491) + +* Mon Nov 11 2013 Brian Pepple - 1.2.1-2 +- Build ladspa, libkate, and wildmidi plugins. + +* Mon Nov 11 2013 Brian Pepple - 1.2.1-1 +- Update to 1.2.1. + +* Fri Nov 8 2013 Brian Pepple - 1.2.0-3 +- Build gobject-introspection support. (#1028156) + +* Fri Oct 04 2013 Bastien Nocera 1.2.0-2 +- Build the wayland video output plugin + +* Tue Sep 24 2013 Brian Pepple - 1.2.0-1 +- Update to 1.2.0. + +* Thu Sep 19 2013 Brian Pepple - 1.1.90-1 +- Update to 1.1.90. + +* Wed Aug 28 2013 Brian Pepple - 1.1.4-1 +- Update to 1.1.4. + +* Mon Jul 29 2013 Brian Pepple - 1.1.3-1 +- Update to 1.1.3. + +* Fri Jul 12 2013 Brian Pepple - 1.1.2-1 +- Update to 1.1.2. + +* Tue May 07 2013 Colin Walters - 1.0.7-2 +- Move libgstdecklink to its correct place in extras; needed for RHEL + +* Fri Apr 26 2013 Brian Pepple - 1.0.7-1 +- Update to 1.0.7. + +* Sun Mar 24 2013 Brian Pepple - 1.0.6-1 +- Update to 1.0.6. +- Drop BR on PyXML. + +* Thu Feb 14 2013 Fedora Release Engineering - 1.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 8 2013 Brian Pepple - 1.0.5-1 +- Update to 1.0.5 + +* Wed Dec 19 2012 Brian Pepple - 1.0.4-1 +- Update to 1.0.4 + +* Wed Nov 21 2012 Brian Pepple - 1.0.3-1 +- Update to 1.0.3 + +* Thu Oct 25 2012 Brian Pepple - 1.0.2-1 +- Update to 1.0.2 + +* Sun Oct 7 2012 Brian Pepple - 1.0.1-1 +- Update to 1.0.1 +- Add frei0r plugin to file list. + +* Mon Oct 1 2012 Peter Robinson - 1.0.0-3 +- Enable verbose build + +* Wed Sep 26 2012 Brian Pepple - 1.0.0-2 +- Build opus plugin. + +* Mon Sep 24 2012 Brian Pepple - 1.0.0-1 +- Update to 1.0.0. + +* Thu Sep 20 2012 Bastien Nocera 0.11.99-2 +- The soundtouch-devel BR should be on, even with extras disabled + +* Wed Sep 19 2012 Brian Pepple - 0.11.99-1 +- Update to 0.11.99 + +* Fri Sep 14 2012 Brian Pepple - 0.11.94-1 +- Update to 0.11.94. + +* Sat Aug 18 2012 Brian Pepple - 0.11.93-2 +- Fix permission on tarball clean-up script. +- Re-enable soundtouch-devel. +- Add COPYING.LIB to package. +- Use %%global instead of %%define. + +* Wed Aug 15 2012 Brian Pepple - 0.11.93-1 +- Update to 0.11.93. + +* Fri Jul 20 2012 Brian Pepple - 0.11.92-1 +- Initial Fedora spec file.