Hi Cristian,

On Fri, Sep 16, 2016 at 10:27:57AM +0200, Cristian Ionescu-Idbohrn wrote:
> Muammar,
>
> On Fri, 16 Sep 2016, Muammar El Khatib wrote:
> >
> > I hope you are still interested in this.
>
> Of course.
>

Nice!.

> > I have prepared a page in the wiki that you can check:
> >
> > https://github.com/muammar/mkchromecast/wiki/ALSA
> >
> > I would be glad if you could test it. Note that you have to checkout
> > the `alsa` branch.
>
> I would also be glad to do so, if I could figure out how ~/.asoundrc
> must look like.  Currently, the minimal conf to get sound out the
> audio card I prefer is:
>
> ,----[ ~/.asoundrc ]
> | pcm.!default {
> |         type plug
> |         slave.pcm spdif
> | }
> `----
>
> Here are some more details on the sound cards on my system:
>

I have prepared two .asoundrc files (asoundrc1 and asoundrc2). You may want to
download them and try them as your .asoundrc file.

> ,----[ cat /proc/asound/cards ]
> |  0 [Live           ]: EMU10K1 - SB Live! 5.1 [SB0060]
> |                       SB Live! 5.1 [SB0060] (rev.7, serial:0x80611102) at 
> 0xd000, irq 17

asoundrc1 for the case where this is the right card: hw:0,0 is the device.

> |  1 [PCH            ]: HDA-Intel - HDA Intel PCH
> |                       HDA Intel PCH at 0xf7230000 irq 29

asoundrc1 for the case where this is the right card: hw:1,0 is the device.

>
> ,----[ aplay -l ]
> | **** List of PLAYBACK Hardware Devices ****
> | card 0: Live [SB Live! 5.1 [SB0060]], device 0: emu10k1 [ADC 
> Capture/Standard PCM Playback]
> |   Subdevices: 32/32
> |   Subdevice #0: subdevice #0
> |   Subdevice #1: subdevice #1
> |   Subdevice #2: subdevice #2
> |   Subdevice #3: subdevice #3
> |   Subdevice #4: subdevice #4
> |   Subdevice #5: subdevice #5
> |   Subdevice #6: subdevice #6
> |   Subdevice #7: subdevice #7
> |   Subdevice #8: subdevice #8
> |   Subdevice #9: subdevice #9
> |   Subdevice #10: subdevice #10
> |   Subdevice #11: subdevice #11
> |   Subdevice #12: subdevice #12
> |   Subdevice #13: subdevice #13
> |   Subdevice #14: subdevice #14
> |   Subdevice #15: subdevice #15
> |   Subdevice #16: subdevice #16
> |   Subdevice #17: subdevice #17
> |   Subdevice #18: subdevice #18
> |   Subdevice #19: subdevice #19
> |   Subdevice #20: subdevice #20
> |   Subdevice #21: subdevice #21
> |   Subdevice #22: subdevice #22
> |   Subdevice #23: subdevice #23
> |   Subdevice #24: subdevice #24
> |   Subdevice #25: subdevice #25
> |   Subdevice #26: subdevice #26
> |   Subdevice #27: subdevice #27
> |   Subdevice #28: subdevice #28
> |   Subdevice #29: subdevice #29
> |   Subdevice #30: subdevice #30
> |   Subdevice #31: subdevice #31
> | card 0: Live [SB Live! 5.1 [SB0060]], device 2: emu10k1 efx [Multichannel 
> Capture/PT Playback]
> |   Subdevices: 8/8
> |   Subdevice #0: subdevice #0
> |   Subdevice #1: subdevice #1
> |   Subdevice #2: subdevice #2
> |   Subdevice #3: subdevice #3
> |   Subdevice #4: subdevice #4
> |   Subdevice #5: subdevice #5
> |   Subdevice #6: subdevice #6
> |   Subdevice #7: subdevice #7
> | card 0: Live [SB Live! 5.1 [SB0060]], device 3: emu10k1 [Multichannel 
> Playback]
> |   Subdevices: 1/1
> |   Subdevice #0: subdevice #0
> | card 1: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
> |   Subdevices: 1/1
> |   Subdevice #0: subdevice #0
> | card 1: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
> |   Subdevices: 1/1
> |   Subdevice #0: subdevice #0
> | card 2: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
> |   Subdevices: 1/1
> |   Subdevice #0: subdevice #0
> | card 2: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
> |   Subdevices: 1/1
> |   Subdevice #0: subdevice #0
> | card 2: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
> |   Subdevices: 1/1
> |   Subdevice #0: subdevice #0
> | card 3: Controller [USB Audio Controller], device 0: USB Audio [USB Audio]
> |   Subdevices: 1/1
> |   Subdevice #0: subdevice #0
> | card 4: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
> |   Subdevices: 8/8
> |   Subdevice #0: subdevice #0
> |   Subdevice #1: subdevice #1
> |   Subdevice #2: subdevice #2
> |   Subdevice #3: subdevice #3
> |   Subdevice #4: subdevice #4
> |   Subdevice #5: subdevice #5
> |   Subdevice #6: subdevice #6
> |   Subdevice #7: subdevice #7
> | card 4: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
> |   Subdevices: 8/8
> |   Subdevice #0: subdevice #0
> |   Subdevice #1: subdevice #1
> |   Subdevice #2: subdevice #2
> |   Subdevice #3: subdevice #3
> |   Subdevice #4: subdevice #4
> |   Subdevice #5: subdevice #5
> |   Subdevice #6: subdevice #6
> |   Subdevice #7: subdevice #7
> `----
>
> Cards 0 and 1 connected to speakers.
>

