def test_send_rtcp_pli(self): receiver = RTCRtpReceiver('video', self.local_transport) receiver._set_rtcp_ssrc(1234) receiver._track = RemoteStreamTrack(kind='video') run(receiver.receive(RTCRtpReceiveParameters(codecs=[VP8_CODEC]))) # send RTCP feedback PLI run(receiver._send_rtcp_pli(5678)) # shutdown run(receiver.stop())
def test_send_rtcp_nack(self): receiver = RTCRtpReceiver("video", self.local_transport) receiver._set_rtcp_ssrc(1234) receiver._track = RemoteStreamTrack(kind="video") run(receiver.receive(RTCRtpReceiveParameters(codecs=[VP8_CODEC]))) # send RTCP feedback NACK run(receiver._send_rtcp_nack(5678, [7654])) # shutdown run(receiver.stop())
def test_send_rtcp_pli(self): receiver = RTCRtpReceiver('video', self.local_transport) receiver._set_rtcp_ssrc(1234) receiver._track = RemoteStreamTrack(kind='video') run( receiver.receive( RTCRtpReceiveParameters(codecs=[ RTCRtpCodecParameters( name='VP8', clockRate=90000, payloadType=100), ]))) # send RTCP feedback PLI run(receiver._send_rtcp_pli(5678)) # shutdown run(receiver.stop())
def test_connection_error(self): """ Close the underlying transport before the receiver. """ receiver = RTCRtpReceiver('audio', self.local_transport) self.assertEqual(receiver.transport, self.local_transport) receiver._track = RemoteStreamTrack(kind='audio') receiver._set_rtcp_ssrc(1234) run(receiver.receive(RTCRtpReceiveParameters(codecs=[PCMU_CODEC]))) # receive a packet to prime RTCP packet = RtpPacket.parse(load('rtp.bin')) run(receiver._handle_rtp_packet(packet, arrival_time_ms=0)) # break connection run(self.local_transport.stop()) # give RTCP time to send a report run(asyncio.sleep(2)) # shutdown run(receiver.stop())