diff options
author | Wim Taymans <wtaymans@redhat.com> | 2017-08-23 10:45:08 +0200 |
---|---|---|
committer | Wim Taymans <wtaymans@redhat.com> | 2017-08-23 13:22:39 +0200 |
commit | b7e334e55ddbdd9afe811c043e782ae31596899e (patch) | |
tree | 3d0a67d5817191cc902e81ee567b645dfbccb9b9 | |
parent | 5cc4c5c37814bb877f8d315aa46c860d62dfb9ee (diff) |
Release 0.1.40.1.4
Remove spec file
Fix systemd service file
Send error on link errors
Init socket to -1 so that we don't close anything on error
Wait for all proxy objects in device monitor
-rw-r--r-- | meson.build | 2 | ||||
-rw-r--r-- | pipewire.spec | 176 | ||||
-rw-r--r-- | src/daemon/systemd/user/pipewire.service.in | 3 | ||||
-rw-r--r-- | src/gst/gstpipewiredeviceprovider.c | 12 | ||||
-rw-r--r-- | src/modules/module-autolink.c | 7 | ||||
-rw-r--r-- | src/modules/module-protocol-native.c | 3 |
6 files changed, 22 insertions, 181 deletions
diff --git a/meson.build b/meson.build index 51b528dd..5652c34f 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('pipewire', 'c', - version : '0.1.3.1', + version : '0.1.4', meson_version : '>= 0.36.0', default_options : [ 'warning_level=1', 'c_std=gnu99', diff --git a/pipewire.spec b/pipewire.spec deleted file mode 100644 index dedc31dc..00000000 --- a/pipewire.spec +++ /dev/null @@ -1,176 +0,0 @@ -%global majorminor 0.1 - -#global snap 20141103 -#global gitrel 327 -#global gitcommit aec811798cd883a454b9b5cd82c77831906bbd2d -#global shortcommit %(c=%{gitcommit}; echo ${c:0:5}) - -# https://bugzilla.redhat.com/983606 -%global _hardened_build 1 - -# where/how to apply multilib hacks -%global multilib_archs x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparcv9 ppc64le - -Name: pipewire -Summary: Media Sharing Server -Version: 0.1.3.1 -Release: 1%{?snap:.%{snap}git%{shortcommit}}%{?dist} -License: LGPLv2+ -URL: http://www.freedesktop.org/wiki/Software/PipeWire -%if 0%{?gitrel} -# git clone git://anongit.freedesktop.org/gstreamer/pipewire -# cd pipewire; git reset --hard %{gitcommit}; ./autogen.sh; make; make distcheck -Source0: pipewire-%{version}-%{gitrel}-g%{shortcommit}.tar.gz -%else -Source0: http://freedesktop.org/software/pipewire/releases/pipewire-%{version}.tar.gz -%endif - -## upstream patches - -## upstreamable patches - -BuildRequires: meson >= 0.35.0 -BuildRequires: pkgconfig -BuildRequires: pkgconfig(libudev) -BuildRequires: pkgconfig(dbus-1) -BuildRequires: pkgconfig(glib-2.0) >= 2.32 -BuildRequires: pkgconfig(gio-unix-2.0) >= 2.32 -BuildRequires: pkgconfig(gstreamer-1.0) >= 1.10.0 -BuildRequires: pkgconfig(gstreamer-base-1.0) >= 1.10.0 -BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.10.0 -BuildRequires: pkgconfig(gstreamer-net-1.0) >= 1.10.0 -BuildRequires: pkgconfig(gstreamer-allocators-1.0) >= 1.10.0 -BuildRequires: systemd-devel >= 184 -BuildRequires: alsa-lib-devel -BuildRequires: libv4l-devel -BuildRequires: doxygen -BuildRequires: xmltoman -BuildRequires: graphviz - -Requires(pre): shadow-utils -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: systemd >= 184 -Requires: rtkit - -# https://bugzilla.redhat.com/983606 -%global _hardened_build 1 - -## enable systemd activation -%global systemd 1 - -%description -PipeWire is a multimedia server for Linux and other Unix like operating -systems. - -%package libs -Summary: Libraries for PipeWire clients -License: LGPLv2+ - -%description libs -This package contains the runtime libraries for any application that wishes -to interface with a PipeWire media server. - -%package devel -Summary: Headers and libraries for PipeWire client development -License: LGPLv2+ -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -%description devel -Headers and libraries for developing applications that can communicate with -a PipeWire media server. - -%package doc -Summary: PipeWire media server documentation -License: LGPLv2+ - -%description doc -This package contains documentation for the PipeWire media server. - -%package utils -Summary: PipeWire media server utilities -License: LGPLv2+ -Requires: %{name}-libs%{?_isa} = %{version}-%{release} - -%description utils -This package contains command line utilities for the PipeWire media server. - -%prep -%setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}} - -%build -%meson -%meson_build - -%install -%meson_install - -%check -%meson_test - -%pre -getent group pipewire >/dev/null || groupadd -r pipewire -getent passwd pipewire >/dev/null || \ - useradd -r -g pipewire -d /var/run/pipewire -s /sbin/nologin -c "PipeWire System Daemon" pipewire -exit 0 - -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig - -%files -%license LICENSE GPL LGPL -%doc README -%if 0%{?systemd} -%{_userunitdir}/pipewire.* -%endif -%{_bindir}/pipewire -%{_libdir}/libpipewire-%{majorminor}.so.* -%{_libdir}/libspa-lib.so.* -%{_libdir}/gstreamer-1.0/libgstpipewire.* -%{_libdir}/pipewire-%{majorminor}/ -%{_libdir}/spa/ -%{_mandir}/man1/pipewire.1* -%{_sysconfdir}/pipewire/pipewire.conf - -%files libs -%license LICENSE GPL LGPL -%doc README -%dir %{_sysconfdir}/pipewire/ -#%dir %{_libdir}/pipewire/ - -%files devel -%{_libdir}/libpipewire-%{majorminor}.so -%{_libdir}/libspa-lib.so -%{_includedir}/pipewire/ -%{_includedir}/spa/ -%{_libdir}/pkgconfig/libpipewire-%{majorminor}.pc -%{_libdir}/pkgconfig/libspa-%{majorminor}.pc - -%files doc -%{_datadir}/doc/pipewire/html - -%files utils -%{_bindir}/pipewire-monitor -%{_mandir}/man1/pipewire-monitor.1* -%{_bindir}/spa-monitor -%{_bindir}/spa-inspect - -%changelog -* Wed Aug 09 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.3-1 -- Update to 0.1.3 - -* Tue Jul 04 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.2-1 -- Update to 0.1.2 -- Added more build requirements -- Make separate doc package - -* Mon Jun 26 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.1-1 -- Update to 0.1.1 -- Add dbus-1 to BuildRequires -- change libs-devel to -devel - -* Wed Sep 9 2015 Wim Taymans <wtaymans@redhat.com> - 0.1.0-2 -- Fix BuildRequires to use pkgconfig, add all dependencies found in configure.ac -- Add user and groups if needed -- Add license to %%licence - -* Tue Sep 1 2015 Wim Taymans <wtaymans@redhat.com> - 0.1.0-1 -- First version diff --git a/src/daemon/systemd/user/pipewire.service.in b/src/daemon/systemd/user/pipewire.service.in index f0578891..71cfc262 100644 --- a/src/daemon/systemd/user/pipewire.service.in +++ b/src/daemon/systemd/user/pipewire.service.in @@ -16,8 +16,7 @@ Description=Multimedia Service Requires=pipewire.socket [Service] -# Note that notify will only work if --daemonize=no -Type=notify +Type=simple ExecStart=@PW_BINARY@ Restart=on-failure diff --git a/src/gst/gstpipewiredeviceprovider.c b/src/gst/gstpipewiredeviceprovider.c index d9bbc9d2..5d293f73 100644 --- a/src/gst/gstpipewiredeviceprovider.c +++ b/src/gst/gstpipewiredeviceprovider.c @@ -297,8 +297,11 @@ on_sync_reply (void *data, uint32_t seq) GstPipeWireDeviceProvider *self = data; if (seq == 1) pw_core_proxy_sync(self->core_proxy, 2); - else if (seq == 2) + else if (seq == 2) { self->end = true; + if (self->main_loop) + pw_thread_loop_signal (self->main_loop, FALSE); + } } static void @@ -563,6 +566,13 @@ gst_pipewire_device_provider_start (GstDeviceProvider * provider) pw_registry_proxy_add_listener(self->registry, &data->registry_listener, ®istry_events, data); pw_core_proxy_sync(self->core_proxy, 1); + for (;;) { + if (self->end) + break; + pw_thread_loop_wait (self->main_loop); + } + GST_DEBUG_OBJECT (self, "started"); + pw_thread_loop_unlock (self->main_loop); return TRUE; diff --git a/src/modules/module-autolink.c b/src/modules/module-autolink.c index 60ecf102..92538a21 100644 --- a/src/modules/module-autolink.c +++ b/src/modules/module-autolink.c @@ -117,8 +117,15 @@ link_state_changed(void *data, enum pw_link_state old, enum pw_link_state state, switch (state) { case PW_LINK_STATE_ERROR: + { + struct pw_resource *owner = pw_node_get_owner(info->node); + pw_log_debug("module %p: link %p: state error: %s", impl, link, error); + if (owner) + pw_resource_error(owner, SPA_RESULT_ERROR, error); + break; + } case PW_LINK_STATE_UNLINKED: pw_log_debug("module %p: link %p: unlinked", impl, link); diff --git a/src/modules/module-protocol-native.c b/src/modules/module-protocol-native.c index 153cf4f6..ca320841 100644 --- a/src/modules/module-protocol-native.c +++ b/src/modules/module-protocol-native.c @@ -625,7 +625,8 @@ impl_new_client(struct pw_protocol *protocol, this->disconnect = impl_disconnect; this->destroy = impl_destroy; - impl->flush_event = pw_loop_add_event(remote->core->main_loop, do_flush_event, impl); + impl->fd = -1; + impl->flush_event = pw_loop_add_event(remote->core->main_loop, do_flush_event, impl); spa_list_append(&protocol->client_list, &this->link); |