View unanswered posts    View active topics

All times are UTC - 6 hours





Post new topic Reply to topic  [ 7 posts ] 
Print view Previous topic   Next topic  
Author Message
Search for:
PostPosted: Tue Feb 07, 2006 4:22 pm 
Offline
Joined: Sat Jan 28, 2006 11:29 am
Posts: 83
I've got one or t'other working but can't seem to see how you get both at once. This thread skirts around this area but doesn't seem to reach a conclusion

http://www.gossamer-threads.com/lists/m ... ers/169968


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 09, 2006 2:29 pm 
Offline
Joined: Sat Jan 28, 2006 11:29 am
Posts: 83
So nobody in the WHOLE WORLD has simultaneous analog and digital audio working? is this just in knoppmyth or MythTV and linux in general. Can someone advise other forums where someone might know? I checked the mythtv lists at gossamer but no info there either + googled for hours and hours :(


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 10, 2006 3:18 am 
Offline
Joined: Mon Jun 21, 2004 5:28 am
Posts: 700
Location: Germany
I also spend quite a while googling this with no luck. Looking at the documentation for Alsa's dmix/dsnoop/copy/etc. plugins, it appears that none of these do what I want. Lot's of examples on how to put 4 channels onto 2 audio cards, but I couldn't find anything on how to duplicate 2 channels on each card. Even that wouldn't quite be enough as I would like a different rate conversion on each card.

The only think I could think of was putting two slaves in one alias in the asound.conf. Ex.:
Code:
pcm.mixed-analog-digital {
 type plug
 slave.pcm "dmix-digital"
 slave.pcm "dmix-analog"
}

Unfortunately, my alsa has a permissions problem http://mysettopbox.tv/phpBB2/viewtopic.php?t=8386 and I can't try that at the moment. Looking at the definition of the plug definition, I think that is invalid though.

Allen

_________________
ASUS AT3N7A-I (Atom 330)
TBS 8922 PCI (DVB-S2)


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 10, 2006 6:45 pm 
Offline
Joined: Mon Oct 06, 2003 10:38 am
Posts: 4978
Location: Nashville, TN
what exactly are you trying to do? I can't really see why you would want both at the same time, which is probably why you can't find much info on it.

_________________
Have a question search the forum and have a look at the KnoppMythWiki.

Xsecrets


Top
 Profile  
 
 Post subject:
PostPosted: Sat Feb 11, 2006 1:51 pm 
Offline
Joined: Mon Jun 21, 2004 5:28 am
Posts: 700
Location: Germany
Well, I usually listen through the TV speakers (ex. news). However, sometimes I want to watch a movie and listen through the stereo. Having to go through configs to set this up each time is a pain. I would like to just turn down the TV volume and turn on the stereo, similar to what I can do with the DVD player.

Something I could map to a key on the remote to flip outputs would also work...

BTW: I fixed the alsa problem... two slaves don't work to do this.

Cheers,

Allen

_________________
ASUS AT3N7A-I (Atom 330)
TBS 8922 PCI (DVB-S2)


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 12, 2006 9:04 pm 
Offline
Joined: Sat Jan 28, 2006 11:29 am
Posts: 83
I can't pipe digital audio onto a second room, but can with analog as my amp aux audio outputs will only ouput analog input not digital. I want digital audio in main room as may have surround sound + amp will be better at D/A'ing digital audio than the sound card, so want both.

ANY sound card in windows ALWAYS ouputs through both outputs, it seems strange that under linux this is considered weird. So I take it that it can't be done, just in case others are researching this, Give up!!


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 28, 2006 7:08 am 
Offline
Joined: Sat Jan 28, 2006 11:29 am
Posts: 83
Just re-reading my earlier posts and answering them as I have learned much since then. This has been posted elsewhere but here's how ALSA needs to be configured. What I didn't see posted elsewhere however was that you HAVE to ALSO use this on your mplayer line

-ao alsa:device=default -srate 48000

As if you don't and you try and play any files with an audio sample rate of say 16khz ALSA will work but throw out errors that causes mplayer to play audio and video all jerky at about 3 fps!

Anyway you need to create the asound.conf file below and use alsa:default as the playback device like this:-
Code:
/usr/bin/mplayer -monitoraspect 1.3333 -ao alsa:device=default -ac hwac3, -srate 48000 -vo xv -cache 16384 -fs "/myth/video/pc/test/test video.avi"



/etc/asound.conf
Code:
# Override the default output used by ALSA.
# If you do not override the default, your default
# device is identical to the (unmixed) analog device
# shown below.  If you prefer mixed and/or digital
# output, uncomment the appropriate four lines below
# (only one slave.pcm line).
pcm.!default {
  type plug
## Uncomment the following to use mixed analog by default
#  slave.pcm "dmix-analog"
## Uncomment the following to use unmixed digital by default
#  slave.pcm "digital-hw"
## Uncomment the following to use mixed digital by default
#  slave.pcm "dmix-digital"
## Uncomment the following to use analog & digital at same time by default
   slave.pcm "anadig-hw"
#   slave.pcm "anadig-hw8"
}

# this device dups audio to both digital and analog outs (ac3 will give noise on analog outs)
# I use script so mplayer & xine only send ac3 if myth ac3 flag is on
pcm.anadig {
 type plug
 slave.pcm "anadig-hw"
}

# Control device (mixer, etc.) for the nForce2 card
ctl.anadig {
 type hw
 card 0
}



# Alias for analog output on the nForce2/4 (hw:0,0)
# - This is identical to the device named "default"--which
# always exists and refers to hw:0,0 (unless overridden)
# - Therefore, we can specify "hw:0,0", "default", or "analog"
# to access analog output on the nForce2/4
pcm.analog {
 type plug
 slave.pcm "analog-hw"
}

# Control device (mixer, etc.) for the nForce2 card
ctl.analog {
 type hw
 card 0
}

# Alias for (rate-converted) mixed analog output on the
# nForce2 (hw:0,0)
#  - This will accept audio input--regardless of rate--and
# convert to the rate required for the dmix plugin
# (in this case 48000Hz)
pcm.mixed-analog {
 type plug
 slave.pcm "dmix-analog"
}

# Control device (mixer, etc.) for the nForce2 card
ctl.mixed-analog {
 type hw
 card 0
}

# Alias for (rate-converted) digital (S/PDIF) output on the
# nForce2 (hw:0,2)
#  - This will accept audio input--regardless of rate--and
# convert to the rate required for the S/PDIF hardware
# (in this case 48000Hz)
pcm.digital {
 type plug
 slave.pcm "digital-hw"
}

# Control device (mixer, etc.) for the nForce2 card
ctl.digital {
 type hw
 card 0
}

# Alias for mixed (rate-converted) digital (S/PDIF) output on the
# nForce2/4 (hw:0,2)
#  - This will accept audio input--regardless of rate--and
# convert to the rate required for the S/PDIF hardware
# (in this case 48000Hz)
pcm.mixed-digital {
 type plug
 slave.pcm "dmix-digital"
}

# Control device (mixer, etc.) for the nForce2 card
ctl.mixed-digital {
 type hw
 card 0
}

# The following devices are not useful by themselves.  They
# require specific rates, channels, and formats.  Therefore,
# you probably do not want to use them directly.  Instead use
# of of the devices defined above.

# Alias for analog output on the nForce2 (hw:0,0)
# Do not use this directly--it requires specific rate,
# channels, and format
pcm.analog-hw {
 type hw
 card 0
 # The default value for device is 0, so no need to specify
}

# Control device (mixer, etc.) for the nForce2/4 card
ctl.analog-hw {
 type hw
 card 0
}

# Alias for digital (S/PDIF) output on the nForce2/4 (hw:0,2)
# Do not use this directly--it requires specific rate,
# channels, and format
pcm.digital-hw {
 type hw
 card 0
 device 2
}

# Control device (mixer, etc.) for the nForce2/4 card
ctl.digital-hw {
 type hw
 card 0
}

# Direct software mixing plugin for analog output on
# the nForce2/4 (hw:0,0)
# Do not use this directly--it requires specific rate,
# channels, and format
pcm.dmix-analog {
 type dmix
 ipc_key 1234
 slave {
   pcm "analog-hw"
   period_time 0
   period_size 1024
   buffer_size 4096
   rate 48000
 }
}

# Control device (mixer, etc.) for the nForce2/4 card
ctl.dmix-analog {
 type hw
 card 0
}

# Direct software mixing plugin for digital (S/PDIF) output
# on the nForce2/4 (hw:0,2)
# Do not use this directly--it requires specific rate,
# channels, and format
pcm.dmix-digital {
 type dmix
 ipc_key 1235
 slave {
   pcm "digital-hw"
   period_time 0
   period_size 1024
   buffer_size 4096
   rate 48000
 }
}

# Control device (mixer, etc.) for the nForce2/4 card
ctl.dmix-digital {
 type hw
 card 0
}

###################################################


# this one creates a four-channel output PCM device
pcm.multi-anadig {
        type multi;
        slaves.a.pcm "analog-hw"; # this is the default output
        slaves.a.channels 2;
        slaves.b.pcm "digital-hw"; # this is the SPDIF output
        slaves.b.channels 2;
        bindings.0.slave a;
        bindings.0.channel 0;
        bindings.1.slave a;
        bindings.1.channel 1;
        bindings.2.slave b;
        bindings.2.channel 0;
        bindings.3.slave b;
        bindings.3.channel 1;
}

ctl.multi-anadig {
        type hw;
        card 0;
}

# this duplicates input from 2 channels to 4 channels and
# sends the output to multi, above.
pcm.anadig-hw {
        type route;
        slave.pcm "multi-anadig";
   slave.channels 4;
        ttable.0.0 1;
        ttable.1.1 1;
        ttable.0.2 1;
        ttable.1.3 1;
}


ctl.anadig-hw {
        type hw;
        card 0;
}



You also need to run alsamixer and set that up eg
# For 6 channels out set:-
# PCM = 100 (volume chans 1&2)
# Surround = 100 (volume chans 3&4)
# Surround Jack Mode = shared (not independ)
# Center = 100 (volume chan 5)
# LFE = 100 (volume chan 6)
# Channel Mode = 6ch
# Duplicate Front = on (will copy analog 1&2 to 3&4 but not 5&6)
#store settings

then run
/usr/sbin/alsactl store
to store your settings permanantly


If you're really keen! here is another device I set up in asound.conf to play the audio to digital out and as 3 stereo pairs to the 3 analog stereo outs simultaneusly. Also devices to play to each analog pair seperately.
Code:
# this one creates a 8-channel output PCM device
pcm.multi-anadig8 {
        type multi;
        slaves.a.pcm "hw:0,0"; # this is the main analog output
        slaves.a.channels 6;
        slaves.b.pcm "hw:0,2"; # this is the second analog output
        slaves.b.channels 2;
       
        bindings.0.slave a;
        bindings.0.channel 0;
        bindings.1.slave a;
        bindings.1.channel 1;
       
        bindings.2.slave a;
        bindings.2.channel 2;
        bindings.3.slave a;
        bindings.3.channel 3;
       
        bindings.4.slave a;
        bindings.4.channel 4;
        bindings.5.slave a;
        bindings.5.channel 5;
       
        bindings.6.slave b;
        bindings.6.channel 0;
        bindings.7.slave b;
        bindings.7.channel 1;
}
ctl.multi-anadig8 {
        type hw;
        card 0;
}

# this duplicates input from 2 channels to 8 channels and
# sends the output to all 3 stereo analog outs AND spdif
pcm.anadig-hw8 {
        type route;
        slave.pcm "multi-anadig8";
        slave.channels 8;
        ttable.0.0 1;
        ttable.1.1 1;
       
        ttable.0.2 1;
        ttable.1.3 1;
       
        ttable.0.4 1;
        ttable.1.5 1;
       
        ttable.0.6 1;
        ttable.1.7 1;
}
ctl.anadig-hw8 {
        type hw;
        card 0;
}

# this sends audio to analog out 2
pcm.analog2 {
    type plug
    slave {
        pcm "multi-anadig8"
        channels 8
    }
    ttable.0.2 1
    ttable.1.3 1
}
ctl.analog2 {
        type hw;
        card 0;
}


# this sends audio to analog out 3
pcm.analog3 {
    type plug
    slave {
        pcm "multi-anadig8"
        channels 8
    }
    ttable.0.4 1
    ttable.1.5 1
}
ctl.analog3 {
        type hw;
        card 0;
}


I had hoped to persuade ALSA to do ac3 pass-thru via the spdif out and simultaneously decode/downmix to stereo to send out of the analog out. But after 2 days of thinking Jack or something else might work and struggling with the lack of detailed understandable documentation on it all I gave up. I'm used to windows coding were stuff is fairly well documented.


Top
 Profile  
 

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 


All times are UTC - 6 hours




Who is online

Users browsing this forum: Bing [Bot] and 25 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group

Theme Created By ceyhansuyu