On Tue, 2011-04-19 at 15:03 -0500, pl bossart wrote: > I finally managed to figure out why eac3 wouldn't work in passthrough > mode. Apparently my HDMI receiver will only lock on eac3 data if the > AES0 control is set to 0x06 (non-audio, ie iec61937). > > ffmpeg -acodec copy -i csi_miami_5.1_256_spx.eac3 -f spdif outfile.pcm > aplay -Dhdmi:AES0=0x6 -fs16 -c2 -r192000 outfile.pcm > > the same file plays well through pulseaudio if I modifed default.conf to > [Mapping hdmi-stereo] > device-strings = hdmi:%f,AES0=0x06 > channel-map = left,right > priority = 4 > direction = output > > Somehow we need to find a way to set this AES0 byte when opening the > iec958 or hdmi device in the passthrough code, and reset it back to > 0x04 for PCM playback (should be fairly easy to do by looking at the > code of iecset in alsa-utils). Beats me why this was not needed for > plain ac3, but setting the audio bit is actually the correct thing to > do. If my reading is correct, this is something we should do for all formats anyway? > So far all the tests seem ok with the ffmpeg examples, with the > exception of two files: > - 7_pt_1: works well with ffmpeg, aplay but the sound is way too fast > with pulseaudio. Lots of rewind messages seen in PulseAudio. > - serenity_english_5.1_1536.eac3 file: no sound out, and again lots of > rewind messages (the receiver still shows the D+ logo though). The > same file converted with ffmpeg and played with aplay seems fine. > looks like a buffering issue more than a payloader problem really. Is the ALSA device correctly being configured to 192 kHz? -- Arun