Hi!I recently ran into a problem and desperate for help,In our test pipeline we choose HDMI audio output,and we use the sound card tegrahdaxnx as alsasink,as follows:
gst-launch-1.0 alsasrc device=plughw:2,0 ! alsasink device=plughw:0,7
We found that when the pipeline is up, we use PulseAudio to adjust the sink volume is invalid,
pactl set-sink-volume alsa_output.platform-3510000.hda.hdmi-stereo-extra1 0
so we test whether we can control the sink volume through Alsa,query the control interface of the sound card through amixer as follows. It can be found that there is no volume-related control interface.
user@linux:~$ amixer -c tegrahdaxnx controls
numid=1,iface=CARD,name=‘HDMI/DP,pcm=3 Jack’
numid=12,iface=CARD,name=‘HDMI/DP,pcm=7 Jack’
numid=23,iface=CARD,name=‘HDMI/DP,pcm=8 Jack’
numid=34,iface=CARD,name=‘HDMI/DP,pcm=9 Jack’
numid=2,iface=MIXER,name=‘IEC958 Playback Con Mask’
numid=13,iface=MIXER,name=‘IEC958 Playback Con Mask’,index=1
numid=24,iface=MIXER,name=‘IEC958 Playback Con Mask’,index=2
numid=35,iface=MIXER,name=‘IEC958 Playback Con Mask’,index=3
numid=3,iface=MIXER,name=‘IEC958 Playback Pro Mask’
numid=14,iface=MIXER,name=‘IEC958 Playback Pro Mask’,index=1
numid=25,iface=MIXER,name=‘IEC958 Playback Pro Mask’,index=2
numid=36,iface=MIXER,name=‘IEC958 Playback Pro Mask’,index=3
numid=4,iface=MIXER,name=‘IEC958 Playback Default’
numid=15,iface=MIXER,name=‘IEC958 Playback Default’,index=1
numid=26,iface=MIXER,name=‘IEC958 Playback Default’,index=2
numid=37,iface=MIXER,name=‘IEC958 Playback Default’,index=3
numid=5,iface=MIXER,name=‘IEC958 Playback Switch’
numid=16,iface=MIXER,name=‘IEC958 Playback Switch’,index=1
numid=27,iface=MIXER,name=‘IEC958 Playback Switch’,index=2
numid=38,iface=MIXER,name=‘IEC958 Playback Switch’,index=3
numid=8,iface=MIXER,name=‘HDA Comfort Noise’
numid=19,iface=MIXER,name=‘HDA Comfort Noise’,index=1
numid=30,iface=MIXER,name=‘HDA Comfort Noise’,index=2
numid=41,iface=MIXER,name=‘HDA Comfort Noise’,index=3
numid=6,iface=MIXER,name=‘HDA Decode Capability’
numid=17,iface=MIXER,name=‘HDA Decode Capability’,index=1
numid=28,iface=MIXER,name=‘HDA Decode Capability’,index=2
numid=39,iface=MIXER,name=‘HDA Decode Capability’,index=3
numid=7,iface=MIXER,name=‘HDA Maximum PCM Channels’
numid=18,iface=MIXER,name=‘HDA Maximum PCM Channels’,index=1
numid=29,iface=MIXER,name=‘HDA Maximum PCM Channels’,index=2
numid=40,iface=MIXER,name=‘HDA Maximum PCM Channels’,index=3
numid=10,iface=MIXER,name=‘HDA Custom ELD’,device=3
numid=21,iface=MIXER,name=‘HDA Custom ELD’,device=7
numid=32,iface=MIXER,name=‘HDA Custom ELD’,device=8
numid=43,iface=MIXER,name=‘HDA Custom ELD’,device=9
numid=9,iface=PCM,name=‘ELD’,device=3
numid=11,iface=PCM,name=‘Playback Channel Map’,device=3
numid=20,iface=PCM,name=‘ELD’,device=7
numid=22,iface=PCM,name=‘Playback Channel Map’,device=7
numid=31,iface=PCM,name=‘ELD’,device=8
numid=33,iface=PCM,name=‘Playback Channel Map’,device=8
numid=42,iface=PCM,name=‘ELD’,device=9
numid=44,iface=PCM,name=‘Playback Channel Map’,device=9
Then I have two doubts:
- Why does PulseAudio fail to set volume?
- If we don’t want to adjust the volume through related plugins in the pipeline,and we also don’t want to use pulsesink instead of alsasink,Is there any way we can modify the sink volume of the sound card tegrahdaxnx at the bottom layer? Whether the bottom layer can achieve this purpose by modifying the relevant alsa configuration files?
Looking forward to your reply, thank you!