Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Report all layouts supported by the HDMI protocol to userspace. Make the videocore set the correct layout according to the userspace request. Some code taken from patch_hdmi.c. In particular, the HDMI channel layout table was copied without changes - with the idea in mind that hopefully it can be shared one day. Or at least updating it will be simpler. In my tests, everything appears to work, except when outputting FL FR RL RR. Then my receiver outputs RL on both the RL and RR speakers, while RR is never heard.
- Loading branch information
1 parent
8ac93da
commit 103368c
Showing
4 changed files
with
311 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
103368c
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder whether the "no such device" errors are related to the channel map changes?
$ amixer -c0 controls
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=13,iface=PCM,name='IEC958 Playback Con Mask'
numid=12,iface=PCM,name='IEC958 Playback Default'
numid=4,iface=PCM,name='Playback Channel Map'
numid=5,iface=PCM,name='Playback Channel Map',index=1
numid=6,iface=PCM,name='Playback Channel Map',index=2
numid=7,iface=PCM,name='Playback Channel Map',index=3
numid=8,iface=PCM,name='Playback Channel Map',index=4
numid=9,iface=PCM,name='Playback Channel Map',index=5
numid=10,iface=PCM,name='Playback Channel Map',index=6
numid=11,iface=PCM,name='Playback Channel Map',index=7
$ amixer -c0 contents
numid=3,iface=MIXER,name='PCM Playback Route'
; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
: values=0
numid=2,iface=MIXER,name='PCM Playback Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
numid=1,iface=MIXER,name='PCM Playback Volume'
; type=INTEGER,access=rw---R--,values=1,min=-10239,max=400,step=0
: values=400
| dBscale-min=-102.39dB,step=0.01dB,mute=1
numid=13,iface=PCM,name='IEC958 Playback Con Mask'
; type=IEC958,access=r-------,values=1
: values=[AES0=0x02 AES1=0x00 AES2=0x00 AES3=0x00]
numid=12,iface=PCM,name='IEC958 Playback Default'
; type=IEC958,access=rw------,values=1
: values=[AES0=0x00 AES1=0x00 AES2=0x00 AES3=0x00]
numid=4,iface=PCM,name='Playback Channel Map'
; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
amixer: Control hw:0 element read error: No such device
numid=5,iface=PCM,name='Playback Channel Map',index=1
; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
amixer: Control hw:0 element read error: No such device
numid=6,iface=PCM,name='Playback Channel Map',index=2
; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
amixer: Control hw:0 element read error: No such device
numid=7,iface=PCM,name='Playback Channel Map',index=3
; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
amixer: Control hw:0 element read error: No such device
numid=8,iface=PCM,name='Playback Channel Map',index=4
; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
amixer: Control hw:0 element read error: No such device
numid=9,iface=PCM,name='Playback Channel Map',index=5
; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
amixer: Control hw:0 element read error: No such device
numid=10,iface=PCM,name='Playback Channel Map',index=6
; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
amixer: Control hw:0 element read error: No such device
numid=11,iface=PCM,name='Playback Channel Map',index=7
; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
amixer: Control hw:0 element read error: No such device