scream icon indicating copy to clipboard operation
scream copied to clipboard

MAC OS X receiver

Open kourindouhime opened this issue 6 years ago • 10 comments

hi, I don't know where to put this, but I was able to brew install pulseaudio and use pulseaudio receiver on mac os x... hope that helps someone

kourindouhime avatar Feb 20 '19 20:02 kourindouhime

Can I add this here? A feature request for a macOS transmitter/sender. It will only easily support network mode. It can be a user mode driver, similar to the BackgroundMusic driver, so it won't need kernel signing.

kode54 avatar Oct 03 '19 00:10 kode54

Sorry to bother everyone :(

could anyone explain to me how that works? I managed to brew install pulse audio, but I can't get the dev things for obv. reasons,

when trying to run scream-pulse after make I just get

> devy@devys-iMac pulseaudio % ./scream-pulse -p 4011 -i en0
> W: [] caps.c: Normally all extra capabilities would be dropped now, but that's impossible because PulseAudio was built without capabilities support.
> Unable to connect to PulseAudio. Connection refused

dFlamer avatar Oct 27 '19 15:10 dFlamer

It seems that pulseaudio is not running, open another terminal and run pulseaudio then run again scream-pulse. I've just tested on MacOS Catalina and it does connect to pulseaudio (I didn't stream anything, I don't have a windows pc here). You can also run pulseaudio as a daemon with pulseaudio -D.

martinellimarco avatar Oct 27 '19 22:10 martinellimarco

I have this working great, however my the latency of pulseaudio on the receiving end (osx / macos) is fixed at 250ms. Pulseaudio is very new to me and i'm currently pulling my hair out trying to lower the PA fixed-latency of all my audio devices.

I know this probably isn't the correct or most appropriate forum to ask, but does anyone have any idea of how to lower the fixed latency?

@kourindouhime how is the latency for you?

Below is the output from pacmd list-sinks

index: 1 name: <Out_1__Out_2__Out_3__Out_4> driver: <module-coreaudio-device.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY FLAT_VOLUME state: RUNNING suspend cause: (none) priority: 9000 volume: mono: 65536 / 100% / 0.00 dB, mono: 65536 / 100% / 0.00 dB, mono: 65536 / 100% / 0.00 dB, mono: 65536 / 100% / 0.00 dB balance 0.00 base volume: 65536 / 100% / 0.00 dB volume steps: 65537 muted: no current latency: 12.17 ms max request: 0 KiB max rewind: 0 KiB monitor source: 1 sample spec: float32le 4ch 48000Hz channel map: mono,mono,mono,mono Mono used by: 1 linked by: 1 fixed latency: 250.00 ms card: 1 <UMC404HD_192k> module: 8 properties: device.string = "UMC404HD 192k" device.product.name = "UMC404HD 192k" device.description = "UMC404HD 192k" device.access_mode = "mmap" device.class = "sound" device.api = "CoreAudio" device.buffering.buffer_size = "8192" device.vendor.name = "BEHRINGER" device.icon_name = "audio-card"

jollybully avatar Jul 08 '20 23:07 jollybully

@jollybully did you manage to reduce the latency?

nicruo avatar Aug 10 '20 11:08 nicruo

By implementing support fore coreaudio, the latency should be very low.

DatanoiseTV avatar Aug 31 '21 11:08 DatanoiseTV

By implementing support fore coreaudio, the latency should be very low.

DatanoiseTV avatar Aug 31 '21 11:08 DatanoiseTV

Someone can make a guide to how to connect macOS receiver with Windows server?

dilincoln avatar Oct 16 '22 19:10 dilincoln

I was able to use the raw output function in conjunction with ffplay to get audio output with decent latency.

./scream -o raw  | ffplay -f s16le -ar 44100 -ch_layout stereo -fflags nobuffer -

pawitp avatar Apr 27 '24 05:04 pawitp

The ffplay solution eventually stops working if there are too many gaps in the network packets, likely due to how CoreAudio works.

I've create a proof-of-concept for a CoreAudio receiver here - https://github.com/pawitp/scream/pull/1

Currently, I'm not planning to productionize it, but if anyone would like to create a CoreAudio receiver, please feel free to use it as a start.

pawitp avatar Apr 29 '24 13:04 pawitp