The Stack Overflow podcast is back! Listen to an interview with our new CEO.
3 added 1129 characters in body
source | link

So you've definitely got pulseaudio installed, but you are apparently missing the ALSA pulseaudio emulation drivers. Pulseaudio is interfaced by client apps in a lot of different ways, but a common one is for the applications to address ALSA and pulseaudio to intercept. Alsamixer evern works this way on a properly configured system. Here is a very useful page for understanding the way pulseaudio works. In particular, it has this to say on module-alsa-sink:

You should (almost) never have to load this module manually.

You might be interested in the module a couple lines up there, module-pipe-{sink,source}:

Provides a simple test {sink,source} that {writes,reads} the audio data {to,from} a FIFO...

To that end, if you've got VLC, or can get it, you might try streaming with it:

pacmd list-source-outputs

should contain an output address something like what I've pasted in below for your dummy source:

cvlc pulse://alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor \
    --sout '#transcode{acodec=mpga,ab=128,channels=2}:\
     standard{access=http,dst=0.0.0.0:8080/pc.mp3}' &

Oh, and you might also have some interest in pacat and you've probably already got it. It's the single executable that both parec and paplay link to.

A little more on Pulse/ALSA (though they're documentation is pretty good on this):

Pulseaudio attempts to imitate ALSA for any application that hasn't yet been updated to interface it. Basically the theory goes that if an application isn't equipped to do dbus it with pulse, pulse will middleman ALSA anyway via the module-alsa-sink plugin interface I mentioned before. In fact, the same is true for OSS and Esound and their respective modules if they should be required.

But maybe you're overthinking this - the simplest sound streaming can be accomplished with mkfifo, or even just cat, should you desire. Depending on your bandwidth and latency requirements netcat could be pretty useful here. You could also look in to Sox - it offers an interface similar to pacat.

What is your linux distribution? I understand its in a container, but verifying you've updated all relevant packages is probably called for here, especially if pulse isn't running. Try this:

pulseaudio --start

If it runs, try this for maybe a better hint at what your source might be:

pacmd list-source-outputs | grep 'source:'

So you've definitely got pulseaudio installed, but you are apparently missing the ALSA pulseaudio emulation drivers. Pulseaudio is interfaced by client apps in a lot of different ways, but a common one is for the applications to address ALSA and pulseaudio to intercept. Alsamixer evern works this way on a properly configured system. Here is a very useful page for understanding the way pulseaudio works. In particular, it has this to say on module-alsa-sink:

You should (almost) never have to load this module manually.

You might be interested in the module a couple lines up there, module-pipe-{sink,source}:

Provides a simple test {sink,source} that {writes,reads} the audio data {to,from} a FIFO...

To that end, if you've got VLC, or can get it, you might try streaming with it:

pacmd list-source-outputs

should contain an output address something like what I've pasted in below for your dummy source:

cvlc pulse://alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor \
    --sout '#transcode{acodec=mpga,ab=128,channels=2}:\
     standard{access=http,dst=0.0.0.0:8080/pc.mp3}' &

Oh, and you might also have some interest in pacat and you've probably already got it. It's the single executable that both parec and paplay link to.

So you've definitely got pulseaudio installed, but you are apparently missing the ALSA pulseaudio emulation drivers. Pulseaudio is interfaced by client apps in a lot of different ways, but a common one is for the applications to address ALSA and pulseaudio to intercept. Alsamixer evern works this way on a properly configured system. Here is a very useful page for understanding the way pulseaudio works. In particular, it has this to say on module-alsa-sink:

You should (almost) never have to load this module manually.

You might be interested in the module a couple lines up there, module-pipe-{sink,source}:

Provides a simple test {sink,source} that {writes,reads} the audio data {to,from} a FIFO...

To that end, if you've got VLC, or can get it, you might try streaming with it:

pacmd list-source-outputs

should contain an output address something like what I've pasted in below for your dummy source:

cvlc pulse://alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor \
    --sout '#transcode{acodec=mpga,ab=128,channels=2}:\
     standard{access=http,dst=0.0.0.0:8080/pc.mp3}' &

Oh, and you might also have some interest in pacat and you've probably already got it. It's the single executable that both parec and paplay link to.

A little more on Pulse/ALSA (though they're documentation is pretty good on this):

Pulseaudio attempts to imitate ALSA for any application that hasn't yet been updated to interface it. Basically the theory goes that if an application isn't equipped to do dbus it with pulse, pulse will middleman ALSA anyway via the module-alsa-sink plugin interface I mentioned before. In fact, the same is true for OSS and Esound and their respective modules if they should be required.

But maybe you're overthinking this - the simplest sound streaming can be accomplished with mkfifo, or even just cat, should you desire. Depending on your bandwidth and latency requirements netcat could be pretty useful here. You could also look in to Sox - it offers an interface similar to pacat.

What is your linux distribution? I understand its in a container, but verifying you've updated all relevant packages is probably called for here, especially if pulse isn't running. Try this:

pulseaudio --start

If it runs, try this for maybe a better hint at what your source might be:

pacmd list-source-outputs | grep 'source:'
2 added 1 characters in body; deleted 5 characters in body
source | link

So you've definitely got pulseaudio installed, but you are apparently missing the ALSA pulseaudio emulation drivers. Pulseaudio is interfaced by client apps in a lot of different ways, but a common one is for the applications to address ALSA and pulseaudio to intercept. Alsamixer evern works this way on a properly configured system. Here is a very useful page for understanding the way pulseaudio works. In particular, it has this to say on module-alsa-sink:

You should (almost) never have to load this module manually.

You might be interested in the module a couple lines up there, module-pipe-{sink,source}:

Provides a simple test {sink,source} that {writes,reads} the audio data {to,from} a FIFO...

To that end, if you've got VLC, or can get it, you might try streaming with it:

pacmd list-source-outputs

should contain an output address something like what I've pasted in below for your dummy source:

cvlc pulse://alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor \
    --sout '#transcode{acodec=mpga,ab=128,channels=2}:\
     standard{access=http,dst=0.0.0.0:8080/pc.mp3}' &

Oh, and duh, you might also have some interest in pacat and you've probably already got it. It's the single executable that botboth parec and paplay link to.

So you've definitely got pulseaudio installed, but you are apparently missing the ALSA pulseaudio emulation drivers. Pulseaudio is interfaced by client apps in a lot of different ways, but a common one is for the applications to address ALSA and pulseaudio to intercept. Alsamixer evern works this way on a properly configured system. Here is a very useful page for understanding the way pulseaudio works. In particular, it has this to say on module-alsa-sink:

You should (almost) never have to load this module manually.

You might be interested in the module a couple lines up there, module-pipe-{sink,source}:

Provides a simple test {sink,source} that {writes,reads} the audio data {to,from} a FIFO...

To that end, if you've got VLC, or can get it, you might try streaming with it:

pacmd list-source-outputs

should contain an output address something like what I've pasted in below for your dummy source:

cvlc pulse://alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor \
    --sout '#transcode{acodec=mpga,ab=128,channels=2}:\
     standard{access=http,dst=0.0.0.0:8080/pc.mp3}' &

Oh, and duh, you might also have some interest in pacat and you've probably already got it. It's the single executable that bot parec and paplay link to.

So you've definitely got pulseaudio installed, but you are apparently missing the ALSA pulseaudio emulation drivers. Pulseaudio is interfaced by client apps in a lot of different ways, but a common one is for the applications to address ALSA and pulseaudio to intercept. Alsamixer evern works this way on a properly configured system. Here is a very useful page for understanding the way pulseaudio works. In particular, it has this to say on module-alsa-sink:

You should (almost) never have to load this module manually.

You might be interested in the module a couple lines up there, module-pipe-{sink,source}:

Provides a simple test {sink,source} that {writes,reads} the audio data {to,from} a FIFO...

To that end, if you've got VLC, or can get it, you might try streaming with it:

pacmd list-source-outputs

should contain an output address something like what I've pasted in below for your dummy source:

cvlc pulse://alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor \
    --sout '#transcode{acodec=mpga,ab=128,channels=2}:\
     standard{access=http,dst=0.0.0.0:8080/pc.mp3}' &

Oh, and you might also have some interest in pacat and you've probably already got it. It's the single executable that both parec and paplay link to.

1
source | link

So you've definitely got pulseaudio installed, but you are apparently missing the ALSA pulseaudio emulation drivers. Pulseaudio is interfaced by client apps in a lot of different ways, but a common one is for the applications to address ALSA and pulseaudio to intercept. Alsamixer evern works this way on a properly configured system. Here is a very useful page for understanding the way pulseaudio works. In particular, it has this to say on module-alsa-sink:

You should (almost) never have to load this module manually.

You might be interested in the module a couple lines up there, module-pipe-{sink,source}:

Provides a simple test {sink,source} that {writes,reads} the audio data {to,from} a FIFO...

To that end, if you've got VLC, or can get it, you might try streaming with it:

pacmd list-source-outputs

should contain an output address something like what I've pasted in below for your dummy source:

cvlc pulse://alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor \
    --sout '#transcode{acodec=mpga,ab=128,channels=2}:\
     standard{access=http,dst=0.0.0.0:8080/pc.mp3}' &

Oh, and duh, you might also have some interest in pacat and you've probably already got it. It's the single executable that bot parec and paplay link to.