-
Notifications
You must be signed in to change notification settings - Fork 479
Support pipewire as host #1093
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Decodetalkers
wants to merge
85
commits into
RustAudio:master
Choose a base branch
from
Decodetalkers:pipewire
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,598
−108
Open
Support pipewire as host #1093
Changes from all commits
Commits
Show all changes
85 commits
Select commit
Hold shift + click to select a range
13677c8
chore: little process
Decodetalkers f385d75
feat: base settings
Decodetalkers 46904a6
chore: base connect function
Decodetalkers 38d35df
chore: nearly finished
Decodetalkers 2ff6ce6
chore: seems working well
Decodetalkers 7fe2e0e
fix: feature wrong in platform/mod.rs
Decodetalkers fd9527e
chore: tidy up, clippy, fmt
Decodetalkers 06c2909
fix: output error
Decodetalkers ef3b8ff
feat: sink can do both side
Decodetalkers 448a7dd
chore: complete supported configs
Decodetalkers 4bdea8e
feat: support show the device type
Decodetalkers 9ba9223
chore: modify the _typos.toml
Decodetalkers aed88a5
chore: reset default backend to alsa
Decodetalkers b6a17b0
chore: add pipewire dependence
Decodetalkers 272a398
fix: target object should be the node name
Decodetalkers e13b722
chore: use object_serial instead
Decodetalkers 6f6e413
chore: capture should be output
Decodetalkers 66ec2bb
chore: remove unused timeout
Decodetalkers a5871e9
fix: test pipewire with rust 1.85
Decodetalkers 87bd324
chore: keep rust version
Decodetalkers 754002b
fix: ci
Decodetalkers 3a86e76
fix: ci problem
Decodetalkers db94541
fix: remove the unexisted variable
Decodetalkers 54d69da
feat(pipewire): add support for I64, U64, and F32 sample formats
loxoron218 e7d01be
feat(pipewire): support multiple sample rates in device configuration
loxoron218 a9e4e40
fix(pipewire): improve error handling for stream initialization timeout
loxoron218 5277348
fix(pipewire): normalize channel list parsing and improve code format…
loxoron218 2e7c9a7
fix: support bluetooth devices
Frando 24327a4
feat(pipewire): use stable node.name as device ID and enrich device d…
Frando e35cc43
fixup device properties
Frando 0823f9e
chore: clippy fix
Decodetalkers 8ac6c74
chore: follow upstream changes
Decodetalkers b66f059
chore: clippy fix for examples
Decodetalkers 66e1a5a
fix: stream dropped, pipewire still works
Decodetalkers 73f7f92
fix: thread won't stop
Decodetalkers 1c7ba88
fix: support support audio rate
Decodetalkers 58342ea
fix: do not make StreamConfig Copyable
Decodetalkers 58ee7ff
fix: not set rate but the quantum
Decodetalkers 39c22e9
fix: buffer_size not work
Decodetalkers 852c607
chore: use NODE_FORCE_QUANTUM instead
Decodetalkers 7599358
chore: adjust the examples
Decodetalkers 49e88fc
chore: do fmt
Decodetalkers ce129e5
fix: unit test
Decodetalkers 08234c3
chore: do as suggested, use the type alias, join thread and etc
Decodetalkers 31e3955
chore: comment RT_PROCESS
Decodetalkers 7f7f854
chore: better error handle
Decodetalkers 48af57e
chore: do error callback if the rate or channels does not fit the input
Decodetalkers b2acf3a
chore: rename class_type to class
Decodetalkers aa0aeb8
chore: use keys in pipewire crate
Decodetalkers ae7d5ea
chore: use constants and the keys in pipewire
Decodetalkers 76e1cb2
chore: try downgrade the compiler version
Decodetalkers efd177e
chore: set default_input to DefaultInput not DefaultSink
Decodetalkers 330e5b8
chore: handle state change in pipewire
Decodetalkers 95360e5
fix: typos pedding and peddinglist
Decodetalkers 72d1782
fix: allow_rates return wrong type
Decodetalkers b22d907
chore: add pipewire available check
Decodetalkers 3967b47
fix: connect_output does not listen to the FixedBuffer
Decodetalkers 0a75f5a
chore: remove unwrap and use expect for some known results
Decodetalkers 21955f2
chore: try revert the changes in platforms.yml
Decodetalkers 4be348f
fix: message related to pipewire should be pipewire not jack
Decodetalkers 3508e4f
chore: split the logic of parse rates to function and add unit tests
Decodetalkers efb9dd7
chore: remove limit_quantum
Decodetalkers cce2ea7
chore: rename init_roundtrip to init_devices
Decodetalkers b81da72
chore: just check the pipewire service to confirm if it support pipewire
Decodetalkers 7a57d62
feat: support Stream/Output/Audio and Stream/Input/Audio "stream.0"
Decodetalkers 9c01815
chore: update the comment in stream.rs, about the format change
Decodetalkers 17252d3
chore: remove blank in examples/beep.rs
Decodetalkers c1dcc4c
chore: sync the written way in beep.rs
Decodetalkers 7075e37
chore: sync the comment of pipewire in the commands in examples
Decodetalkers 1bc5358
chore: make the ci same logic with pulseaudio
Decodetalkers ddbed8c
chore: remove the file added by typos-lsp
Decodetalkers 70ddfab
chore: not commit allow(dead_code) to whole struct
Decodetalkers 6f5d1c0
chore: rename all rv to rx
Decodetalkers c1ee289
chore: remove useless code
Decodetalkers da111e4
chore: clippy fix for examples
Decodetalkers 0ba60e9
chore:fix typos in examples and ci, format in Cargo.toml and add docu…
Decodetalkers de85918
chore: add pipewire information to CHANGELOG and README
Decodetalkers 042788a
chore: remove all expect
Decodetalkers 28fcfcc
chore: stop stream when input params do not match
Decodetalkers 65a9e00
chore: remove useless comment
Decodetalkers 616ee50
chore: remove useless function
Decodetalkers 5ae8f23
chore: use timestamp of pipewire
Decodetalkers b609389
chore: reset samples to "zero" when doing output
Decodetalkers fe87df3
chore: modify the stream.rs as suggested
Decodetalkers 6838462
chore: move fill_with_equilibrium to src/host/mod.rs and use it
Decodetalkers File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -32,6 +32,12 @@ pulseaudio = ["dep:pulseaudio", "dep:futures"] | |
| # Note: JACK must be installed separately on all platforms | ||
| jack = ["dep:jack"] | ||
|
|
||
| # PipeWire backend | ||
| # Provides audio I/O on Linux and some BSDs via the PipeWire multimedia server | ||
| # Requires: PipeWire server and client libraries installed on the system | ||
| # Platform: Linux, DragonFly BSD, FreeBSD, NetBSD | ||
| pipewire = ["dep:pipewire"] | ||
Decodetalkers marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| # Audio thread priority elevation | ||
| # Raises the audio callback thread to real-time priority for lower latency and fewer glitches | ||
| # Requires: On Linux, either rtkit or appropriate user permissions (e.g. limits.conf or capabilities) | ||
|
|
@@ -103,6 +109,7 @@ audio_thread_priority = { version = "0.34", optional = true } | |
| jack = { version = "0.13", optional = true } | ||
| pulseaudio = { version = "0.3", optional = true } | ||
| futures = { version = "0.3", optional = true } | ||
| pipewire = { version = "0.9", optional = true, features = ["v0_3_53"] } | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it does not exist |
||
|
|
||
| [target.'cfg(target_vendor = "apple")'.dependencies] | ||
| mach2 = "0.5" | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.