Now, your Loopback's index is 4, and mkchromecast command should be:

python mkchromecast.py --encoder-backend ffmpeg --alsa-device hw:4,1 -c ogg
--volume

Did it work?.

> > Regarding the two interfaces in your machine, was the chromecast
> > detected? If yes, I think I can provide a flag where you can specify
> > the ip of the host.
>
> Yeah, that may be needed.  Not being able to figure out the alsa
> configuration, I tried this:
>
> ,----
> | $ python ./mkchromecast.py --debug --discover
> | None
> | This option is not implemented yet.
> `----
>

I will activate this option. Sorry.

> But the device is there.  Nmap report:
>
> ,----
> | PORT     STATE SERVICE
> | 8008/tcp open  http
> | 8009/tcp open  ajp13
> | MAC Address: 6C:AD:F8:xx:yy:zz (AzureWave Technology)
> | Device type: general purpose
> | Running: Linux 2.6.X|3.X
> | OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3
> | OS details: Linux 2.6.32 - 3.10
> | Network Distance: 1 hop
> `----

Thanks.

--
Muammar El Khatib.
Linux user: 403107.
GPG Key = 71246E4A.
http://muammar.me | http://proyectociencia.org
  ,''`.
 : :' :
 `. `'
   `-
pcm.!default {
  type asym
  playback.pcm "LoopAndReal"
  #capture.pcm "looprec"
  capture.pcm "hw:0,0"
}

pcm.looprec {
    type hw
    card "Loopback"
    device 1
    subdevice 0
}


pcm.LoopAndReal {
  type plug
  slave.pcm mdev
  route_policy "duplicate"
}


pcm.mdev {
  type multi
  slaves.a.pcm pcm.MixReale
  slaves.a.channels 2
  slaves.b.pcm pcm.MixLoopback
  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
}


pcm.MixReale {
  type dmix
  ipc_key 1024
  slave {
    pcm "hw:0,0"
    rate 48000
    #rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

pcm.MixLoopback {
  type dmix
  ipc_key 1025
  slave {
    pcm "hw:Loopback,0,0"
    rate 48000
    #rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}
pcm.!default {
  type asym
  playback.pcm "LoopAndReal"
  #capture.pcm "looprec"
  capture.pcm "hw:1,0"
}

pcm.looprec {
    type hw
    card "Loopback"
    device 1
    subdevice 0
}


pcm.LoopAndReal {
  type plug
  slave.pcm mdev
  route_policy "duplicate"
}


pcm.mdev {
  type multi
  slaves.a.pcm pcm.MixReale
  slaves.a.channels 2
  slaves.b.pcm pcm.MixLoopback
  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
}


pcm.MixReale {
  type dmix
  ipc_key 1024
  slave {
    pcm "hw:1,0"
    rate 48000
    #rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

pcm.MixLoopback {
  type dmix
  ipc_key 1025
  slave {
    pcm "hw:Loopback,0,0"
    rate 48000
    #rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

Reply via email to