File tree Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ import (
12
12
"time"
13
13
14
14
"github.com/jetkvm/kvm/resource"
15
+ "github.com/pion/rtp"
15
16
16
17
"github.com/pion/webrtc/v4/pkg/media"
17
18
)
@@ -243,17 +244,30 @@ func handleAudioClient(conn net.Conn) {
243
244
244
245
scopedLogger .Info ().Msg ("native audio socket client connected" )
245
246
inboundPacket := make ([]byte , maxAudioFrameSize )
247
+ var timestamp uint32
248
+ var packet rtp.Packet
246
249
for {
247
250
n , err := conn .Read (inboundPacket )
248
251
if err != nil {
249
252
scopedLogger .Warn ().Err (err ).Msg ("error during read" )
250
253
return
251
254
}
252
255
253
- logger .Info ().Msgf ("audio socket msg: %d" , n )
254
-
255
256
if currentSession != nil {
256
- if _ , err := currentSession .AudioTrack .Write (inboundPacket [:n ]); err != nil {
257
+ if err := packet .Unmarshal (inboundPacket [:n ]); err != nil {
258
+ scopedLogger .Warn ().Err (err ).Msg ("error unmarshalling audio socket packet" )
259
+ continue
260
+ }
261
+
262
+ timestamp += 960
263
+ packet .Header .Timestamp = timestamp
264
+ buf , err := packet .Marshal ()
265
+ if err != nil {
266
+ scopedLogger .Warn ().Err (err ).Msg ("error marshalling packet" )
267
+ continue
268
+ }
269
+
270
+ if _ , err := currentSession .AudioTrack .Write (buf ); err != nil {
257
271
scopedLogger .Warn ().Err (err ).Msg ("error writing sample" )
258
272
}
259
273
}
You can’t perform that action at this time.
0 commit comments