I am trying figure out ways to pass-though ac3 audio frames to tremblaysound audio receiver via gstreamer pipeline. using following command line (but no success)
Have you configured the sink formats on the HDMI card? If you have pavucontrol, you can do this in the “Output Devices” tab, by opening “Advanced” section for the HDMI sink.
Yup I did configure them. I’m trying to get AC3 to passthrough to an LG C1 OLED TV that supports bitstreams. I’ve tried on both windows and ubuntu using two different notebooks both with integrated graphics, one from AMD the other from Intel. They all give the same error. “GST_CAPS gstpad.c:5757:pre_eventfunc_check:pulsesink0:sink caps audio/x-ac3, framed=(boolean)true, rate=(int)44100, channels=(int)2, alignment=(string)frame not accepted” I did confirm that VLC was able to use spdif to passthrough the bitstream successfully under windows, so I know it can work (at least I think it was working based on the VLC debug log files).
Thanks so much for taking the time to help me debug this.
It’s strange it’s giving a slightly different error today.
But I honestly can’t think I changed anything besides rebooting.
Anyways I’ve provided the logs. Also I had another friend test the ac3 file with POTPlayer and he confirmed it worked with his audio receiver in passthrough mode.
Are there any other streams running when you start this playback? pactl list sink-inputs will tell you. That might prevent us being able to set up a passthrough connection.
Hey @arun thanks so much you were spot on (sorry for my late reply I didn’t have time to test your suggestion until afew hours ago)!!! My web browser was also attempting to output which was stopping it from working.
I have one other follow up question for you. I was hoping to make my software cross platform to work for windows as well. It seems like the wasapisink doesn’t support x-dts or x-ac3 input.
Reading further documentation it seems like the only sink plugin that supports passthrough on winows in the deprecated directsoundsink plugin. I attempted to use that to output passthrough ac3 audio and the result was unsuccessful. It wouldn’t work with 44.1 khz, so I transcoded my test sample to 48khz, at which point I could get something to play, but it seemed like it was just playing noise on the TV with a pulsating beat frequency corresponding to to every time there was a log entry as follows.
Do you have any idea if the windows directsoundsink passthrough works and/or worked in the past? Here’s the lot from my attempt to use directsoundsink where it output noise.
Glad it worked! The disable-passthrough on your ac3parse might be redundant, btw.
Apparently directsoundsinkdid support AC3, as well DTS, but I’m honestly not too familiar with that part of the code and it was last touched ~11 years ago.