From 94cf7fe06b76337133b456c464fb1a0ba8a50227 Mon Sep 17 00:00:00 2001 From: zhangwb Date: Fri, 13 Sep 2024 19:18:41 +0800 Subject: [PATCH 1/2] Fix MediaInfo lost Protocal and Payloads in Clone func --- mediainfo.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mediainfo.go b/mediainfo.go index b169607..dce75f2 100644 --- a/mediainfo.go +++ b/mediainfo.go @@ -56,6 +56,8 @@ func (m *MediaInfo) Clone() *MediaInfo { if m.simulcast { cloned.SetSimulcast(m.simulcast) } + cloned.Protocal = m.Protocal + cloned.Payloads = m.Payloads return cloned } From 97d6d10a32e25649de68893baadbc025512b32fb Mon Sep 17 00:00:00 2001 From: zhangwb Date: Fri, 13 Sep 2024 19:19:44 +0800 Subject: [PATCH 2/2] Fix StreamInfo.Clone() makes panic --- streaminfo.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/streaminfo.go b/streaminfo.go index 6bddd99..2b4655a 100644 --- a/streaminfo.go +++ b/streaminfo.go @@ -23,8 +23,8 @@ func (s *StreamInfo) Clone() *StreamInfo { tracks: make([]*TrackInfo, 0), } - for k, v := range s.tracks { - stream.tracks[k] = v.Clone() + for _, v := range s.tracks { + stream.tracks = append(stream.tracks, v.Clone()) } return stream } @@ -40,20 +40,20 @@ func (s *StreamInfo) AddTrack(track *TrackInfo) { } func (s *StreamInfo) RemoveTrack(track *TrackInfo) { - tracks := make([]*TrackInfo,0) - for _,temtrack := range s.tracks { + tracks := make([]*TrackInfo, 0) + for _, temtrack := range s.tracks { if temtrack.GetID() != track.GetID() { - tracks = append(tracks,temtrack) + tracks = append(tracks, temtrack) } } s.tracks = tracks } func (s *StreamInfo) RemoveTrackById(trackId string) { - tracks := make([]*TrackInfo,0) - for _,temtrack := range s.tracks { + tracks := make([]*TrackInfo, 0) + for _, temtrack := range s.tracks { if temtrack.GetID() != trackId { - tracks = append(tracks,temtrack) + tracks = append(tracks, temtrack) } } s.tracks = tracks @@ -77,12 +77,12 @@ func (s *StreamInfo) GetTracks() []*TrackInfo { func (s *StreamInfo) RemoveAllTracks() { - s.tracks = make([]*TrackInfo,0) + s.tracks = make([]*TrackInfo, 0) } func (s *StreamInfo) GetTrack(trackID string) *TrackInfo { - for _,track := range s.tracks { + for _, track := range s.tracks { if track.GetID() == trackID { return track }