Skip to content

Commit

Permalink
Move negotation test out of peerconnection_test
Browse files Browse the repository at this point in the history
No functional change
  • Loading branch information
Sean-Der committed Mar 8, 2023
1 parent 777e03c commit 595f1c0
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 36 deletions.
35 changes: 35 additions & 0 deletions peerconnection_renegotiation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1285,3 +1285,38 @@ func TestPeerConnection_Regegotiation_AnswerAddsTrack(t *testing.T) {

closePairNow(t, pcOffer, pcAnswer)
}

func TestNegotiationNeededWithRecvonlyTrack(t *testing.T) {
lim := test.TimeOut(time.Second * 30)
defer lim.Stop()

report := test.CheckRoutines(t)
defer report()

pcOffer, pcAnswer, err := newPair()
if err != nil {
t.Fatal(err)
}

var wg sync.WaitGroup
wg.Add(1)
pcAnswer.OnNegotiationNeeded(wg.Done)

_, err = pcOffer.AddTransceiverFromKind(RTPCodecTypeVideo, RTPTransceiverInit{Direction: RTPTransceiverDirectionRecvonly})
if err != nil {
t.Fatal(err)
}

if err := signalPair(pcOffer, pcAnswer); err != nil {
t.Fatal(err)
}

onDataChannel, onDataChannelCancel := context.WithCancel(context.Background())
pcAnswer.OnDataChannel(func(d *DataChannel) {
onDataChannelCancel()
})
<-onDataChannel.Done()
wg.Wait()

closePairNow(t, pcOffer, pcAnswer)
}
36 changes: 0 additions & 36 deletions peerconnection_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package webrtc

import (
"context"
"reflect"
"sync"
"sync/atomic"
Expand Down Expand Up @@ -752,38 +751,3 @@ func TestTransportChain(t *testing.T) {

closePairNow(t, offer, answer)
}

func TestNegotiationNeededWithRecvonlyTrack(t *testing.T) {
lim := test.TimeOut(time.Second * 30)
defer lim.Stop()

report := test.CheckRoutines(t)
defer report()

pcOffer, pcAnswer, err := newPair()
if err != nil {
t.Fatal(err)
}

var wg sync.WaitGroup
wg.Add(1)
pcAnswer.OnNegotiationNeeded(wg.Done)

_, err = pcOffer.AddTransceiverFromKind(RTPCodecTypeVideo, RTPTransceiverInit{Direction: RTPTransceiverDirectionRecvonly})
if err != nil {
t.Fatal(err)
}

if err := signalPair(pcOffer, pcAnswer); err != nil {
t.Fatal(err)
}

onDataChannel, onDataChannelCancel := context.WithCancel(context.Background())
pcAnswer.OnDataChannel(func(d *DataChannel) {
onDataChannelCancel()
})
<-onDataChannel.Done()
wg.Wait()

closePairNow(t, pcOffer, pcAnswer)
}

0 comments on commit 595f1c0

Please sign in to comment.