Exemple #1
0
    def testSpeexCodec(self):
        if codecs.gsm is None:
            raise unittest.SkipTest("no speex support")
        ae = self.assertEqual
        c = Codecker(PT_SPEEX)
        ae(c.getDefaultFormat(), PT_SPEEX)

        class Foo:
            def handle_media_sample(self, sample):
                ae(len(sample.data), 40)
                ae(sample.ct, PT_SPEEX)
                p = RTPPacket(0, 0, 0, data=sample.data, ct=sample.ct)
                ae(len(c.decode(p)), 320)

        c.set_handler(Foo().handle_media_sample)

        p = c.handle_audio(instr)

        class Foo:
            def handle_media_sample(self, sample, tester=self):
                tester.fail(
                    "WRONG.  The decoding of 30 zeroes (a short Speex frame) is required to be None, but it came out: %s"
                    % (sample, ))

        c.set_handler(Foo().handle_media_sample)

        c.handle_audio(b'\0' * 30)
Exemple #2
0
 def testCodeckerSanity(self):
     a_ = self.assertTrue
     ae = self.assertEqual
     ar = self.assertRaises
     c = Codecker(PT_PCMU)
     a_(isinstance(c.format_to_codec.get(PT_PCMU), MulawCodec))
     a_(isinstance(c.format_to_codec.get(PT_RAW), PassthruCodec))
     a_(isinstance(c.format_to_codec.get(PT_CN), NullCodec))
     for codec in c.format_to_codec.values():
         a_(isinstance(codec, _Codec))
     ae(c.getDefaultFormat(), PT_PCMU)
     ar(ValueError, Codecker, PT_QCELP)
Exemple #3
0
    def testMuLawCodec(self):
        if codecs.mulaw is None:
            raise unittest.SkipTest("no mulaw support")
        ae = self.assertEqual
        c = Codecker(PT_PCMU)
        ae(c.getDefaultFormat(), PT_PCMU)

        class Foo:
            def handle_media_sample(self, sample):
                ae(len(sample.data), 160)
                ae(sample.data, ulawout)
                ae(sample.ct, PT_PCMU)

        c.set_handler(Foo().handle_media_sample)
        c.handle_audio(instr)
Exemple #4
0
    def testPassthruCodec(self):
        ae = self.assertEqual
        c = Codecker(PT_RAW)
        ae(c.getDefaultFormat(), PT_RAW)
        p = PassthruCodec()
        ae = self.assertEqual

        class Foo:
            def handle_media_sample(self, sample):
                ae(sample.data, b'frobozulate')

        c.set_handler(Foo().handle_media_sample)

        c.handle_audio(b'frobozulate')

        class Foo:
            def handle_media_sample(self, sample):
                ae(sample.data, b'farnarkling')
                ae(sample.ct, PT_RAW)

        c.set_handler(Foo().handle_media_sample)

        c.handle_audio(b'farnarkling')