diff mbox series

[meta-multimedia,1/2] pipewire: update 0.3.66 -> 0.3.67

Message ID 20230313114130.144008-1-f_l_k@t-online.de
State Under Review
Headers show
Series [meta-multimedia,1/2] pipewire: update 0.3.66 -> 0.3.67 | expand

Commit Message

Markus Volk March 13, 2023, 11:41 a.m. UTC
This is a bugfix release that is API and ABI compatible with previous
0.3.x releases.

  - The loopback module and other couples streams will now not randomly
    fail in some cases. (#3028)
  - The RTP module now has support for sending and receiving MIDI as
    well.
  - The compress offload sink has seen many improvements. It now uses
    ioctls directly to bypass limitations of tinycompress (to be able
    to detect the available codecs, for example).
  - Pulse server compatibility was improved for some apps by improving
    the format parsing and FIX_ stream flag handling.
  - The min quantum in the pulse server was changed from 256/48000 to
    128/48000 to fix some issues with games that expect 5ms or less of
    latency.
  - The Bluetooth plugin has seen many improvements in packet scheduling
    to attempt to reduce stuttering on some devices.
  - The ALSA plugin now handles some impossible cases better. This fixes
    recording in QEMU again. (#2971)

  - SPDX tags were added to the code for copyright information.
  - The random number functions were made more usable.
  - The port property code was moved from the adapter to the port
    implementation itself to make it more useful and unified for the
    cases where no adapter is used (midi and video).
  - Fix a potential overflow in mixer areas.
  - Improve runnable state calculations of nodes. This is part of
    ongoing work to avoid running nodes that should not need to run.
  - The stream will now always call the process function when using
    trigger, even if there are no buffers. This avoids stalls of the
    processing graph in some cases. (#3028)
  - Links are now marked as passive by PipeWire itself so that
    the right thing happens in all cases.
  - Implement the in/out/true values for the node.passive property.
    Place a passive state on ports to make passive links on a port
    by port basis.

  - pw-cat has seen improvements in the encoded file playback case.

  - The rtp module has support for MIDI now.
  - DSCP is now configurable in the RTP module.
  - The loopback module doesn't randomly fail to work anymore. (#3028)

  - The null-audio sink can now be given a format and it will return this
    instead of the default float ones. This makes it possible to make a
    null-sink that has a given format.
  - The compress offload sink has seen many improvements. It now no longer
    uses tinycompress to be able to detect the available codecs.
  - The ALSA plugin now handles some impossible cases better. (#2971)
  - Fix compilation on older compilers. (#3050)

  - The FIX_ flags are now implemented more correctly by fixating the
    stream to the format of the sink/source they ask to be connected to.
    There is now also an option to override the fixation based on rules.
  - Format parsing was improved and should now support all format strings
    supported by pulseaudio including upper and lower case variants
    and shortcuts.
  - Channelmap parsing was improved and should now reject invalid
    channelmaps as well as support the shortcuts supported by pulseaudio.
  - Escape codes in module arguments now work as it does in pulseaudio. (#3071)
  - The min quantum was changed from 256/48000 to 128/48000 to fix some
    issues with games that expect 5ms or less of latency.

  - jack.passive-links can now be used to have a JACK client make passive
    links and the node.passive property is no longer used for this because
    it has a different function.
  - The qsynth rule was updated to the new node.passive features. It is now
    only passive on the output side.

  - BAP delay and transport latency are handled now.
  - A2DP and SCO can now use bigger buffers to improve quality when the
    reception is jittery.
  - The AT+BCC command is now implemented.
  - Packet encoding now happens ahead of time when possible to avoid delays
    before sending it.
  - Source should now always produce complete (padded) buffers to avoid sync
    problems.
  - Don't set unnecessary socket options.

  - The pipewiresrc now has an autoconnect argument.
  - The metadata plane count is now handled correctly in more cases.
  - Stream errors are now handled correctly to stop the GStreamer elements.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 .../pipewire/{pipewire_0.3.66.bb => pipewire_0.3.67.bb}        | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
 rename meta-multimedia/recipes-multimedia/pipewire/{pipewire_0.3.66.bb => pipewire_0.3.67.bb} (99%)

Comments

Martin Jansa March 16, 2023, 2:55 p.m. UTC | #1
On Mon, Mar 13, 2023 at 12:41 PM Markus Volk <f_l_k@t-online.de> wrote:

> This is a bugfix release that is API and ABI compatible with previous
> 0.3.x releases.
>


I didn't investigate further yet, but today's qemux86-64 build failed in
pipewire with:

| Dependency vulkan skipped: feature vulkan disabled
| Run-time dependency libcamera found: NO (tried pkgconfig and cmake)
| Looking for a fallback subproject for the dependency libcamera
|
| ../git/spa/meson.build:92:2: ERROR: Automatic wrap-based subproject
downloading is disabled

It's reproducible with 0.3.66 as well, 0.2 is fine.

In 0.3.64 the error message is different:
| ../git/spa/meson.build:81:2: ERROR: Dependency "libcamera" not found,
tried pkgconfig

I normally don't use pipewire, I was building it today just because I was
looking into webrtc-audio-processing upgrade and this is one of few users
of it.

Will investigate further, but if it rings any bells to you right away, let
me know.

Regards,
Markus Volk March 17, 2023, 5:59 p.m. UTC | #2
Am Do, 16. Mär 2023 um 15:55:54 +0100 schrieb Martin Jansa 
<Martin.Jansa@gmail.com>:
> | ../git/spa/meson.build:81:2: ERROR: Dependency "libcamera" not 
> found, tried pkgconfig

Unfortunately nothing rings a bell for me here. libcamera is found for 
my builds and I have not seen this problem yet. Is there a way to 
reproduce? what layer are you using?
Martin Jansa March 17, 2023, 7:05 p.m. UTC | #3
I've removed libcamera from default PACKAGECONFIG to work around the issue
in the end.

But now after your reply I've found that we have different libcamera recipe
in LuneOS:
https://github.com/webOS-ports/meta-webos-ports/commit/fa03dd3d5e3ce2e61b87cea8c2f41c32ce96f9fb
renaming this resolves the pipewire issue.

I'm sorry I didn't realize this sooner, I've used LuneOS just because I had
more up2date sstate there and forgot about this.

In the end gave-up on webrtc-audio-processing upgrade as well, in case
someone wants to start from my WIP changes (pulseaudio + gst-plugins-bad
from oe-core as well as pipewire from meta-oe would need more changes to be
compatible with webrtc-audio-processing-1):
https://git.openembedded.org/meta-openembedded-contrib/log/?h=jansa/webrtc
https://git.openembedded.org/openembedded-core-contrib/log/?h=jansa/webrtc
we use this new API in some new pulseaudio module, that's why I was looking
at upgrading it everywhere, but the default 0.3.1 is probably better fit
for default webrtc-audio-processing version for now.

On Fri, Mar 17, 2023 at 6:59 PM Markus Volk <f_l_k@t-online.de> wrote:

> Am Do, 16. Mär 2023 um 15:55:54 +0100 schrieb Martin Jansa <
> Martin.Jansa@gmail.com>:
>
> | ../git/spa/meson.build:81:2: ERROR: Dependency "libcamera" not found,
> tried pkgconfig
>
>
> Unfortunately nothing rings a bell for me here. libcamera is found for my
> builds and I have not seen this problem yet. Is there a way to reproduce?
> what layer are you using?
>
diff mbox series

Patch

diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.66.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.67.bb
similarity index 99%
rename from meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.66.bb
rename to meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.67.bb
index a7c77463e..0d4dd63f9 100644
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.66.bb
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.67.bb
@@ -13,7 +13,7 @@  LIC_FILES_CHKSUM = " \
 
 DEPENDS = "dbus ncurses"
 
-SRCREV = "08b0ed65765a1033424a5c0d897a392a61f8a2a3"
+SRCREV = "26623ff8cb3c9ba774537379a1835c5efb0d5159"
 SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
@@ -288,6 +288,7 @@  FILES:${PN}-tools = " \
     ${bindir}/pw-dot \
     ${bindir}/pw-dsdplay \
     ${bindir}/pw-dump \
+    ${bindir}/pw-encplay \
     ${bindir}/pw-link \
     ${bindir}/pw-loopback \
     ${bindir}/pw-metadata \