[Bug 721740] general stream error with alsasink iec958 audio/x-ac3 passtrough

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Oct 30 09:18:09 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=721740

Arnaud Pouliquen <arnaud.pouliquen at st.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |arnaud.pouliquen at st.com

--- Comment #9 from Arnaud Pouliquen <arnaud.pouliquen at st.com> ---
Hello,
I have same kind of bug on sti hardware (little endian architecture)...

Concerning byte swap, i have logged Bug 757258.  

Here is my analysis on the point, i hope that can help to solve the issue:

To check pass-through support alsasink try to open pcm device with AES
arguments: "hw:0,0:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}"

alsa device types that support AES arguments are hdmi and iec958 (visible in
/usr/share/alsa/pcm).

But in this case, formats supported are IEC958_SUBFRAME_LE and
IEC958_SUBFRAME_BE.

Alsasink seems support only S16_LE and S16_BE (gst_alsa_detect_formats support
only "audio/x-raw" format for alsa_device).

So not compatible...

here is one way to support pass-through:
1) Create a pcm device that supports either S16 format and AES args.

In attachment, example of asound.conf file that define a device to support it
on my "hw:0,0" device

2) Pass-through caps detection seems bugged. alsasink tries to open iec958 pcm
device while it is already opened in pcm raw mode.
Fix should consists in closing pcm device before reopen it with AES parameters.

Proposed patch in attachment: alsasink-fix-iec958-format-detection.patch

=> Using this implementation i'm able to play PCM on "hw:0,0" device and
pass-through on "myiec958" device.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list