Closed Bug 1953080 Opened 8 months ago Closed 6 months ago

Update bundled PipeWire library

Categories

(Core :: WebRTC, task)

task

Tracking

()

RESOLVED FIXED
140 Branch
Tracking Status
firefox138 --- wontfix
firefox139 --- wontfix
firefox140 --- fixed

People

(Reporter: jgrulich, Assigned: jgrulich)

Details

Attachments

(4 files, 1 obsolete file)

Our bundled copy of PipeWire was introduced more than 2 years ago and it is currently quite outdated. We should update it to the latest available version, which is currently (recently released) PipeWire 1.4.0.

Assignee: nobody → jgrulich
Status: NEW → ASSIGNED

Update bundled copy of PipeWire library to latest stable release.

Pipewire 1.4 changed some functions from taking void*
to taking the actual type they expect, which makes
some code that built with 1.2 no longer build with 1.4.

For older versions, this is effectively a no-op.

Attachment #9471061 - Attachment description: Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons → WIP: Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons
Attachment #9471062 - Attachment description: Bug 1953080 - WebRTC backport: Fix build with Pipewire 1.4 r=pehrsons → WIP: Bug 1953080 - WebRTC backport: Fix build with Pipewire 1.4 r=pehrsons

PipeWire 1.4 includes math.h inside an extern "C" block, which breaks
including the header from C++. This is because we end up including
throw_gcc.h from memory/mozalloc, but we won't have _LIBCPP_VERSION
defined. To workaround this issue we just additionally include a header
from the standard C++ library to have _LIBCPP_VERSION defined.

Same issue as fixed here https://phabricator.services.mozilla.com/D11837

Attachment #9471062 - Attachment description: WIP: Bug 1953080 - WebRTC backport: Fix build with Pipewire 1.4 r=pehrsons → Bug 1953080 - WebRTC backport: Fix build with Pipewire 1.4 r=pehrsons
Attachment #9471061 - Attachment description: WIP: Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons → Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons
Attachment #9472894 - Attachment description: WIP: Bug 1953080 - Workaround broken build with PipeWire 1.4 → Bug 1953080 - Workaround broken build with PipeWire 1.4
Attachment #9472894 - Attachment description: Bug 1953080 - Workaround broken build with PipeWire 1.4 → Bug 1953080 - Workaround broken build with PipeWire 1.4 r=pehrsons,mjf
Pushed by jgrulich@redhat.com: https://hg.mozilla.org/integration/autoland/rev/4662f430e6c0 WebRTC backport: Fix build with Pipewire 1.4 r=pehrsons,webrtc-reviewers
Status: ASSIGNED → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → 138 Branch
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attachment #9472894 - Attachment is obsolete: true
Attachment #9471061 - Attachment description: Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons → Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons,mjf
Attachment #9471061 - Attachment description: Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons,mjf → Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons
Attachment #9471061 - Attachment description: Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons → Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons,mjf
Attachment #9471061 - Attachment description: Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons,mjf → Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons,ng,mjf

PipeWire 1.4 includes math.h inside an extern "C" block, which breaks
including the header from C++. This is because we end up including
throw_gcc.h from memory/mozalloc, but we won't have _LIBCPP_VERSION
defined. Workaround for this issue is not to include <pipewire/conf.h>
from the main <pipewire/pipewire.h> header, as this leads to inclusion
of <spa/json-core.h> where the math.h header is used. We don't currently
need this in Firefox anyway.

Attachment #9471061 - Attachment description: Bug 1953080 - Update bundled PipeWire to version 1.4.0 r=pehrsons,ng,mjf → Bug 1953080 - Update bundled PipeWire to version 1.4.2 r=pehrsons,ng,mjf
Attachment #9471061 - Attachment description: Bug 1953080 - Update bundled PipeWire to version 1.4.2 r=pehrsons,ng,mjf → Bug 1953080 - Migrate vendored PipeWire to 'mach vendor' r=pehrsons,ng,mjf

Update bundled copy of PipeWire library to latest stable release.

Pushed by jgrulich@redhat.com: https://hg.mozilla.org/integration/autoland/rev/5c6a028bd334 Migrate vendored PipeWire to 'mach vendor' r=pehrsons,ng https://hg.mozilla.org/integration/autoland/rev/343d10152bf8 Update bundled PipeWire to version 1.4.2 r=pehrsons https://hg.mozilla.org/integration/autoland/rev/281cb8348dfa Workaround broken build with PipeWire 1.4 r=pehrsons
Status: REOPENED → RESOLVED
Closed: 7 months ago6 months ago
Resolution: --- → FIXED
Target Milestone: 138 Branch → 140 Branch

Since nightly and release are affected, beta will likely be affected too.
For more information, please visit BugBot documentation.

QA Whiteboard: [qa-triage-done-c141/b140]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: