Difference between revisions of "Audio in 1004"

From LinuxMCE
Jump to: navigation, search
Line 12: Line 12:
 
* [http://wiki.linuxmce.org/index.php/Audio_in_1004#Analog.2C_Optical.2C_Coax.2C_HDMI Analog, Optical, Coax and HDMI] are treated the way they always have been, given only the card# to write to  
 
* [http://wiki.linuxmce.org/index.php/Audio_in_1004#Analog.2C_Optical.2C_Coax.2C_HDMI Analog, Optical, Coax and HDMI] are treated the way they always have been, given only the card# to write to  
 
* [http://wiki.linuxmce.org/index.php/Audio_in_1004#nVidia_GT_series_HDMI nVidia GT series HDMI] is automatically detected, and given a special set of values, also using the card# and the device#.
 
* [http://wiki.linuxmce.org/index.php/Audio_in_1004#nVidia_GT_series_HDMI nVidia GT series HDMI] is automatically detected, and given a special set of values, also using the card# and the device#.
 +
  
 
'''AlternateSC = 1''' : Should only be necessary with some newer non-GT series nvidia and oddballs.
 
'''AlternateSC = 1''' : Should only be necessary with some newer non-GT series nvidia and oddballs.
 
* [http://wiki.linuxmce.org/index.php/Audio_in_1004#Analog.2C_Optical.2C_Coax.2C_and_HDMI Analog.2C_Optical.2C_Coax, Optical, and Coax] are given the card# and the device# to write to the confs.
 
* [http://wiki.linuxmce.org/index.php/Audio_in_1004#Analog.2C_Optical.2C_Coax.2C_and_HDMI Analog.2C_Optical.2C_Coax, Optical, and Coax] are given the card# and the device# to write to the confs.
 +
  
 
'''AlternateSC = 2''' : should only be necessary for HDMI oddballs that do not work under other two schemes, covers newer equipment.
 
'''AlternateSC = 2''' : should only be necessary for HDMI oddballs that do not work under other two schemes, covers newer equipment.

Revision as of 04:54, 23 October 2012

Alternate sound configurations can be set in /etc/pluto.conf. MOST sound cards should work out of the box, and do not require this parameter. This can be done at avwizard on the Audio Selector step 5, or at any time by running /usr/pluto/bin/SetupAudioVideo.sh NOTE: Audio/video should NOT be actively playing when running SetupAudioVideo.sh.


Below are example /etc/asound.conf files generated by these configurations. /etc/pluto/xine.conf files borrow the card# and device# (if any) as shown by the asound.conf

AlternateSC = null : Most cards function without this parameter, this is the default state.


AlternateSC = 1 : Should only be necessary with some newer non-GT series nvidia and oddballs.


AlternateSC = 2 : should only be necessary for HDMI oddballs that do not work under other two schemes, covers newer equipment.

  • HDMI are given the GT series extended scheme, including both the card# and device#.


AlternateSC = null

Analog, Optical, Coax, HDMI

</etc/pluto/alsa/virtual_cards.conf>

pcm_slave.spdif_convert48k {
	pcm "spdif:0"
	rate 48000
}

pcm.spdif_playback {
	type plug
	slave spdif_convert48k
}

pcm_slave.hdmi_convert48k {
	pcm "hdmi:0"
	rate 48000
}

pcm.hdmi_playback {
	type plug
	slave hdmi_convert48k
}

pcm.asym_spdif {
	type asym
	playback.pcm "spdif_playback"
	capture.pcm "plughw:0"
}

pcm.asym_hdmi {
	type asym
	playback.pcm "hdmi_playback"
	capture.pcm "plughw:0"
}

pcm.asym_analog {
	type asym
	playback.pcm "plug:dmix:0"
	capture.pcm "plughw:0"
}
pcm.!default asym_analog


nVidia GT series HDMI

</etc/pluto/alsa/virtual_cards.conf>

pcm_slave.spdif_convert48k {
	pcm "spdif:1,7"
	rate 48000
}

pcm.spdif_playback {
	type plug
	slave spdif_convert48k
}

pcm_slave.hdmi_convert48k {
	pcm "hdmi:1,7"
	rate 48000
}

pcm.hdmi_playback {
	type plug
	slave hdmi_convert48k
}

pcm.asym_spdif {
	type asym
	playback.pcm "spdif_playback"
	capture.pcm "plughw:1,7"
}

pcm.asym_hdmi {
	type asym
	playback.pcm "hdmi_playback"
	capture.pcm "plughw:1,7"
}

pcm.asym_analog {
	type asym
	playback.pcm "plug:dmix:1,7"
	capture.pcm "plughw:1,7"
}

pcm.!hdmi {
	@args [ AES0 AES1 AES2 AES3 ]
	@args.AES0 {
		type integer
		# consumer, not-copyright, emphasis-none, mode=0
		default 0x04
	}
	@args.AES1 {
		type integer
		# original, PCM coder
		default 0x00
	}
	@args.AES2 {
		type integer
		# source and channel
		default 0x00
	}
	@args.AES3 {
		type integer
		# fs=48000Hz, clock accuracy=1000ppm
		default 0x00
	}
	type hooks
	slave.pcm {
		type hw
		card 1
		device 7
	}
	hooks.0 {
		type ctl_elems
		hook_args [
		{
			name "IEC958 Playback Default"
			lock true
			preserve true
			value [ $AES0 $AES1 $AES2 $AES3 ]
		}
		{
			name "IEC958 Playback Switch"
			lock true
			preserve true
			value true
		}
		]
	}
}
pcm.!default asym_hdmi


Alternate = 1

Analog, Optical, Coax, and HDMI

</etc/pluto/alsa/virtual_cards.conf>

pcm_slave.spdif_convert48k {
	pcm "spdif:0,3"
	rate 48000
}

pcm.spdif_playback {
	type plug
	slave spdif_convert48k
}

pcm_slave.hdmi_convert48k {
	pcm "hdmi:0,3"
	rate 48000
}

pcm.hdmi_playback {
	type plug
	slave hdmi_convert48k
}

pcm.asym_spdif {
	type asym
	playback.pcm "spdif_playback"
	capture.pcm "plughw:0,3"
}

pcm.asym_hdmi {
	type asym
	playback.pcm "hdmi_playback"
	capture.pcm "plughw:0,3"
}

pcm.asym_analog {
	type asym
	playback.pcm "plug:dmix:0,3"
	capture.pcm "plughw:0,3"
}
pcm.!default asym_hdmi


Alternate = 2

HDMI

</etc/pluto/alsa/virtual_cards.conf>

pcm_slave.spdif_convert48k {
	pcm "spdif:0,3"
	rate 48000
}

pcm.spdif_playback {
	type plug
	slave spdif_convert48k
}

pcm_slave.hdmi_convert48k {
	pcm "hdmi:0,3"
	rate 48000
}

pcm.hdmi_playback {
	type plug
	slave hdmi_convert48k
}

pcm.asym_spdif {
	type asym
	playback.pcm "spdif_playback"
	capture.pcm "plughw:0,3"
}

pcm.asym_hdmi {
	type asym
	playback.pcm "hdmi_playback"
	capture.pcm "plughw:0,3"
}

pcm.asym_analog {
	type asym
	playback.pcm "plug:dmix:1,7"
	capture.pcm "plughw:0,3"
}

pcm.!hdmi {
	@args [ AES0 AES1 AES2 AES3 ]
	@args.AES0 {
		type integer
		# consumer, not-copyright, emphasis-none, mode=0
		default 0x04
	}
	@args.AES1 {
		type integer
		# original, PCM coder
		default 0x00
	}
	@args.AES2 {
		type integer
		# source and channel
		default 0x00
	}
	@args.AES3 {
		type integer
		# fs=48000Hz, clock accuracy=1000ppm
		default 0x00
	}
	type hooks
	slave.pcm {
		type hw
		card 0
		device 3
	}
	hooks.0 {
		type ctl_elems
		hook_args [
		{
			name "IEC958 Playback Default"
			lock true
			preserve true
			value [ $AES0 $AES1 $AES2 $AES3 ]
		}
		{
			name "IEC958 Playback Switch"
			lock true
			preserve true
			value true
		}
		]
	}
}
pcm.!default asym_hdmi