Revisions of pipewire

Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 937764 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 29)
- Replace the Recommends wireplumber to a Suggests
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 937747 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 28)
- Unconditionally enable AAC support now that fdk-aac-free is in
  Factory (adapted from SR 936225 by Neal Gompa
  <ngompa@opensuse.org>)

- Makes sure if we're using wireplumber and pulseaudio that
  we don't enable the audio devices in pipewire by requiring
  wireplumber-audio or pulseaudio if wireplumber is installed
- Better integration with PulseAudio (bsc#1188516) made by tiwai:
  * Add Requires pulseaudio-setup package for the extra setups
    in the %post section
  * Add the missing Recommends alsa-plugins-pulse to
    pipewire-pulseaudio package
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 931141 from Bjørn Lie's avatar Bjørn Lie (iznogood) (revision 27)
- Update to version 0.3.40:
  * Highlights:
    - Producers and consumers can now incrementally negotiate a
      format by narrowing down the options. This can be used to
      select an optimal combination of format and modifiers.
    - Driver nodes such as the consumer of a headless compositor
      can now throttle the speed based on a new trigger_done event.
    - Headless compositors can now signal a damage event to
      consumers to start the processing of the graph.
    - Compatibility improvements in JACK.
    - Draining and resuming is now working correctly in pulse and
      alsa.
    - Many bugfixes and improvements.
  * PipeWire:
    - Many BSD fixes.
    - clang compilation fixes.
    - Fix map implementation on big-endian machines.
    - Improve tracking of param changes in pw-stream.
    - Add support for renegotiation. With this change, producer and
      consumer can incrementally renegotiate a format until it is
      fixed. This will be used to do complex negotiation of DRM
      modifiers.
    - Add a trigger-done event in the stream. This can be used to
      know when processing of the complete graph has finished after
      issuing a trigger_process() and it can be used to throttle
      processing.
    - Add a RequestProcess node event and command. This can be used
      by non-driver nodes to suggest to a driver to start
      processing. One case is where a compositor can emit this
      event as a result of a screen update to let the headless
      compositor start an update.
    - Fix zeroconf sample format.
    - pw-mon outputs to stderr now and has colors.
  * SPA:
    - Fix compilation on ppc and armv7.
    - Fix port type check for ALSA seq midi ports so that they are
      not falsely listed as hardware.
    - Fix crash when running SSE code on unsupported HW.
    - The libcamera plugin was rewritten. It now supports hotplug,
      format enumeration and an easier to read codebase.
    - Fix compatibility some more for cards with 64 channels.
  * pulse-server:
    - Flush data in pause in combine-sink to avoid stray audio
      fragments.
    - Fix a race where not all objects were removed correctly.
    - The latency calculations and setup was improved to more
      closely match pulseaudio behaviour. PULSE_LATENCY_MSEC should
      now resemble pulseaudio more closely.
    - The drained reply is now sent only once and new data will be
      accepted once the drain completes.
    - Fix a potential crasher bug where the stream started
      processing before the setup was completed.
    - The server will now drop the client connections when the
      pipewire connection is lost.
  * JACK:
    - Rework the jack_port_get_buffer() method to return the same
      memory when called multiple times during the process()
      callback. This makes things work on a new Hydrogen.
    - Add an option to disable showing the monitor ports.
    - JACK ports are now sorted per node/client and port_id. This
      should more closely match JACK behaviour and avoid random
      port order.
  * v4l2:
    - Fix v4l2 LD_PRELOAD script.
    - Make sure we destroy the proxy when the global is destroyed.
  * ALSA:
    - _prepare should exit the draining state.
    - Fix the precision of the _delay function by taking into
      account the amount of queued samples are the correct
      samplerate.
- Drop patches fixed upstream:
  * 0001-cpu-fix-compilation-on-some-architectures.patch
  * 0001-map-make-_insert_at-fail-on-a-removed-item.patch
  * 0002-map-use-uintptr_t-for-the-next-pointer.patch
Takashi Iwai's avatar Takashi Iwai (tiwai) accepted request 930091 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 26)
- Recommend wireplumber so it's preferred to pipewire-media-session
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 928176 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 25)
- Add patches from upstream to fix build in s390x:
  * 0001-map-make-_insert_at-fail-on-a-removed-item.patch
  * 0002-map-use-uintptr_t-for-the-next-pointer.patch
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 928098 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 24)
- Use readline-devel instead of pkgconfig(readline) so it can be
  built in Leap15.3/SLE15-SP3
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 926691 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 23)
- Fix %systemd_user_post using the now separated
  pipewire-media-session.service
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 926684 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 22)
- Update to version 0.3.39
  * Highlights
    - media-session is now moved into a separate module to speed up
      its deprecation in favour of WirePlumber.
    - There is now an LD_PRELOAD v4l2 emulation library to run some
      existing v4l2 applications on top of PipeWire.
    - Filter-chains should now flush out remaining samples when
      paused. There is now also the option to let a filter-chain
      drain so that long filters
    such as reverbs can fade out properly.
    - Stability and compatibility improvements in JACK apps.
    - Better Bluetooth compatibility with more devices.
    - libcamera plugin improvements.
    - Many bugfixes and improvements all over the map.
  * PipeWire
    - Fix compilation on ARM.
    - Log topics are added to most modules.
    - Documentation updates. Many improvements to the layout.
      Reorganisation of the modules and groups.
    - Share a work queue for all links and nodes. This removes the
      need for a separate eventfd per link and per node.
    - Catch errors in the map implementation.
    - Add option to compile without dbus support.
    - Fix biquad frequency. It was using the wrong sample rate.
    - Fix a potential crash when destroying nodes, in some cases
      the node would not be deactivated properly.
    - Add some more helpers for dealing with properties and their
      values.
    - Implement flush and reset on virtual sinks/sources.
    - Make it possible to let virtual sinks/filter-chains run and
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 925057 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 21)
- Add patch from upstream to fix compilation on ARM (boo#1191600):
  * 0001-fix-compilation-on-ARM.patch
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 922337 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 20)
- Update to version 0.3.38:
  * Highlights
    - Topic based logging was added to improve debugging.
    - An off-by-one error was fixed in the audio resampler that could
      cause distortion when downsampling.
    - Various bluetooth compatibility improvements.
    - More fixes and improvements.
  * PipeWire
    - module-pulse-tunnel now has better default latency to make it work
      better in more cases. There is also an option to configure the
      desired latency.
    - pw-cli now has readline support.
    - Topic based logging was added. Log lines can now be filtered by
      topic using wildcards. This should improve debugging.
    - The systemd service files should now have better descriptions.
    - Fix a crash in module-zeroconf-discover when unloading.
    - Fix a crash in filter-chain when using unaligned memory.
  * ALSA
    - Sync the udev rules and profiles with pulseaudio.
    - Fix a memory leak.
  * SPA plugins
    - An off-by-one error was fixed in the resampler that could cause
      distortion when downsampling. (#1646)
  * Bluetooth
    - Avoid probing the native backend because it might block for DBus
      activation. This fixes some long startup times.
    - Fix the kernel version check, 5.14.x kernels should also support
      mSBC.
    - Fix FastStream microphone support in more cases.
    - Add workaround for Intel AX200.
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 921126 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 19)
- Update to version 0.3.37:
  * Highlights
    - Capture and playback is now avoided even more on unavailable
      devices. This should fix some issues where an unusable
      microphone was selected by default. It should now also again
      be possible to select an unavailable device as the default.
    - Native DSD audio playback is now supported. pw-cat can now
      also play DSF files with the -d option.
    - JACK stability improvements with buffer-size and samplerate
      changes in some apps.
    - Many cleanups and bugfixes all over the place.
  * PipeWire
    - pw-metadata -d does not cause an infinite loop anymore.
      (#1622)
    - Increase some plugin buffer sizes to fix some issues with
      many channels. (#1620)
    - Protect the global plugin list with a lock. Make sure
      pw_init() is locked. Fixes some issues with concurrent ALSA
      plugin usage.
  * media-session
    - Unavailable devices can be set as the default again. (#1624)
    - Do a better check if a device has available routes and avoid
      selecting devices with unavailable routes as default.
    - Media-session was moved to its own directory. It used to live
      in examples but it is past the example stage and it
      interferes with the build options for the real examples.
  * Bluetooth
    - The hardware quirk database is now loaded by the plugin
      instead of the session manager. This makes it also work with
      wireplumber.
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 920254 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 18)
- Add patches from upstream to fix an "use-after-free" error and
  to set the version number correctly:
  * 0001-media-session-dont-use-after-free-if-linking-node-removed.patch
  * 0002-update-version-number-as-well.patch
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 919537 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 17)
- Update to version 0.3.36:
  * Highlights
    - A quick update with mostly only bugfixes and small
      improvements.
    - Capture and playback is now avoided on unavailable devices.
      This should fix some issues where an unusable microphone was
      selected by default.
    - MIDI output should not stop randomly now.
    - The GStreamer elements are much improved, cheese should work
      a lot better now.
    - Virtual sinks and sources should now always show up
      immediately.
    - JACK processing is now delayed until buffersize and
      samplerate are emited. This should improve stability of many
      JACK apps.
    - JACK transport sync is now implemented correctly so that
      preroll in bitwig works.
  * PipeWire
    - The module dir environment variable can now contain multiple
      paths.
    - Documentation now contains dot graphs of dependencies.
      (#1585)
    - config min/max/default quantum values are now scaled with the
      samplerate.
    - A potential crash was fixed where destroyed memory was still
      used by a node. This could cause crashes in cheese.
  * pipewire-media-session
    - Only allow passthrough for passthrough formats (S/PDIF) for
      now. (#1587)
    - Improve bluetooth profile autoswitch.
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 917721 from Frederic Crozat's avatar Frederic Crozat (fcrozat) (revision 16)
- Update to version 0.3.35:
  * Highlights:
    - S/PDIF passthrough over optical or HDMI is now implemented.
    - Some critical fixes to MIDI, draining of streams and various
      modules.
    - skypeforlinux should work better now after adding it to the
      quirks database.
    - Bluetooth codecs are now in separate plugins to make it
      easier to ship them.
  * PipeWire: 
    - Drain was fixed in pw-stream. In some cases it would not
      clear the drain state correctly. Fixes the issue where
      speaker-test would only play one channel.
    - Loopback connections to a driver will now activate the
      driver. This fixes an issue where MIDI connections between
      devices or some applications (puredata) would not get any
      MIDI messages. (#1559)x.
    - The audiomixer can now mix more formats. Together with the
      passthrough improvements this can be used to avoid
      conversions to/from the DSP format in some cases.
    - Make sure we idle drivers when removing a node from it in all
      cases. JACK clients could keep a driver node busy.
    - Add new methods to accumulate object info. The old one was
      difficult to use when applications need to accumulate
      multiple changes.
    - A new interface to load modules has been added. Plugins can
      use this to ask the host (PipeWire) to load spa plugins.
    - Increase param buffer size to handle larger params. Nodes
      with a large number of channels would sometimes not have
      properties. (#1574)
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 914658 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 15)
- Add BuildRequires: pkgconfig(libcap) since it's being searched
  by the build scripts.
- Replace BuildRequires: pkgconfig(libopenaptx) with libfreeaptx
  since openaptx has a license issue
- Use bcond_with to enable/disable the usage of libcamera
  (the defaults are not changed: it's disabled in Leap since
  upstream doesn't recommend enabling it yet and enabled in TW
  since we can allow some experimental support there)
- Changes suggested by darix.
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 914410 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 14)
- Update to version 0.3.34:
  * Highlights
    - Fixes some critical issues with previous release. Such as
      devices not showing up and default devices being lost.
    - Support for consumer driver streams to make the producer
      v-sync to the consumer monitor in a headless compositor
      setup.
    - Improvements to routing of streams.
    - Bluetooth battery status support for head-set profile and
      using Apple extensions. aptX-LL and FastStream codec support
      was added.
    - Internal latency of ALSA devices can now be configured.
    - A fast convolver was added to the filter-chain to implement
      virtual surround sinks or reverbs.
  * PipeWire
    - Add support for streams that are driver nodes for the graph.
      This was already possible for source streams but it is now
      also possible for playback streams. This can be used to let
      a producer v-sync to the consumer monitor in a headless
      compositor setup. (#1484)
    - State files are now stored in XDG_STATE_HOME instead of
      XDG_CONFIG_HOME. They will still be loaded from the config
      home if they are not in the new state home, to ease
      migration.
    - Set a driver on inactive nodes to make transport work in
      xjadeo. (#1491)
    - Fix parsing of filter-chain controls.
    - A new FFT based convolver was added to module-filter-chain.
      It uses a 0-latency 2 stage convolver with small FFT for the
      head and a large FFT for the tail of the convolution. A
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 910352 from Frederic Crozat's avatar Frederic Crozat (fcrozat) (revision 13)
- Update to version 0.3.33:
  * Highlights
    - Better support for virtual sinks/sources for Pro Audio
      profile.
    - Better DMA-BUF format modifier negotiation.
    - Support multiple sample rates in the graph. Not enabled
      by default yet.
    - Bluetooth can now automatically switch between headset
      and audio profile.
    - Documentation updates.
    - Many improvements and crasher fixes.
  * PipeWire
    - Make AUX channels an official channel map, use this for the
      PRO audio profile so that we can name the channels. This
      make it possible to define virtual sources and sinks for
      Pro Audio devices in a more reliable way.
    - Fix scheduling of some virtual sinks/sources. (#1407)
    - Fix potential corruption of ringbuffer because of multiple
      concurrent writers. This might be the cause for many reported
      crashes. (#1451)
    - Don't place sockets in $HOME. (#1443)
    - Improve DMA-BUF negotiation. Add a flag to avoid fixation
      of a property so that producers can negotiate more
      efficiently. This is used to negotiate DMA-BUF modifiers,
      which should make more efficient use of the GPU. (#1084)
    - Add support for multipe sample rates. The graph can switch
      when IDLE to one of the supported rates. Add an option to
      lock the rate as well. This is not enabled by default yet
      because of driver bugs that need to be worked around first.
    - Add node.lock-quantum property that can be used to lock the
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 908514 from Antonio Larrosa's avatar Antonio Larrosa (alarrosa) (revision 12)
- Move with-{alsa,jack,pulseaudio} from the media-session package
  to the packages that implement each support.
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 908411 from Frederic Crozat's avatar Frederic Crozat (fcrozat) (revision 11)
- Add patch pipewire-fix-libcamera-build.patch: fix build with
  latest libcamera.
- Do no build libcamera support on Leap 15.3 or lower (too old
  libcamera) and change name of BuildRequires from camera to
  libcamera.
- Update minimal version for alsa buildrequires.
Antonio Larrosa's avatar Antonio Larrosa (alarrosa) accepted request 907334 from Frederic Crozat's avatar Frederic Crozat (fcrozat) (revision 10)
- Update to 0.3.32:
  * Highlights
    - Real-time priority handling for threads was reworked.
      Freewheeling will now drop RT priorities to avoid being
      killed.
    - Problems with filter chains and echo-cancel being linked in
      a loop was fixed.
    - alsamixer should now be able to see the mixer controls again.
    - JACK has seen some latency reporting improvements that make
      Ardour report latencies correctly.
    - Many bugfixes and improvements.
  * PipeWire
    - Fix a bug in the neon audio resampler code.
    - There is now a node.link-group property to relate linked
      streams. this can be used to track the dataflow with
      coupled streams.
    - Fix a crash when recalculating latency on a destroyed
      port. (#1371)
    - Filter chains and other modules that create streams can
      now also be added to the daemon config itself. (#1309)
    - Fix some potential deadlocks in timerfd. (#1377)
    - Feedback links are skipped when recalculating latency to
      avoid loops.
    - The dummy driver and null-sink now stop the timerfd when
      following another driver instead of generating useless
      graph wakeups.
    - rt.limit was increased to 2 seconds. Some applications got
      killed because they run lengthy code in the Real-Time
      thread. (#1344)
    - Fix s24_32 to float, it was not sign extending
Displaying revisions 201 - 220 of 229
openSUSE Build Service is sponsored by