mirror of https://github.com/jetkvm/kvm.git
Compare commits
4 Commits
90e8d8cbd2
...
df96ad574a
Author | SHA1 | Date |
---|---|---|
|
df96ad574a | |
|
9d12dd1e54 | |
|
d54568642b | |
|
c9068af568 |
|
@ -4,7 +4,7 @@
|
||||||
"features": {
|
"features": {
|
||||||
"ghcr.io/devcontainers/features/node:1": {
|
"ghcr.io/devcontainers/features/node:1": {
|
||||||
// Should match what is defined in ui/package.json
|
// Should match what is defined in ui/package.json
|
||||||
"version": "21.1.0"
|
"version": "22.15.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mounts": [
|
"mounts": [
|
||||||
|
|
20
native.go
20
native.go
|
@ -12,6 +12,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/jetkvm/kvm/resource"
|
"github.com/jetkvm/kvm/resource"
|
||||||
|
"github.com/pion/rtp"
|
||||||
|
|
||||||
"github.com/pion/webrtc/v4/pkg/media"
|
"github.com/pion/webrtc/v4/pkg/media"
|
||||||
)
|
)
|
||||||
|
@ -243,6 +244,8 @@ func handleAudioClient(conn net.Conn) {
|
||||||
|
|
||||||
scopedLogger.Info().Msg("native audio socket client connected")
|
scopedLogger.Info().Msg("native audio socket client connected")
|
||||||
inboundPacket := make([]byte, maxAudioFrameSize)
|
inboundPacket := make([]byte, maxAudioFrameSize)
|
||||||
|
var timestamp uint32
|
||||||
|
var packet rtp.Packet
|
||||||
for {
|
for {
|
||||||
n, err := conn.Read(inboundPacket)
|
n, err := conn.Read(inboundPacket)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -250,10 +253,21 @@ func handleAudioClient(conn net.Conn) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.Info().Msgf("audio socket msg: %d", n)
|
|
||||||
|
|
||||||
if currentSession != nil {
|
if currentSession != nil {
|
||||||
if _, err := currentSession.AudioTrack.Write(inboundPacket[:n]); err != nil {
|
if err := packet.Unmarshal(inboundPacket[:n]); err != nil {
|
||||||
|
scopedLogger.Warn().Err(err).Msg("error unmarshalling audio socket packet")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
timestamp += 960
|
||||||
|
packet.Header.Timestamp = timestamp
|
||||||
|
buf, err := packet.Marshal()
|
||||||
|
if err != nil {
|
||||||
|
scopedLogger.Warn().Err(err).Msg("error marshalling packet")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := currentSession.AudioTrack.Write(buf); err != nil {
|
||||||
scopedLogger.Warn().Err(err).Msg("error writing sample")
|
scopedLogger.Warn().Err(err).Msg("error writing sample")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -243,6 +243,7 @@ export const keyDisplayMap: Record<string, string> = {
|
||||||
Escape: "esc",
|
Escape: "esc",
|
||||||
Tab: "tab",
|
Tab: "tab",
|
||||||
Backspace: "backspace",
|
Backspace: "backspace",
|
||||||
|
"(Backspace)": "backspace",
|
||||||
Enter: "enter",
|
Enter: "enter",
|
||||||
CapsLock: "caps lock",
|
CapsLock: "caps lock",
|
||||||
ShiftLeft: "shift",
|
ShiftLeft: "shift",
|
||||||
|
|
Loading…
Reference in New Issue