libav:avviddec: Add videometa if there is no videometa in output buffer
[platform/upstream/gstreamer.git] / packaging / gstreamer.spec
index 5f135a2..1994aa5 100644 (file)
@@ -1,9 +1,11 @@
 %bcond_with x
 %bcond_with wayland
+
 %define gst_branch 1.0
 %define _lib_gstreamer_dir %{_libdir}/gstreamer-%{gst_branch}
 %define _lib_girepository %{_libdir}/girepository-%{gst_branch}
 %define _enable_v4l2h264enc 0
+%define _enable_introspection 0
 
 #######################################################################
 ## how to build each plugin :
 %endif
 
 Name:           %{_name}
-Version:        1.20.0
-Release:        20
+Version:        1.22.8
+Release:        7
 Summary:        Streaming-Media Framework Runtime
 License:        LGPL-2.0+
 Group:          Multimedia/Framework
 Url:            http://gstreamer.freedesktop.org/
 Source0:        gstreamer-%{version}.tar.gz
 Source1001:     gstreamer.manifest
-BuildRequires:  meson >= 0.59.0
+BuildRequires:  meson >= 0.62.0
 BuildRequires:  gettext-tools
 BuildRequires:  pkgconfig(glib-2.0) >= 2.32.0
 
@@ -79,7 +81,7 @@ BuildRequires:  fdupes
 BuildRequires:  flex
 BuildRequires:  libtool
 BuildRequires:  pkgconfig(dlog)
-%if "%{tizen_profile_name}" != "tv"
+%if "%{_enable_introspection}" == "1"
 BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 1.31.1
 %endif
 BuildRequires:  pkgconfig(libxml-2.0)
@@ -154,8 +156,10 @@ BuildRequires:  pkgconfig(theoraenc) >= 1.1
 BuildRequires:  pkgconfig(vorbis) >= 1.0
 BuildRequires:  pkgconfig(vorbisenc) >= 1.0
 BuildRequires:  pkgconfig(zlib)
-%if "%{tizen_profile_name}" != "tv"
+%if "%{_enable_introspection}" == "1"
 BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 1.31.1
+%endif
+%if "%{tizen_profile_name}" != "tv"
 BuildRequires:  update-desktop-files
 %endif
 %if %{with wayland}
@@ -232,10 +236,7 @@ BuildRequires:  pkgconfig(vconf)
 BuildRequires:  pkgconfig(vpx)
 BuildRequires:  pkgconfig(zlib)
 %if "%{tizen_profile_name}" != "tv"
-BuildRequires:  pkgconfig(cairo)
-BuildRequires:  pkgconfig(cairo-gobject)
 BuildRequires:  pkgconfig(libpng) >= 1.2
-BuildRequires:  pkgconfig(libv4l2)
 %endif
 %if %{with x}
 BuildRequires:  pkgconfig(ice)
@@ -266,6 +267,30 @@ Enhances:       gst-plugins-good
 This package provides complementary plugins for gst-plugins-good and
 plugins not included in official Tizen images, which may be used for development / experimental purposes.
 
+%if "%{tizen_profile_name}" != "tv"
+%package -n gst-plugins-good-cairo
+Summary:        Cairo plugin for gst-plugins-good
+Group:          Multimedia/Framework
+BuildRequires:  pkgconfig(cairo)
+BuildRequires:  pkgconfig(cairo-gobject)
+Requires:       gst-plugins-good = %{version}
+Enhances:       gst-plugins-good
+
+%description -n gst-plugins-good-cairo
+This package provides cairo plugin for gst-plugins-good and
+this is not included in Tizen headless image.
+
+%package -n gst-plugins-good-v4l2
+Summary:        Video4Linux2 plugin for gst-plugins-good
+Group:          Multimedia/Framework
+BuildRequires:  pkgconfig(libv4l2)
+Requires:       gst-plugins-good = %{version}
+Enhances:       gst-plugins-good
+
+%description -n gst-plugins-good-v4l2
+This package provides Video4Linux2 plugin for gst-plugins-good.
+%endif
+
 %endif
 
 #######################################################
@@ -294,7 +319,9 @@ BuildRequires:  pkgconfig(opus)
 BuildRequires:  pkgconfig(orc-0.4) >= 0.4.11
 BuildRequires:  pkgconfig(sndfile) >= 1.0.16
 BuildRequires:  pkgconfig(soundtouch) > 1.4
-BuildRequires:  pkgconfig(usrsctp)
+%if "%{tizen_profile_name}" != "tv"
+BuildRequires:  pkgconfig(srt)
+%endif
 %if %{with wayland}
 BuildRequires:  pkgconfig(libdrm)
 BuildRequires:  pkgconfig(libxml-2.0)
