Using alsasink with usb microphone and sending over UDP

evaluat0r volatileconst at gmail.com
Sat Mar 3 07:04:03 UTC 2018


Hi,

I have the following showing up under /proc/asound/cards

 1 [Device         ]: USB-Audio - USB PnP Sound Device
                      C-Media Electronics Inc. USB PnP Sound Device at
usb-3f980000.usb-1.4, full spe

Using this device as follows:

gst-launch-1.0 -v alsasrc device=plughw:Device ! mulawenc ! rtppcmupay !
udpsink host=10.0.0.36 port=5000

and

gst-launch-1.0 -v udpsrc port=5000 caps="application/x-rtp" ! queue !
rtppcmudepay ! mulawdec ! audioconvert ! autoaudiosink sync=false

I get no sound from the udpsrc

If I instead use the following from udpsink:

gst-launch-1.0 -v alsasrc device=plughw:Device ! audioconvert !
audioresample ! alsasink

I get sound from the sink device.

It's just that the device receiving the udp packets is not producing sound.

If I send audio packets over udp from the other direction, it works.

I can even use osxaudiosink instead of autoaudiosink and same result.

Microphone:

gst-launch-1.0 -v alsasrc device=plughw:Device ! mulawenc ! rtppcmupay !
udpsink host=10.0.0.36 port=5000
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstAudioSrcClock
/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-buffer-time = 200000
/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-latency-time = 10000
Redistribute latency...
/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0.GstPad:src: caps = audio/x-raw,
rate=(int)8000, channels=(int)1, format=(string)S16LE,
layout=(string)interleaved
/GstPipeline:pipeline0/GstMuLawEnc:mulawenc0.GstPad:sink: caps =
audio/x-raw, rate=(int)8000, channels=(int)1, format=(string)S16LE,
layout=(string)interleaved
/GstPipeline:pipeline0/GstMuLawEnc:mulawenc0.GstPad:src: caps =
audio/x-mulaw, rate=(int)8000, channels=(int)1
/GstPipeline:pipeline0/GstRtpPcmuPay:rtppcmupay0.GstPad:src: caps =
application/x-rtp, media=(string)audio, clock-rate=(int)8000,
encoding-name=(string)PCMU, payload=(int)0, ssrc=(uint)3114396122,
timestamp-offset=(uint)1617358364, seqnum-offset=(uint)16170
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps =
application/x-rtp, media=(string)audio, clock-rate=(int)8000,
encoding-name=(string)PCMU, payload=(int)0, ssrc=(uint)3114396122,
timestamp-offset=(uint)1617358364, seqnum-offset=(uint)16170
/GstPipeline:pipeline0/GstRtpPcmuPay:rtppcmupay0.GstPad:sink: caps =
audio/x-mulaw, rate=(int)8000, channels=(int)1
/GstPipeline:pipeline0/GstRtpPcmuPay:rtppcmupay0: timestamp = 1617358364
/GstPipeline:pipeline0/GstRtpPcmuPay:rtppcmupay0: seqnum = 16170


Speaker:

gst-launch-1.0 -v udpsrc port=5000 caps="application/x-rtp" ! queue !
rtppcmudepay ! mulawdec ! audioconvert ! osxaudiosink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
/GstPipeline:pipeline0/GstOsxAudioSink:osxaudiosink0: device = 38
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps =
application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps =
application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = application/x-rtp,
media=(string)audio, payload=(int)0, clock-rate=(int)8000
/GstPipeline:pipeline0/GstRtpPcmuDepay:rtppcmudepay0.GstPad:src: caps =
audio/x-mulaw, channels=(int)1, rate=(int)8000
/GstPipeline:pipeline0/GstMuLawDec:mulawdec0.GstPad:sink: caps =
audio/x-mulaw, channels=(int)1, rate=(int)8000
/GstPipeline:pipeline0/GstRtpPcmuDepay:rtppcmudepay0.GstPad:sink: caps =
application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000
Setting pipeline to PLAYING ...
New clock: GstSystemClock

Any ideas what the problem might be?



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list