Difference between revisions of "Audio in 1004"

From LinuxMCE
Jump to: navigation, search
Line 3: Line 3:
 
   | __TOC__
 
   | __TOC__
 
   |}
 
   |}
 +
Alternate sound configurations can be set in /etc/pluto.conf. MOST sound cards should not require this.
  
AlternateSC = null: MOST cards function this way, default without a setting.
+
 
 +
'''AlternateSC = null''' : MOST cards function this way, default without a setting.
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#Analog.2C_Optical.2C_Coax Analog, Optical, and Coax] are treated the way they always have been, given only the card# to write to /etc/asound.conf and /etc/pluto/xine.conf
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#Analog.2C_Optical.2C_Coax Analog, Optical, and Coax] are treated the way they always have been, given only the card# to write to /etc/asound.conf and /etc/pluto/xine.conf
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#HDMI HDMI] is given the card# and the device# to write to the confs.
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#HDMI HDMI] is given the card# and the device# to write to the confs.
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#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 number.
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#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 number.
  
AlternateSC = 1: Should only be necessary with old nvidia, or certain ATI/Intel GPUs over HDMI.
+
'''AlternateSC = 1''' : Should only be necessary with old nvidia, or certain ATI/Intel GPUs over HDMI.
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#HDMI HDMI] is given only the card#. The rest are the same as null.  
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#HDMI HDMI] is given only the card#. The rest are the same as null.  
  
AlternateSC = 2: should only be necessary for oddballs that do not work under other two schemes, covers newer equipment.
+
'''AlternateSC = 2''' : should only be necessary for oddballs that do not work under other two schemes, covers newer equipment.
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#Analog.2C_Optical.2C_Coax.2C_and_HDMI All (Analog, Optical, Coax, and HDMI)] are given the GT series extended scheme, including both the card# and device#.
 
* [http://wiki.linuxmce.org/index.php?title=Audio_in_1004&action=submit#Analog.2C_Optical.2C_Coax.2C_and_HDMI All (Analog, Optical, Coax, and HDMI)] are given the GT series extended scheme, including both the card# and device#.
  

Revision as of 03:42, 23 October 2012

Alternate sound configurations can be set in /etc/pluto.conf. MOST sound cards should not require this.


AlternateSC = null : MOST cards function this way, default without a setting.

  • Analog, Optical, and Coax are treated the way they always have been, given only the card# to write to /etc/asound.conf and /etc/pluto/xine.conf
  • HDMI is given the card# and the device# to write to the confs.
  • nVidia GT series HDMI is automatically detected, and given a special set of values, also using the card and the device number.

AlternateSC = 1 : Should only be necessary with old nvidia, or certain ATI/Intel GPUs over HDMI.

  • HDMI is given only the card#. The rest are the same as null.

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


AlternateSC = null

Analog, Optical, Coax

</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

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

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

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_hdmi


Alternate = 2

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: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