diff --git a/pkg/mpegts/producer.go b/pkg/mpegts/producer.go index 2c72d8aa..0d2ef669 100644 --- a/pkg/mpegts/producer.go +++ b/pkg/mpegts/producer.go @@ -91,7 +91,7 @@ func (c *Producer) probe() error { case StreamTypeMetadata: for _, streamType := range pkt.Payload { switch streamType { - case StreamTypeH264, StreamTypeH265, StreamTypeAAC, StreamTypePrivateOPUS: + case StreamTypeH264, StreamTypeH265, StreamTypeAAC, StreamTypePrivateOPUS, StreamTypePCMATapo, StreamTypePCMUTapo: waitType = append(waitType, streamType) } } @@ -135,6 +135,30 @@ func (c *Producer) probe() error { Codecs: []*core.Codec{codec}, } c.Medias = append(c.Medias, media) + + case StreamTypePCMATapo: + codec := &core.Codec{ + Name: core.CodecPCMA, + ClockRate: 8000, + } + media := &core.Media{ + Kind: core.KindAudio, + Direction: core.DirectionRecvonly, + Codecs: []*core.Codec{codec}, + } + c.Medias = append(c.Medias, media) + + case StreamTypePCMUTapo: + codec := &core.Codec{ + Name: core.CodecPCMU, + ClockRate: 8000, + } + media := &core.Media{ + Kind: core.KindAudio, + Direction: core.DirectionRecvonly, + Codecs: []*core.Codec{codec}, + } + c.Medias = append(c.Medias, media) } } @@ -151,6 +175,8 @@ func StreamType(codec *core.Codec) uint8 { return StreamTypeAAC case core.CodecPCMA: return StreamTypePCMATapo + case core.CodecPCMU: + return StreamTypePCMUTapo case core.CodecOpus: return StreamTypePrivateOPUS }