From bb5df24ecff8c0afa06477b266c4741a6e34dd20 Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Fri, 17 Feb 2023 09:34:05 +0300 Subject: [PATCH] Add support consumer feature for Tapo source --- pkg/tapo/consumer.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 pkg/tapo/consumer.go diff --git a/pkg/tapo/consumer.go b/pkg/tapo/consumer.go new file mode 100644 index 00000000..f39be437 --- /dev/null +++ b/pkg/tapo/consumer.go @@ -0,0 +1,18 @@ +package tapo + +import ( + "github.com/AlexxIT/go2rtc/pkg/streamer" + "github.com/pion/rtp" +) + +func (c *Client) AddTrack(media *streamer.Media, track *streamer.Track) *streamer.Track { + consCodec := media.MatchCodec(track.Codec) + consTrack := c.GetTrack(media, consCodec) + if consTrack == nil { + return nil + } + + return track.Bind(func(packet *rtp.Packet) error { + return consTrack.WriteRTP(packet) + }) +}