Пример #1
0
    def test_capabilities(self):
        # audio
        capabilities = RTCRtpReceiver.getCapabilities('audio')
        self.assertTrue(isinstance(capabilities, RTCRtpCapabilities))
        self.assertEqual(capabilities.codecs, [
            RTCRtpCodecCapability(
                mimeType='audio/opus', clockRate=48000, channels=2),
            RTCRtpCodecCapability(
                mimeType='audio/PCMU', clockRate=8000, channels=1),
            RTCRtpCodecCapability(
                mimeType='audio/PCMA', clockRate=8000, channels=1),
        ])
        self.assertEqual(capabilities.headerExtensions, [
            RTCRtpHeaderExtensionCapability(
                uri='urn:ietf:params:rtp-hdrext:sdes:mid'),
        ])

        # video
        capabilities = RTCRtpReceiver.getCapabilities('video')
        self.assertTrue(isinstance(capabilities, RTCRtpCapabilities))
        self.assertEqual(capabilities.codecs, [
            RTCRtpCodecCapability(mimeType='video/VP8', clockRate=90000),
            RTCRtpCodecCapability(mimeType='video/rtx', clockRate=90000),
            RTCRtpCodecCapability(mimeType='video/H264',
                                  clockRate=90000,
                                  parameters=OrderedDict(
                                      [('packetization-mode', '1'),
                                       ('level-asymmetry-allowed', '1'),
                                       ('profile-level-id', '42001f')])),
            RTCRtpCodecCapability(mimeType='video/H264',
                                  clockRate=90000,
                                  parameters=OrderedDict(
                                      [('packetization-mode', '1'),
                                       ('level-asymmetry-allowed', '1'),
                                       ('profile-level-id', '42e01f')])),
        ])
        self.assertEqual(
            capabilities.headerExtensions,
            [
                RTCRtpHeaderExtensionCapability(
                    uri='urn:ietf:params:rtp-hdrext:sdes:mid'),
                RTCRtpHeaderExtensionCapability(
                    uri=
                    'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time'
                ),  # noqa
            ])

        # bogus
        capabilities = RTCRtpReceiver.getCapabilities('bogus')
        self.assertIsNone(capabilities)
Пример #2
0
    def test_capabilities(self):
        # audio
        capabilities = RTCRtpReceiver.getCapabilities("audio")
        self.assertTrue(isinstance(capabilities, RTCRtpCapabilities))
        self.assertEqual(
            capabilities.codecs,
            [
                RTCRtpCodecCapability(
                    mimeType="audio/opus", clockRate=48000, channels=2),
                RTCRtpCodecCapability(
                    mimeType="audio/PCMU", clockRate=8000, channels=1),
                RTCRtpCodecCapability(
                    mimeType="audio/PCMA", clockRate=8000, channels=1),
            ],
        )
        self.assertEqual(
            capabilities.headerExtensions,
            [
                RTCRtpHeaderExtensionCapability(
                    uri="urn:ietf:params:rtp-hdrext:sdes:mid")
            ],
        )

        # video
        capabilities = RTCRtpReceiver.getCapabilities("video")
        self.assertTrue(isinstance(capabilities, RTCRtpCapabilities))
        self.assertEqual(
            capabilities.codecs,
            [
                RTCRtpCodecCapability(mimeType="video/VP8", clockRate=90000),
                RTCRtpCodecCapability(mimeType="video/rtx", clockRate=90000),
                RTCRtpCodecCapability(
                    mimeType="video/H264",
                    clockRate=90000,
                    parameters=OrderedDict([
                        ("packetization-mode", "1"),
                        ("level-asymmetry-allowed", "1"),
                        ("profile-level-id", "42001f"),
                    ]),
                ),
                RTCRtpCodecCapability(
                    mimeType="video/H264",
                    clockRate=90000,
                    parameters=OrderedDict([
                        ("packetization-mode", "1"),
                        ("level-asymmetry-allowed", "1"),
                        ("profile-level-id", "42e01f"),
                    ]),
                ),
            ],
        )
        self.assertEqual(
            capabilities.headerExtensions,
            [
                RTCRtpHeaderExtensionCapability(
                    uri="urn:ietf:params:rtp-hdrext:sdes:mid"),
                RTCRtpHeaderExtensionCapability(
                    uri=
                    "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
                ),
            ],
        )

        # bogus
        with self.assertRaises(ValueError):
            RTCRtpReceiver.getCapabilities("bogus")