Pulsesink + ac3 passtrough + need example pipeline

65 views Asked by At

I am trying figure out ways to pass-though ac3 audio frames to tremblaysound audio receiver via gstreamer pipeline.

Can someone please guide me ,how to do it correctly?.

Note - above command is tried on Ubuntu 22.04 and Rocky linux 8.5 , Audio device is connected via HDMI 1.4 .

GST_DEBUG=2 gst-launch-1.0 filesrc location=~/Downloads/unfold.eac3 ! ac3parse disable-passthrough=false ! pulsesink

but getting error

Setting pipeline to PAUSED ...

0:00:00.010882265 11005 0x5630f19b1e40 WARN basesrc gstbasesrc.c:3688:gst_base_src_start_complete: pad not activated yet

Pipeline is PREROLLING ...

0:00:00.011336262 11005 0x5630f1a97d80 WARN GST_CAPS gstpad.c:5757:pre_eventfunc_check:pulsesink0:sink caps audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)6, alignment=(string)frame not accepted

0:00:00.011484672 11005 0x5630f1a97d80 WARN GST_CAPS gstpad.c:5757:pre_eventfunc_check:pulsesink0:sink caps audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)6, alignment=(string)frame not accepted

0:00:00.011791584 11005 0x5630f1a97d80 WARN GST_CAPS gstpad.c:5757:pre_eventfunc_check:pulsesink0:sink caps audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)6, alignment=(string)frame not accepted

0:00:00.012004241 11005 0x5630f1a97d80 WARN GST_CAPS gstpad.c:5757:pre_eventfunc_check:pulsesink0:sink caps audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)6, alignment=(string)frame not accepted

0:00:00.012015344 11005 0x5630f1a97d80 WARN baseparse gstbaseparse.c:3681:gst_base_parse_loop: error: Internal data stream error.

0:00:00.012018430 11005 0x5630f1a97d80 WARN baseparse gstbaseparse.c:3681:gst_base_parse_loop: error: streaming stopped, reason not-negotiated (-4)

ERROR: from element /GstPipeline:pipeline0/GstAc3Parse:ac3parse0: Internal data stream error.

Additional debug info:

../libs/gst/base/gstbaseparse.c(3681): gst_base_parse_loop (): /GstPipeline:pipeline0/GstAc3Parse:ac3parse0: streaming stopped, reason not-negotiated (-4)

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

0:00:00.012224707 11005 0x5630f1a97d80 WARN GST_CAPS gstpad.c:5757:pre_eventfunc_check:pulsesink0:sink caps audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)6, alignment=(string)frame not accepted

Freeing pipeline ...

expectation is ac3 audio frames should be pass through host machine to Audio device and device should decode and playback the same . but at present correct gstreamer pipeline formation is problem ..

1

There are 1 answers

3
Enrique Ramirez On

Does this pipe work for you?

gst-launch-1.0 filesrc location=~/Downloads/unfold.eac3 ! ac3parse disable-passthrough=false ! a52dec ! audioresample ! audioconvert ! pulsesink