index 8da042946..a057cba09 100644
--- a/tools/gst-inspect.c
+++ b/tools/gst-inspect.c
-@@ -394,7 +394,7 @@ print_object_properties_info (GObject * obj, GObjectClass * obj_class,
-
- first_flag = TRUE;
- n_print ("%sflags%s: ", PROP_ATTR_NAME_COLOR, RESET_COLOR);
-- readable = ! !(param->flags & G_PARAM_READABLE);
-+ readable = !!(param->flags & G_PARAM_READABLE);
- if (readable && obj != NULL) {
- g_object_get_property (obj, param->name, &value);
- } else {
-@@ -1739,11 +1739,228 @@ print_tracer_info (GstPluginFeature * feature, gboolean print_names)
+@@ -1934,11 +1934,228 @@ print_tracer_info (GstPluginFeature * fe
return 0;
}
{
GstPadDirection direction;
const gchar *type_name;
-@@ -1769,6 +1986,13 @@ print_plugin_automatic_install_info_codecs (GstElementFactory * factory)
+@@ -1966,6 +2183,13 @@ print_plugin_automatic_install_info_code
return;
}
/* decoder/demuxer sink pads should always be static and there should only
* be one, the same applies to encoders/muxers and source pads */
static_templates = gst_element_factory_get_static_pad_templates (factory);
-@@ -1805,15 +2029,20 @@ print_plugin_automatic_install_info_codecs (GstElementFactory * factory)
+@@ -2002,15 +2226,20 @@ print_plugin_automatic_install_info_code
gst_structure_remove_field (s, "rate");
gst_structure_remove_field (s, "depth");
gst_structure_remove_field (s, "clock-rate");
{
const gchar *const *protocols;
-@@ -1822,13 +2051,19 @@ print_plugin_automatic_install_info_protocols (GstElementFactory * factory)
+@@ -2019,13 +2248,19 @@ print_plugin_automatic_install_info_prot
switch (gst_element_factory_get_uri_type (factory)) {
case GST_URI_SINK:
while (*protocols != NULL) {
++protocols;
}
break;
-@@ -1839,7 +2074,7 @@ print_plugin_automatic_install_info_protocols (GstElementFactory * factory)
+@@ -2036,7 +2271,7 @@ print_plugin_automatic_install_info_prot
}
static void
{
GList *features, *l;
-@@ -1858,11 +2093,15 @@ print_plugin_automatic_install_info (GstPlugin * plugin)
+@@ -2055,11 +2290,15 @@ print_plugin_automatic_install_info (Gst
if (feature_plugin == plugin) {
GstElementFactory *factory;
}
if (feature_plugin)
gst_object_unref (feature_plugin);
-@@ -1884,7 +2123,7 @@ print_all_plugin_automatic_install_info (void)
+@@ -2083,7 +2322,7 @@ print_all_plugin_automatic_install_info
plugin = (GstPlugin *) (plugins->data);
plugins = g_list_next (plugins);
}
gst_plugin_list_free (orig_plugins);
}
-@@ -1951,6 +2190,7 @@ main (int argc, char *argv[])
+@@ -2169,6 +2408,7 @@ real_main (int argc, char *argv[])
gboolean do_print_blacklist = FALSE;
gboolean plugin_name = FALSE;
gboolean print_aii = FALSE;
gboolean uri_handlers = FALSE;
gboolean check_exists = FALSE;
gboolean color_always = FALSE;
-@@ -1972,6 +2212,9 @@ main (int argc, char *argv[])
+@@ -2190,6 +2430,9 @@ real_main (int argc, char *argv[])
"or all plugins provide.\n "
"Useful in connection with external automatic plugin "
"installation mechanisms"), NULL},
{"plugin", '\0', 0, G_OPTION_ARG_NONE, &plugin_name,
N_("List the plugin contents"), NULL},
{"types", 't', 0, G_OPTION_ARG_STRING, &types,
-@@ -2135,7 +2378,7 @@ main (int argc, char *argv[])
+@@ -2364,7 +2607,7 @@ real_main (int argc, char *argv[])
/* if there is such a plugin, print out info */
if (plugin) {
if (print_aii) {
+ print_plugin_automatic_install_info (plugin, print_aii_rpm);
} else {
print_plugin_info (plugin);
- print_plugin_features (plugin);
-@@ -2148,13 +2391,17 @@ main (int argc, char *argv[])
+ print_plugin_status (plugin);
+@@ -2378,13 +2621,16 @@ real_main (int argc, char *argv[])
if (plugin) {
if (print_aii) {
+ print_plugin_automatic_install_info (plugin, print_aii_rpm);
} else {
print_plugin_info (plugin);
+ print_plugin_status (plugin);
print_plugin_features (plugin);
}
} else {
-- g_printerr (_("Could not load plugin file: %s\n"), error->message);
+ if (!print_aii_rpm)
+ g_print (_("Could not load plugin file: %s\n"), error->message);
+ else
-+ g_printerr (_("Could not load plugin file: %s\n"),
-+ error->message);
+ g_printerr (_("Could not load plugin file: %s\n"), error->message);
g_clear_error (&error);
exit_code = -1;
- goto done;
---
-2.26.2
-
-# TODO: suid/capabilities for ptp-helper?
+# TODO: suid/capabilities for ptp-helper? (-Dptp-helper-permissions=capabilities or -Dptp-helper-setuid-user=/-Dptp-helper-setuid-group=)
#
# Conditional build:
%bcond_without apidocs # hotdoc based API documentation
+%bcond_without ptp_helper # ptp-helper (requires rust)
%define gstmver 1.0
Summary: GStreamer Streaming-media framework runtime
Summary(pl.UTF-8): GStreamer - biblioteki środowiska do obróbki strumieni
Name: gstreamer
-Version: 1.22.6
-Release: 2
+Version: 1.24.0
+Release: 1
License: LGPL v2+
Group: Libraries
Source0: https://gstreamer.freedesktop.org/src/gstreamer/%{name}-%{version}.tar.xz
-# Source0-md5: 62caa2c16550ea444f5d0eb09e0851f3
+# Source0-md5: 058ed34c39c7db77b9031be0eba6bdde
Patch0: %{name}-inspect-rpm-format.patch
URL: https://gstreamer.freedesktop.org/
BuildRequires: bash-completion-devel >= 1:2.0
BuildRequires: elfutils-devel
BuildRequires: flex >= 2.5.31
BuildRequires: gettext-tools >= 0.17
-BuildRequires: glib2-devel >= 1:2.62.0
+BuildRequires: glib2-devel >= 1:2.64.0
%if %(locale -a | grep -q '^C\.UTF-8$'; echo $?)
BuildRequires: glibc-localedb-all
%endif
%ifarch %{ix86} %{x8664} x32 %{arm} hppa ia64 mips ppc ppc64 sh
BuildRequires: libunwind-devel
%endif
-BuildRequires: meson >= 0.62
+BuildRequires: meson >= 1.1
BuildRequires: ninja >= 1.5
BuildRequires: perl-base
BuildRequires: pkgconfig >= 1:0.9.0
BuildRequires: python3 >= 1:3.2
+%{?with_ptp_helper:BuildRequires: rust >= 1.48}
BuildRequires: rpm-build >= 4.6
BuildRequires: rpmbuild(macros) >= 1.736
BuildRequires: sed >= 4.0
BuildRequires: tar >= 1:1.22
BuildRequires: xz
-Requires: glib2 >= 1:2.62.0
+Requires: glib2 >= 1:2.64.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define gstlibdir %{_libdir}/gstreamer-%{gstmver}
Summary(pl.UTF-8): Pliki nagłówkowe do środowiska obróbki strumieni GStreamer
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: glib2-devel >= 1:2.62.0
+Requires: glib2-devel >= 1:2.64.0
Obsoletes: gstreamer-plugins-bad-devel < 0.10.10
Conflicts: gstreamer-plugins-bad-devel < 1.14
Summary: GStreamer pretty printers for GDB
Summary(pl.UTF-8): Funkcje wypisujące dane GStreamer dla GDB
Group: Development/Debuggers
+Requires: %{name} = %{version}-%{release}
+Requires: gdb
%description gdb
This package contains Python scripts for GDB pretty printing of the
%build
%meson build \
%{?with_apidocs:-Ddoc=enabled} \
- -D tests=disabled \
- -D examples=disabled
+ -Dexamples=disabled \
+ -Dtests=disabled
%ninja_build -C build
%if %{with apidocs}
cd build/docs
-for component in base check controller coreelements coretracers gstreamer net ; do
+for component in base check controller gstreamer net ; do
LC_ALL=C.UTF-8 hotdoc run --conf-file ${component}-doc.json
done
+for component in coreelements coretracers ; do
+ LC_ALL=C.UTF-8 hotdoc run --conf-file plugin-${component}.json
+done
%endif
%install
%if %{with apidocs}
install -d $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver}
-cp -pr build/docs/{base,check,controller,coreelements,coretracers,gstreamer,net}-doc $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver}
+cp -pr build/docs/{base,check,controller,gstreamer,net}-doc $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver}
+cp -pr build/docs/plugin-{coreelements,coretracers} $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver}
%endif
%clean
%dir %{gstlibexecdir}
%endif
%attr(755,root,root) %{gstlibexecdir}/gst-plugin-scanner
+%if %{with ptp_helper}
+# %caps(cap_net_bind_service,cap_net_admin,cap_sys_nice=ep) ?
%attr(755,root,root) %{gstlibexecdir}/gst-ptp-helper
+%attr(755,root,root) %{gstlibexecdir}/gst-ptp-helper-test
+%endif
%dir %{gstlibdir}
%attr(755,root,root) %{gstlibdir}/libgstcoreelements.so
%attr(755,root,root) %{gstlibdir}/libgstcoretracers.so
%{_docdir}/gstreamer-%{gstmver}/base-doc
%{_docdir}/gstreamer-%{gstmver}/check-doc
%{_docdir}/gstreamer-%{gstmver}/controller-doc
-%{_docdir}/gstreamer-%{gstmver}/coreelements-doc
-%{_docdir}/gstreamer-%{gstmver}/coretracers-doc
%{_docdir}/gstreamer-%{gstmver}/gstreamer-doc
%{_docdir}/gstreamer-%{gstmver}/net-doc
+%{_docdir}/gstreamer-%{gstmver}/plugin-coreelements
+%{_docdir}/gstreamer-%{gstmver}/plugin-coretracers
%endif
%files gdb