mirror of
https://github.com/nonoo/kappanhang.git
synced 2026-01-24 17:40:16 +01:00
Use radio name for pulse dev description
This commit is contained in:
parent
6f512cfaf3
commit
9dbd5760ce
|
|
@ -112,14 +112,14 @@ func (a *audioStruct) loop() {
|
|||
}
|
||||
}
|
||||
|
||||
func (a *audioStruct) init() {
|
||||
func (a *audioStruct) init(devName string) {
|
||||
a.source.Name = "kappanhang"
|
||||
a.source.Filename = "/tmp/kappanhang.source"
|
||||
a.source.Rate = 48000
|
||||
a.source.Format = "s16le"
|
||||
a.source.Channels = 1
|
||||
a.source.SetProperty("device.buffering.buffer_size", (48000*16)/10) // 100 ms
|
||||
a.source.SetProperty("device.description", "kappanhang input")
|
||||
a.source.SetProperty("device.description", "kappanhang: "+devName)
|
||||
|
||||
a.sink.Name = "kappanhang"
|
||||
a.sink.Filename = "/tmp/kappanhang.sink"
|
||||
|
|
@ -127,7 +127,7 @@ func (a *audioStruct) init() {
|
|||
a.sink.Format = "s16le"
|
||||
a.sink.Channels = 1
|
||||
a.sink.SetProperty("device.buffering.buffer_size", (48000*16)/10)
|
||||
a.sink.SetProperty("device.description", "kappanhang output")
|
||||
a.sink.SetProperty("device.description", "kappanhang: "+devName)
|
||||
|
||||
if err := a.source.Open(); err != nil {
|
||||
exit(err)
|
||||
|
|
|
|||
|
|
@ -119,12 +119,14 @@ func (s *audioStream) init() {
|
|||
s.rxSeqBuf.init(rxSeqBufLength, 0xffff, 0, s.rxSeqBufEntryChan)
|
||||
}
|
||||
|
||||
func (s *audioStream) start() {
|
||||
func (s *audioStream) start(devName string) {
|
||||
s.common.sendPkt3()
|
||||
s.common.waitForPkt4Answer()
|
||||
s.common.sendPkt6()
|
||||
s.common.waitForPkt6Answer()
|
||||
|
||||
audio.init(devName)
|
||||
|
||||
log.Print("stream started")
|
||||
|
||||
s.timeoutTimer = time.NewTimer(audioTimeoutDuration)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import (
|
|||
"crypto/rand"
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/nonoo/kappanhang/log"
|
||||
|
|
@ -150,6 +151,14 @@ func (s *controlStream) sendRequestSerialAndAudio() {
|
|||
})
|
||||
}
|
||||
|
||||
func (s *controlStream) parseNullTerminatedString(d []byte) (res string) {
|
||||
nullIndex := strings.Index(string(d), "\x00")
|
||||
if nullIndex > 0 {
|
||||
res = string(d[:nullIndex])
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (s *controlStream) handleRead(r []byte) {
|
||||
switch len(r) {
|
||||
case 16:
|
||||
|
|
@ -200,13 +209,14 @@ func (s *controlStream) handleRead(r []byte) {
|
|||
// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0xc0, 0xa8, 0x03, 0x03,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
log.Print("serial and audio request success")
|
||||
devName := s.parseNullTerminatedString(r[64:])
|
||||
log.Print("serial and audio request success, device name: ", devName)
|
||||
if s.requestSerialAndAudioTimeout != nil {
|
||||
s.requestSerialAndAudioTimeout.Stop()
|
||||
s.requestSerialAndAudioTimeout = nil
|
||||
}
|
||||
go streams.serial.start()
|
||||
go streams.audio.start()
|
||||
go streams.audio.start(devName)
|
||||
s.serialAndAudioStreamOpened = true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue