@@ -24,6 +24,7 @@ import (
24
24
"github.com/pion/rtp"
25
25
"github.com/pion/sdp/v3"
26
26
"github.com/pion/transport/v3/test"
27
+ "github.com/pion/transport/v3/vnet"
27
28
"github.com/pion/webrtc/v3/pkg/media"
28
29
"github.com/stretchr/testify/assert"
29
30
"github.com/stretchr/testify/require"
@@ -329,10 +330,15 @@ func TestPeerConnection_Media_Disconnected(t *testing.T) {
329
330
m := & MediaEngine {}
330
331
assert .NoError (t , m .RegisterDefaultCodecs ())
331
332
332
- pcOffer , pcAnswer , err := NewAPI (WithSettingEngine (s ), WithMediaEngine (m )).newPair (Configuration {})
333
- if err != nil {
334
- t .Fatal (err )
335
- }
333
+ pcOffer , pcAnswer , wan := createVNetPair (t )
334
+
335
+ keepPackets := & atomicBool {}
336
+ keepPackets .set (true )
337
+
338
+ // Add a filter that monitors the traffic on the router
339
+ wan .AddChunkFilter (func (c vnet.Chunk ) bool {
340
+ return keepPackets .get ()
341
+ })
336
342
337
343
vp8Track , err := NewTrackLocalStaticSample (RTPCodecCapability {MimeType : MimeTypeVP8 }, "video" , "pion2" )
338
344
if err != nil {
@@ -360,14 +366,11 @@ func TestPeerConnection_Media_Disconnected(t *testing.T) {
360
366
time .Sleep (time .Second )
361
367
}
362
368
363
- if pcCloseErr := pcAnswer .Close (); pcCloseErr != nil {
364
- haveDisconnected <- pcCloseErr
365
- }
369
+ keepPackets .set (false )
366
370
}
367
371
})
368
372
369
- err = signalPair (pcOffer , pcAnswer )
370
- if err != nil {
373
+ if err = signalPair (pcOffer , pcAnswer ); err != nil {
371
374
t .Fatal (err )
372
375
}
373
376
@@ -383,7 +386,8 @@ func TestPeerConnection_Media_Disconnected(t *testing.T) {
383
386
}
384
387
}
385
388
386
- assert .NoError (t , pcOffer .Close ())
389
+ assert .NoError (t , wan .Stop ())
390
+ closePairNow (t , pcOffer , pcAnswer )
387
391
}
388
392
389
393
type undeclaredSsrcLogger struct { unhandledSimulcastError chan struct {} }
0 commit comments