@@ -40,6 +40,7 @@ import (
4040)
4141
4242type PortStats struct {
43+ Streams atomic.Uint64
4344 Packets atomic.Uint64
4445 IgnoredPackets atomic.Uint64
4546 InputPackets atomic.Uint64
@@ -49,6 +50,9 @@ type PortStats struct {
4950
5051 AudioPackets atomic.Uint64
5152 AudioBytes atomic.Uint64
53+
54+ DTMFPackets atomic.Uint64
55+ DTMFBytes atomic.Uint64
5256}
5357
5458type UDPConn interface {
@@ -405,6 +409,7 @@ func (p *MediaPort) rtpLoop(sess rtp.Session) {
405409 }
406410 return
407411 }
412+ p .stats .Streams .Add (1 )
408413 p .mediaReceived .Break ()
409414 log := p .log .WithValues ("ssrc" , ssrc )
410415 log .Infow ("accepting RTP stream" )
@@ -521,20 +526,26 @@ func (p *MediaPort) setupInput() {
521526 mux .Register (
522527 p .conf .Audio .Type , newRTPHandlerCount (
523528 newRTPStatsHandler (p .mon , p .conf .Audio .Codec .Info ().SDPName , audioHandler ),
524- & p .stats .AudioPackets , & p .stats .AudioBytes ),
529+ & p .stats .AudioPackets , & p .stats .AudioBytes ,
530+ ),
525531 )
526532 if p .conf .Audio .DTMFType != 0 {
527- mux .Register (p .conf .Audio .DTMFType , newRTPStatsHandler (p .mon , dtmf .SDPName , rtp .HandlerFunc (func (h * rtp.Header , payload []byte ) error {
528- ptr := p .dtmfIn .Load ()
529- if ptr == nil {
530- return nil
531- }
532- fnc := * ptr
533- if ev , ok := dtmf .DecodeRTP (h , payload ); ok && fnc != nil {
534- fnc (ev )
535- }
536- return nil
537- })))
533+ mux .Register (
534+ p .conf .Audio .DTMFType , newRTPHandlerCount (
535+ newRTPStatsHandler (p .mon , dtmf .SDPName , rtp .HandlerFunc (func (h * rtp.Header , payload []byte ) error {
536+ ptr := p .dtmfIn .Load ()
537+ if ptr == nil {
538+ return nil
539+ }
540+ fnc := * ptr
541+ if ev , ok := dtmf .DecodeRTP (h , payload ); ok && fnc != nil {
542+ fnc (ev )
543+ }
544+ return nil
545+ })),
546+ & p .stats .DTMFPackets , & p .stats .DTMFBytes ,
547+ ),
548+ )
538549 }
539550 var hnd rtp.Handler = newRTPHandlerCount (mux , & p .stats .MuxPackets , & p .stats .MuxBytes )
540551 if p .jitterEnabled {
0 commit comments