@@ -364,7 +391,7 @@ BuildRequires:  pkgconfig(opencore-amrnb)
 #######################################################
 
 %if "%{tizen_profile_name}" != "tv"
-%ifarch %{arm} aarch64
+%ifarch %{arm} aarch64 riscv64
 
 %if "%{plugin}" == "all"
 %package -n gst-omx
@@ -542,17 +569,18 @@ meson --auto-features=disabled --prefix=/usr --libdir=%{_libdir} --datadir=%{_da
 %if "%{plugin}" == "all" || "%{plugin}" == "core"
   -D %{_core_opt}check=enabled \
   -D %{_core_opt}coretracers=enabled \
-  -D %{_core_opt}tools=enabled \
   -D %{_core_opt}extra-checks=enabled \
   -D %{_core_opt}ptp-helper-permissions=none \
+  -D %{_core_opt}tools=enabled \
   %if "%{tizen_profile_name}" == "tv"
     -D %{_core_opt}tv-profile=true \
-    -D %{_core_opt}introspection=disabled \
-  %else
-    -D %{_core_opt}introspection=enabled \
   %endif # profile
+  %if "%{_enable_introspection}" == "1"
+    -D %{_core_opt}introspection=enabled \
+  %endif # introspection
 %endif # plugin
 %if "%{plugin}" == "all" || "%{plugin}" == "base"
+  -D %{_base_opt}alsa=enabled \
   -D %{_base_opt}app=enabled \
   -D %{_base_opt}audioconvert=enabled \
   -D %{_base_opt}audiomixer=enabled \
@@ -562,39 +590,41 @@ meson --auto-features=disabled --prefix=/usr --libdir=%{_libdir} --datadir=%{_da
   -D %{_base_opt}compositor=enabled \
   -D %{_base_opt}gio=enabled \
   -D %{_base_opt}gio-typefinder=enabled \
+  -D %{_base_opt}ogg=enabled \
+  -D %{_base_opt}opus=enabled \
   -D %{_base_opt}overlaycomposition=enabled \
   -D %{_base_opt}pbtypes=enabled \
   -D %{_base_opt}playback=enabled \
   -D %{_base_opt}rawparse=enabled \
   -D %{_base_opt}subparse=enabled \
+  -D %{_base_opt}tbm=true \
   -D %{_base_opt}tcp=enabled \
+  -D %{_base_opt}tools=disabled \
+  -D %{_base_opt}theora=enabled \
   -D %{_base_opt}typefind=enabled \
-  -D %{_base_opt}videoconvert=enabled \
+  -D %{_base_opt}videoconvertscale=enabled \
   -D %{_base_opt}videorate=enabled \
-  -D %{_base_opt}videoscale=enabled \
   -D %{_base_opt}videotestsrc=enabled \
   -D %{_base_opt}volume=enabled \
-  -D %{_base_opt}alsa=enabled \
-  -D %{_base_opt}ogg=enabled \
-  -D %{_base_opt}opus=enabled \
-  -D %{_base_opt}theora=enabled \
   -D %{_base_opt}vorbis=enabled \
-  -D %{_base_opt}tbm=true \
   %if "%{tizen_profile_name}" == "tv"
     -D %{_base_opt}tv-profile=true \
   %else
     -D %{_base_opt}adder=enabled \
     -D %{_base_opt}encoding=enabled \
-    -D %{_base_opt}introspection=enabled \
     %if 0%{?enable_gl:1}
       -D %{_base_opt}gl=enabled \
     %endif # gl
   %endif # profile
+  %if "%{_enable_introspection}" == "1"
+    -D %{_base_opt}introspection=enabled \
+  %endif # introspection
 %endif # base plugin
 %if "%{plugin}" == "all" || "%{plugin}" == "good"
   %if 0%{?ENABLE_AALIB}
     -D %{_good_opt}aalib=enabled \
   %endif
+  -D %{_good_opt}adaptivedemux2=enabled \
   -D %{_good_opt}apetag=enabled \
   -D %{_good_opt}audiofx=enabled \
   -D %{_good_opt}audioparsers=enabled \
@@ -606,21 +636,21 @@ meson --auto-features=disabled --prefix=/usr --libdir=%{_libdir} --datadir=%{_da
   -D %{_good_opt}id3demux=enabled \
   -D %{_good_opt}interleave=enabled \
   -D %{_good_opt}isomp4=enabled \
+  -D %{_good_opt}jpeg=enabled \
   -D %{_good_opt}law=enabled \
+  -D %{_good_opt}pulse=enabled \
   -D %{_good_opt}replaygain=enabled \
   -D %{_good_opt}rtp=enabled \
   -D %{_good_opt}rtpmanager=enabled \
   -D %{_good_opt}rtsp=enabled \
+  -D %{_good_opt}soup=enabled \
+  -D %{_good_opt}tbm=true \
   -D %{_good_opt}udp=enabled \
   -D %{_good_opt}videocrop=enabled \
   -D %{_good_opt}videofilter=enabled \
+  -D %{_good_opt}vpx=enabled \
   -D %{_good_opt}wavenc=enabled \
   -D %{_good_opt}wavparse=enabled \
-  -D %{_good_opt}jpeg=enabled \
-  -D %{_good_opt}pulse=enabled \
-  -D %{_good_opt}soup=enabled \
-  -D %{_good_opt}vpx=enabled \
-  -D %{_good_opt}tbm=true \
   %if "%{_enable_v4l2h264enc}" == "1"
     -D %{_good_opt}v4l2h264enc=enabled \
   %endif
@@ -646,30 +676,30 @@ meson --auto-features=disabled --prefix=/usr --libdir=%{_libdir} --datadir=%{_da
   %endif # profile
 %endif # plugin
 %if "%{plugin}" == "all" || "%{plugin}" == "bad"
-  -D %{_bad_opt}gst_play_tests=false\
-  -D %{_bad_opt}introspection=disabled \
+  -D %{_bad_opt}aes=enabled \
   -D %{_bad_opt}audiobuffersplit=enabled \
-  -D %{_bad_opt}audiomixmatrix=enabled \
   -D %{_bad_opt}audiolatency=enabled \
+  -D %{_bad_opt}audiomixmatrix=enabled \
   -D %{_bad_opt}debugutils=enabled \
+  -D %{_bad_opt}dtls=enabled \
+  -D %{_bad_opt}gst_play_tests=false\
+  -D %{_bad_opt}introspection=disabled \
+  -D %{_bad_opt}ipcpipeline=enabled \
   -D %{_bad_opt}midi=enabled \
-  -D %{_bad_opt}mpegtsmux=enabled \
   -D %{_bad_opt}mpegtsdemux=enabled \
+  -D %{_bad_opt}mpegtsmux=enabled \
   -D %{_bad_opt}netsim=enabled \
-  -D %{_bad_opt}proxy=enabled \
-  -D %{_bad_opt}sdp=enabled \
-  -D %{_bad_opt}timecode=enabled \
-  -D %{_bad_opt}videoframe_audiolevel=enabled \
-  -D %{_bad_opt}videoparsers=enabled \
-  -D %{_bad_opt}ipcpipeline=enabled \
-  -D %{_bad_opt}shm=enabled \
-  -D %{_bad_opt}aes=enabled \
-  -D %{_bad_opt}dtls=enabled \
   -D %{_bad_opt}openal=enabled \
   -D %{_bad_opt}opus=enabled \
+  -D %{_bad_opt}proxy=enabled \
   -D %{_bad_opt}sctp=enabled \
+  -D %{_bad_opt}sdp=enabled \
+  -D %{_bad_opt}shm=enabled \
   -D %{_bad_opt}soundtouch=enabled \
   -D %{_bad_opt}srtp=enabled \
+  -D %{_bad_opt}timecode=enabled \
+  -D %{_bad_opt}videoframe_audiolevel=enabled \
+  -D %{_bad_opt}videoparsers=enabled \
   -D %{_bad_opt}wayland=enabled \
   -D %{_bad_opt}webrtc=enabled \
   %if %{with wayland}
@@ -679,16 +709,18 @@ meson --auto-features=disabled --prefix=/usr --libdir=%{_libdir} --datadir=%{_da
     -D %{_bad_opt}tv-profile=true \
   %else
     -D %{_bad_opt}autoconvert=enabled \
+    -D %{_bad_opt}camerabin2=enabled \
     -D %{_bad_opt}coloreffects=enabled \
+    -D %{_bad_opt}dash=enabled \
     -D %{_bad_opt}gaudieffects=enabled \
     -D %{_bad_opt}gdp=enabled \
+    -D %{_bad_opt}hls=enabled \
     -D %{_bad_opt}id3tag=enabled \
-    -D %{_bad_opt}camerabin2=enabled \
     -D %{_bad_opt}jpegformat=enabled \
-    -D %{_bad_opt}dash=enabled \
-    -D %{_bad_opt}hls=enabled \
     -D %{_bad_opt}mpegdemux=enabled \
+    -D %{_bad_opt}rist=enabled \
     -D %{_bad_opt}rtp=enabled \
+    -D %{_bad_opt}srt=enabled \
     -D %{_bad_opt}smoothstreaming=enabled \
     %if 0%{?enable_gl:1}
       -D %{_bad_opt}gl=enabled \
@@ -700,8 +732,8 @@ meson --auto-features=disabled --prefix=/usr --libdir=%{_libdir} --datadir=%{_da
   %if "%{tizen_profile_name}" == "tv"
     -D %{_ugly_opt}tv-profile=true \
   %else
-  -D %{_ugly_opt}asfdemux=enabled \
-  -D %{_ugly_opt}amrnb=enabled \
+    -D %{_ugly_opt}amrnb=enabled \
+    -D %{_ugly_opt}asfdemux=enabled \
   %endif # profile
 %endif # plugin
 %if "%{plugin}" == "all" || "%{plugin}" == "libav"
@@ -710,22 +742,30 @@ meson --auto-features=disabled --prefix=/usr --libdir=%{_libdir} --datadir=%{_da
   %endif # profile
 %endif # plugin
 %if "%{plugin}" == "all" || "%{plugin}" == "rs"
-  -D %{_rs_opt}rtspclientsink=enabled \
+  %if "%{tizen_profile_name}" == "tv"
+    -D %{_rs_opt}tv-profile=true \
+  %endif # profile
   -D %{_rs_opt}introspection=disabled \
+  -D %{_rs_opt}rtspclientsink=enabled \
 %endif
 %if "%{tizen_profile_name}" != "tv"
-  %ifarch %{arm} aarch64
+  %ifarch %{arm} aarch64 riscv64
     %if "%{plugin}" == "all" || "%{plugin}" == "omx"
+      -D %{_omx_opt}tools=disabled \
       %if "%{target}" == "rpi"
-        -D %{_omx_opt}target=rpi \
         -D %{_omx_opt}header_path=/opt/vc/include/interface/vmcs_host/khronos/IL \
+        -D %{_omx_opt}target=rpi \
       %else
-        %ifarch aarch64
-          -D %{_omx_opt}target=exynos64 \
+        %ifarch riscv64
+          -D %{_omx_opt}target=generic \
         %else
-          -D %{_omx_opt}target=exynos \
-          -D %{_omx_opt}vp9=true \
-        %endif # arch
+          %ifarch aarch64
+            -D %{_omx_opt}target=exynos64 \
+          %else
+            -D %{_omx_opt}target=exynos \
+            -D %{_omx_opt}vp9=true \
+          %endif # arch aarch64
+        %endif # arch riscv64
       %endif # target
     %endif # plugin
   %endif # arch
@@ -789,13 +829,13 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgstnet-%{gst_branch}.so.*
 %{_libdir}/libgstcheck-%{gst_branch}.so.*
 %{_libdir}/libgstreamer-%{gst_branch}.so.*
-%if "%{tizen_profile_name}" != "tv"
+%if "%{_enable_introspection}" == "1"
 %{_lib_girepository}/Gst-%{gst_branch}.typelib
 %{_lib_girepository}/GstBase-%{gst_branch}.typelib
 %{_lib_girepository}/GstController-%{gst_branch}.typelib
 %{_lib_girepository}/GstNet-%{gst_branch}.typelib
 %{_lib_girepository}/GstCheck-%{gst_branch}.typelib
-%endif
+%endif #introspection
 %{_datadir}/gdb/auto-load/usr/%{_lib}/libgstreamer-%{gst_branch}*-gdb.py
 %{_datadir}/gstreamer-%{gst_branch}/gdb/glib_gobject_helper.py
 %{_datadir}/gstreamer-%{gst_branch}/gdb/gst_gdb.py
@@ -829,13 +869,13 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/pkgconfig/gstreamer-controller-%{gst_branch}.pc
 %{_libdir}/pkgconfig/gstreamer-net-%{gst_branch}.pc
 %{_libdir}/pkgconfig/gstreamer-check-%{gst_branch}.pc
-%if "%{tizen_profile_name}" != "tv"
+%if "%{_enable_introspection}" == "1"
 %{_datadir}/gir-%{gst_branch}/Gst-%{gst_branch}.gir
 %{_datadir}/gir-%{gst_branch}/GstBase-%{gst_branch}.gir
 %{_datadir}/gir-%{gst_branch}/GstController-%{gst_branch}.gir
 %{_datadir}/gir-%{gst_branch}/GstNet-%{gst_branch}.gir
 %{_datadir}/gir-%{gst_branch}/GstCheck-%{gst_branch}.gir
-%endif
+%endif #introspection
 
 %changelog
 
@@ -852,35 +892,34 @@ rm -rf $RPM_BUILD_ROOT
 %{_lib_gstreamer_dir}/libgstalsa.so
 %{_lib_gstreamer_dir}/libgstapp.so
 %{_lib_gstreamer_dir}/libgstaudioconvert.so
+%{_lib_gstreamer_dir}/libgstaudiomixer.so
 %{_lib_gstreamer_dir}/libgstaudiorate.so
 %{_lib_gstreamer_dir}/libgstaudioresample.so
 %{_lib_gstreamer_dir}/libgstaudiotestsrc.so
+%{_lib_gstreamer_dir}/libgstcompositor.so
 %{_lib_gstreamer_dir}/libgstgio.so
 %{_lib_gstreamer_dir}/libgstogg.so
-%{_lib_gstreamer_dir}/libgstplayback.so
+%{_lib_gstreamer_dir}/libgstopus.so
 %{_lib_gstreamer_dir}/libgstoverlaycomposition.so
+%{_lib_gstreamer_dir}/libgstpbtypes.so
+%{_lib_gstreamer_dir}/libgstplayback.so
+%{_lib_gstreamer_dir}/libgstrawparse.so
 %{_lib_gstreamer_dir}/libgstsubparse.so
 %{_lib_gstreamer_dir}/libgsttcp.so
 %{_lib_gstreamer_dir}/libgsttheora.so
 %{_lib_gstreamer_dir}/libgsttypefindfunctions.so
-%{_lib_gstreamer_dir}/libgstvideoconvert.so
+%{_lib_gstreamer_dir}/libgstvideoconvertscale.so
 %{_lib_gstreamer_dir}/libgstvideorate.so
-%{_lib_gstreamer_dir}/libgstvideoscale.so
 %{_lib_gstreamer_dir}/libgstvideotestsrc.so
 %{_lib_gstreamer_dir}/libgstvolume.so
 %{_lib_gstreamer_dir}/libgstvorbis.so
-%{_lib_gstreamer_dir}/libgstpbtypes.so
-%{_lib_gstreamer_dir}/libgstrawparse.so
-%{_lib_gstreamer_dir}/libgstopus.so
-%{_lib_gstreamer_dir}/libgstaudiomixer.so
-%{_lib_gstreamer_dir}/libgstcompositor.so
 %if %{with x}
 %{_lib_gstreamer_dir}/libgstximagesink.so
 %{_lib_gstreamer_dir}/libgstxvimagesink.so
 %endif
+%{_libdir}/libgstallocators-%{gst_branch}.so.*
 %{_libdir}/libgstapp-%{gst_branch}.so.*
 %{_libdir}/libgstaudio-%{gst_branch}.so.*
-%{_libdir}/libgstallocators-%{gst_branch}.so.*
 %{_libdir}/libgstfft-%{gst_branch}.so.*
 %{_libdir}/libgstpbutils-%{gst_branch}.so.*
 %{_libdir}/libgstriff-%{gst_branch}.so.*
@@ -891,6 +930,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgstvideo-%{gst_branch}.so.*
 %if "%{tizen_profile_name}" != "tv"
 %{_lib_gstreamer_dir}/libgstencoding.so
+%endif #profile
+%if "%{_enable_introspection}" == "1"
 %{_lib_girepository}/GstAllocators-%{gst_branch}.typelib
 %{_lib_girepository}/GstApp-%{gst_branch}.typelib
 %{_lib_girepository}/GstAudio-%{gst_branch}.typelib
@@ -900,7 +941,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_lib_girepository}/GstSdp-%{gst_branch}.typelib
 %{_lib_girepository}/GstTag-%{gst_branch}.typelib
 %{_lib_girepository}/GstVideo-%{gst_branch}.typelib
-%endif
+%endif #introspection
 %dir %{_datadir}/gst-plugins-base/
 %dir %{_datadir}/gst-plugins-base/%{gst_branch}/
 %{_datadir}/gst-plugins-base/%{gst_branch}/license-translations.dict
@@ -953,7 +994,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/pkgconfig/gstreamer-sdp-%{gst_branch}.pc
 %{_libdir}/pkgconfig/gstreamer-tag-%{gst_branch}.pc
 %{_libdir}/pkgconfig/gstreamer-video-%{gst_branch}.pc
-%if "%{tizen_profile_name}" != "tv"
+%if "%{_enable_introspection}" == "1"
 %{_datadir}/gir-%{gst_branch}/GstAllocators-%{gst_branch}.gir
 %{_datadir}/gir-%{gst_branch}/GstApp-%{gst_branch}.gir
 %{_datadir}/gir-%{gst_branch}/GstAudio-%{gst_branch}.gir
@@ -963,7 +1004,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/gir-%{gst_branch}/GstSdp-%{gst_branch}.gir
 %{_datadir}/gir-%{gst_branch}/GstTag-%{gst_branch}.gir
 %{_datadir}/gir-%{gst_branch}/GstVideo-%{gst_branch}.gir
-%endif # profile
+%endif # introspection
 
 %endif # plugin
 
@@ -975,6 +1016,7 @@ rm -rf $RPM_BUILD_ROOT
 %manifest gst-plugins-good.manifest
 %defattr(-, root, root)
 %license subprojects/gst-plugins-good/COPYING
+%{_lib_gstreamer_dir}/libgstadaptivedemux2.so
 %{_lib_gstreamer_dir}/libgstalaw.so
 %{_lib_gstreamer_dir}/libgstapetag.so
 %{_lib_gstreamer_dir}/libgstaudiofx.so
@@ -995,28 +1037,26 @@ rm -rf $RPM_BUILD_ROOT
 %{_lib_gstreamer_dir}/libgstrtp.so
 %{_lib_gstreamer_dir}/libgstrtpmanager.so
 %{_lib_gstreamer_dir}/libgstrtsp.so
+%{_lib_gstreamer_dir}/libgstsoup.so
 %{_lib_gstreamer_dir}/libgstudp.so
 %{_lib_gstreamer_dir}/libgstvideocrop.so
 %{_lib_gstreamer_dir}/libgstvideofilter.so
+%{_lib_gstreamer_dir}/libgstvpx.so
 %{_lib_gstreamer_dir}/libgstwavenc.so
 %{_lib_gstreamer_dir}/libgstwavparse.so
 %if %{with x}
 %{_lib_gstreamer_dir}/libgstximagesrc.so
 %endif # x
-%{_lib_gstreamer_dir}/libgstsoup.so
-%{_lib_gstreamer_dir}/libgstvpx.so
 %if "%{tizen_profile_name}" != "tv"
-%{_lib_gstreamer_dir}/libgstcairo.so
 %{_lib_gstreamer_dir}/libgsteffectv.so
 %{_lib_gstreamer_dir}/libgstflv.so
 %{_lib_gstreamer_dir}/libgstimagefreeze.so
 %{_lib_gstreamer_dir}/libgstmatroska.so
 %{_lib_gstreamer_dir}/libgstmultifile.so
 %{_lib_gstreamer_dir}/libgstsmpte.so
-%{_lib_gstreamer_dir}/libgstvideo4linux2.so
 %{_lib_gstreamer_dir}/libgstvideobox.so
 %{_lib_gstreamer_dir}/libgstvideomixer.so
-%else
+%else # profile
 %ifnarch %{arm} aarch64
 %{_lib_gstreamer_dir}/libgstvideo4linux2.so
 %endif # arch
@@ -1032,8 +1072,22 @@ rm -rf $RPM_BUILD_ROOT
 %{_lib_gstreamer_dir}/libgstaasink.so
 %endif
 %if "%{tizen_profile_name}" != "tv"
-%{_lib_gstreamer_dir}/libgstpng.so
 %{_lib_gstreamer_dir}/libgstimagefreeze.so
+%{_lib_gstreamer_dir}/libgstpng.so
+%endif
+
+%if "%{tizen_profile_name}" != "tv"
+%files -n gst-plugins-good-cairo
+%manifest gst-plugins-good.manifest
+%defattr(-, root, root)
+%license subprojects/gst-plugins-good/COPYING
+%{_lib_gstreamer_dir}/libgstcairo.so
+
+%files -n gst-plugins-good-v4l2
+%manifest gst-plugins-good.manifest
+%defattr(-, root, root)
+%license subprojects/gst-plugins-good/COPYING
+%{_lib_gstreamer_dir}/libgstvideo4linux2.so
 %endif
 
 %endif
@@ -1047,73 +1101,75 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(-, root, root)
 %license subprojects/gst-plugins-bad/COPYING
 %if "%{tizen_profile_name}" != "tv"
-%{_lib_gstreamer_dir}/libgstgaudieffects.so
 %{_lib_gstreamer_dir}/libgstautoconvert.so
 %{_lib_gstreamer_dir}/libgstcamerabin.so
 %{_lib_gstreamer_dir}/libgstcoloreffects.so
 %{_lib_gstreamer_dir}/libgstdash.so
+%{_lib_gstreamer_dir}/libgstgaudieffects.so
 %{_lib_gstreamer_dir}/libgstgdp.so
 %{_lib_gstreamer_dir}/libgsthls.so
 %{_lib_gstreamer_dir}/libgstid3tag.so
 %{_lib_gstreamer_dir}/libgstjpegformat.so
 %{_lib_gstreamer_dir}/libgstmpegpsdemux.so
+%{_lib_gstreamer_dir}/libgstrist.so
 %{_lib_gstreamer_dir}/libgstsmoothstreaming.so
-%if 0%{?enable_gl:1}
-%{_lib_gstreamer_dir}/libgstopengl.so
-%{_libdir}/libgstgl-%{gst_branch}.so.0*
-%endif
-%{_libdir}/libgstisoff-%{gst_branch}.so.0*
+%{_lib_gstreamer_dir}/libgstsrt.so
 %{_libdir}/libgstadaptivedemux-%{gst_branch}.so.0*
 %{_libdir}/libgstbadaudio-%{gst_branch}.so.0*
 %{_libdir}/libgstbasecamerabinsrc-%{gst_branch}.so.0*
+%{_libdir}/libgstcuda-%{gst_branch}.so.0*
 %{_libdir}/libgstinsertbin-%{gst_branch}.so.0*
+%{_libdir}/libgstisoff-%{gst_branch}.so.0*
+%{_libdir}/libgstphotography-%{gst_branch}.so.0*
 %{_libdir}/libgstplay-%{gst_branch}.so.0*
 %{_libdir}/libgstplayer-%{gst_branch}.so.0*
-%{_libdir}/libgstphotography-%{gst_branch}.so.0*
 %{_libdir}/libgsturidownloader-%{gst_branch}.so.0*
+%if 0%{?enable_gl:1}
+%{_lib_gstreamer_dir}/libgstopengl.so
+%{_libdir}/libgstgl-%{gst_branch}.so.0*
+%endif
 %endif # profile
-%{_lib_gstreamer_dir}/libgstsoundtouch.so
 %{_lib_gstreamer_dir}/libgstaes.so
-%{_lib_gstreamer_dir}/libgstdebugutilsbad.so
-%{_lib_gstreamer_dir}/libgstmpegtsmux.so
-%{_lib_gstreamer_dir}/libgstmpegtsdemux.so
-%{_lib_gstreamer_dir}/libgstsdpelem.so
-%{_lib_gstreamer_dir}/libgstshm.so
-%{_lib_gstreamer_dir}/libgstvideoparsersbad.so
-%{_lib_gstreamer_dir}/libgstmidi.so
-%{_lib_gstreamer_dir}/libgstopenal.so
-%{_lib_gstreamer_dir}/libgstnetsim.so
-%{_lib_gstreamer_dir}/libgsttimecode.so
-%{_lib_gstreamer_dir}/libgstvideoframe_audiolevel.so
-%{_lib_gstreamer_dir}/libgstaudiomixmatrix.so
 %{_lib_gstreamer_dir}/libgstaudiobuffersplit.so
 %{_lib_gstreamer_dir}/libgstaudiolatency.so
+%{_lib_gstreamer_dir}/libgstaudiomixmatrix.so
+%{_lib_gstreamer_dir}/libgstdebugutilsbad.so
+%{_lib_gstreamer_dir}/libgstdtls.so
 %{_lib_gstreamer_dir}/libgstipcpipeline.so
-%{_lib_gstreamer_dir}/libgstproxy.so
+%{_lib_gstreamer_dir}/libgstmidi.so
+%{_lib_gstreamer_dir}/libgstmpegtsdemux.so
+%{_lib_gstreamer_dir}/libgstmpegtsmux.so
+%{_lib_gstreamer_dir}/libgstnetsim.so
 %{_lib_gstreamer_dir}/libgstnice.so
-%{_lib_gstreamer_dir}/libgstwebrtc.so
-%{_lib_gstreamer_dir}/libgstdtls.so
+%{_lib_gstreamer_dir}/libgstopenal.so
+%{_lib_gstreamer_dir}/libgstopusparse.so
+%{_lib_gstreamer_dir}/libgstproxy.so
 %if "%{tizen_profile_name}" != "tv"
 %{_lib_gstreamer_dir}/libgstrtpmanagerbad.so
 %endif
 %{_lib_gstreamer_dir}/libgstsctp.so
+%{_lib_gstreamer_dir}/libgstsdpelem.so
+%{_lib_gstreamer_dir}/libgstshm.so
+%{_lib_gstreamer_dir}/libgstsoundtouch.so
 %{_lib_gstreamer_dir}/libgstsrtp.so
-%{_lib_gstreamer_dir}/libgstopusparse.so
+%{_lib_gstreamer_dir}/libgsttimecode.so
+%{_lib_gstreamer_dir}/libgstvideoframe_audiolevel.so
+%{_lib_gstreamer_dir}/libgstvideoparsersbad.so
 %if %{with wayland}
 %{_lib_gstreamer_dir}/libgstwaylandsink.so
 %endif
-%{_libdir}/libgstcodecs-%{gst_branch}.so.0*
+%{_lib_gstreamer_dir}/libgstwebrtc.so
 %{_libdir}/libgstcodecparsers-%{gst_branch}.so.0*
+%{_libdir}/libgstcodecs-%{gst_branch}.so.0*
 %{_libdir}/libgstmpegts-%{gst_branch}.so.0*
 %{_libdir}/libgstsctp-%{gst_branch}.so.0*
 %{_libdir}/libgsttranscoder-%{gst_branch}.so.0*
-%{_libdir}/libgstwebrtc-%{gst_branch}.so.0*
 %if %{with wayland}
 %{_libdir}/libgstwayland-%{gst_branch}.so.0*
 %endif
+%{_libdir}/libgstwebrtc-%{gst_branch}.so.0*
+%{_libdir}/libgstwebrtcnice-%{gst_branch}.so.0*
 %exclude %{_bindir}/gst-transcoder-%{gst_branch}
-%exclude %{_libdir}/debug/.build-id/*
-%exclude %{_libdir}/debug/*
 
 %files -n gst-plugins-bad-devel
 %manifest gst-plugins-bad.manifest
@@ -1123,6 +1179,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstnonstreamaudiodecoder.h
 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstplanaraudioadapter.h
 %{_includedir}/gstreamer-%{gst_branch}/gst/basecamerabinsrc/*
+%{_includedir}/gstreamer-%{gst_branch}/gst/cuda/*
 %{_includedir}/gstreamer-%{gst_branch}/gst/insertbin/*
 %{_includedir}/gstreamer-%{gst_branch}/gst/interfaces/*
 %{_includedir}/gstreamer-%{gst_branch}/gst/isoff/*
@@ -1142,6 +1199,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgstadaptivedemux*.so
 %{_libdir}/libgstbadaudio*.so
 %{_libdir}/libgstbasecamerabinsrc*.so
+%{_libdir}/libgstcuda*.so
 %{_libdir}/libgstinsertbin*.so
 %{_libdir}/libgstisoff*.so
 %{_libdir}/libgstphotography*.so
@@ -1164,6 +1222,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/pkgconfig/gstreamer-codecparsers-%{gst_branch}.pc
 %if "%{tizen_profile_name}" != "tv"
 %{_libdir}/pkgconfig/gstreamer-bad-audio-%{gst_branch}.pc
+%{_libdir}/pkgconfig/gstreamer-cuda-%{gst_branch}.pc
 %{_libdir}/pkgconfig/gstreamer-insertbin-%{gst_branch}.pc
 %{_libdir}/pkgconfig/gstreamer-photography-%{gst_branch}.pc
 %{_libdir}/pkgconfig/gstreamer-play-%{gst_branch}.pc
@@ -1180,8 +1239,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/pkgconfig/gstreamer-wayland-%{gst_branch}.pc
 %endif
 %{_libdir}/pkgconfig/gstreamer-webrtc-%{gst_branch}.pc
+%{_libdir}/pkgconfig/gstreamer-webrtc-nice-%{gst_branch}.pc
 
-%endif
+%endif # plugin
 
 ###################### gst-plugins-ugly ######################
 
@@ -1192,8 +1252,8 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(-,root,root,-)
 %license subprojects/gst-plugins-ugly/COPYING
 %if "%{tizen_profile_name}" != "tv"
-%{_lib_gstreamer_dir}/libgstasf.so
 %{_lib_gstreamer_dir}/libgstamrnb.so
+%{_lib_gstreamer_dir}/libgstasf.so
 %exclude %{_datadir}/gstreamer-%{gst_branch}/presets/GstAmrnbEnc.prs
 %endif # profile
 %{_lib_gstreamer_dir}/libgstamrwbdec.so
@@ -1235,7 +1295,7 @@ rm -rf $RPM_BUILD_ROOT
 %if "%{tizen_profile_name}" != "tv"
 
 ########################## gst-omx ###########################
-%ifarch %{arm} aarch64
+%ifarch %{arm} aarch64 riscv64
 
 %if "%{plugin}" == "all" || "%{plugin}" == "omx"