Open Bug 1700243 Opened 3 years ago Updated 2 months ago

Cubeb remoting, sandboxing support on Android needed

Categories

(Core :: Audio/Video: cubeb, task)

All
Android
task

Tracking

()

ASSIGNED

People

(Reporter: owlish, Assigned: kinetik, NeedInfo)

References

(Depends on 1 open bug, Blocks 7 open bugs)

Details

(Whiteboard: [sandboxing] [geckoview:2022q3] [geckoview:2022q4])

We are currently working on sandboxing Fenix, and we need cubeb to be able to handle sandboxing on Android as well.

It appears remoting has to work for sandboxing. Currently, when I naively try to define MOZ_CUBEB_REMOTING in [1] and remove this condition in [2], I get a linker error undefined hidden symbol: audioipc_client_init.

[1] https://searchfox.org/mozilla-central/rev/36f79bed679ad7ec46f7cd05868a8f6dc823e1be/dom/media/CubebUtils.cpp#63
[2] https://searchfox.org/mozilla-central/source/toolkit/library/rust/gkrust-features.mozbuild#33

Blocks: 1698216
QA Whiteboard: [sandboxing]
Type: defect → task
Blocks: 1698230
Blocks: 1698214
OS: Unspecified → Android
Hardware: Unspecified → All
Whiteboard: [fission:android:m3]
Depends on: 1710095
Depends on: 1727095
Assignee: nobody → kinetik
Status: NEW → ASSIGNED
Depends on: 1726275

cubeb sandboxing is a prerequisite for Android process sandboxing, but it's not a blocker for shipping Android Fission.

Whiteboard: [fission:android:m3]
QA Whiteboard: [sandboxing]
Whiteboard: [sandboxing] [geckoview:m103?]
Summary: Sandboxing support on Android needed → Cubeb remoting, sandboxing support on Android needed
Whiteboard: [sandboxing] [geckoview:m103?] → [sandboxing] [geckoview:2022h2?]
Whiteboard: [sandboxing] [geckoview:2022h2?] → [sandboxing] [geckoview:2022q3?]
Whiteboard: [sandboxing] [geckoview:2022q3?] → [sandboxing] [geckoview:2022q3]
Blocks: 1709948
Whiteboard: [sandboxing] [geckoview:2022q3] → [sandboxing] [geckoview:2022q3] [geckoview:2022q4]
Blocks: 1362220
Blocks: 1771452
Blocks: 1855368

update - The new audio ipc remoting work landed and is enabled by default for testing.

That's great news! So, to make sure we are using remoted cubeb when running tests locally, all we need to do is to run our tests on a fresh rebase and fresh bootstrap, is that correct? We don't need to change anything here for Android?

Flags: needinfo?(jmathies)

re-routing that question to Mathew for confirmation but yes, it's on by default in mc so should get picked up for test runs.

Flags: needinfo?(jmathies) → needinfo?(kinetik)

All of the testing I could perform would suggest it works on mach run but it does not work on mochitests, but I believe I hve pinged :kinetic enough already :)

Depends on: 1846706
Depends on: 1869050
Blocks: 1882927
You need to log in before you can comment on or make changes to this bug.