Пример #1
0
    def testTagMessage(self):
        # Create a taglist
        t = gst.TagList()
        t['something'] = "else"
        t['another'] = 42

        # Create two messages using that same taglist
        m1 = gst.message_new_tag(self.element, t)
        assert m1
        m2 = gst.message_new_tag(self.element, t)
        assert m2

        # make sure the two messages have the same taglist
        t1 = m1.parse_tag()
        assert t1
        keys = t1.keys()
        keys.sort()
        self.assertEquals(keys, ['another', 'something'])
        self.assertEquals(t1['something'], "else")
        self.assertEquals(t1['another'], 42)
        t2 = m2.parse_tag()
        assert t2
        keys = t2.keys()
        keys.sort()
        self.assertEquals(keys, ['another', 'something'])
        self.assertEquals(t2['something'], "else")
        self.assertEquals(t2['another'], 42)
Пример #2
0
    def testTagFullMessage(self):
        if hasattr(gst.Message, 'parse_tag_full'):
            p = gst.Pad("blahblah", gst.PAD_SRC)
            # Create a taglist
            t = gst.TagList()
            t['something'] = "else"
            t['another'] = 42

            # Create two messages using that same taglist
            m1 = gst.message_new_tag_full(self.element, p, t)
            assert m1
            m2 = gst.message_new_tag_full(self.element, p, t)
            assert m2

            # make sure the two messages have the same taglist
            p1, t1 = m1.parse_tag_full()
            assert t1
            keys = t1.keys()
            keys.sort()
            self.assertEquals(p1, p)
            self.assertEquals(keys, ['another', 'something'])
            self.assertEquals(t1['something'], "else")
            self.assertEquals(t1['another'], 42)
            p2, t2 = m2.parse_tag_full()
            assert t2
            keys = t2.keys()
            keys.sort()
            self.assertEquals(p2, p)
            self.assertEquals(keys, ['another', 'something'])
            self.assertEquals(t2['something'], "else")
            self.assertEquals(t2['another'], 42)
Пример #3
0
 def testKeys(self):
     taglist = gst.TagList()
     self.assertEqual(taglist.keys(), [])
     taglist['key1'] = 'value'
     taglist['key2'] = 'value'
     keys = taglist.keys()
     keys.sort()
     self.assertEqual(keys, ['key1', 'key2'])
Пример #4
0
    def testXmp(self):
        taglist = gst.TagList()
        taglist['title'] = 'my funny title'
        taglist['geo-location-latitude'] = 23.25

        xmp = tag.tag_list_to_xmp_buffer(taglist, True)
        self.assertNotEquals(xmp, None)
        taglist2 = tag.tag_list_from_xmp_buffer(xmp)

        self.assertEquals(len(taglist2), 2)
        self.assertEquals(taglist2['title'], 'my funny title')
        self.assertEquals(taglist2['geo-location-latitude'], 23.25)
Пример #5
0
    def testUnicode(self):
        taglist = gst.TagList()

        # normal ASCII text
        taglist[gst.TAG_ARTIST] = 'Artist'
        self.failUnless(isinstance(taglist[gst.TAG_ARTIST], unicode))
        self.assertEquals(taglist[gst.TAG_ARTIST], u'Artist')
        self.assertEquals(taglist[gst.TAG_ARTIST], 'Artist')

        # normal ASCII text as unicode
        taglist[gst.TAG_ARTIST] = u'Artist'
        self.failUnless(isinstance(taglist[gst.TAG_ARTIST], unicode))
        self.assertEquals(taglist[gst.TAG_ARTIST], u'Artist')
        self.assertEquals(taglist[gst.TAG_ARTIST], 'Artist')

        # real unicode
        taglist[gst.TAG_ARTIST] = u'S\xc3\xadgur R\xc3\xb3s'
        self.failUnless(isinstance(taglist[gst.TAG_ARTIST], unicode))
        self.assertEquals(taglist[gst.TAG_ARTIST], u'S\xc3\xadgur R\xc3\xb3s')
Пример #6
0
    def testRun(self):
        # in 0.10.15.1, this triggers
        # sys:1: gobject.Warning: g_value_get_uint: assertion `G_VALUE_HOLDS_UINT (value)' failed
        # during pipeline playing

        l = gst.TagList()
        l[gst.TAG_ARTIST] = 'artist'
        l[gst.TAG_TRACK_NUMBER] = 1
        encoder = self.pipeline.get_by_name('encoder')
        encoder.merge_tags(l, gst.TAG_MERGE_APPEND)

        self.assertEqual(self.pipeline.get_state()[1], gst.STATE_NULL)
        self.pipeline.set_state(gst.STATE_PLAYING)
        self.assertEqual(self.pipeline.get_state()[1], gst.STATE_PLAYING)
        
        time.sleep(1)

        self.assertEqual(self.pipeline.get_state()[1], gst.STATE_PLAYING)
        self.pipeline.set_state(gst.STATE_NULL)
        self.assertEqual(self.pipeline.get_state()[1], gst.STATE_NULL)
Пример #7
0
 def testUnsignedInt(self):
     taglist = gst.TagList()
     taglist[gst.TAG_TRACK_NUMBER] = 1
     vorbis = gst.tag.to_vorbis_comments(taglist, gst.TAG_TRACK_NUMBER)
     self.assertEquals(vorbis, ['TRACKNUMBER=1'])
Пример #8
0
 def testLength(self):
     taglist = gst.TagList()
     self.assertEqual(len(taglist), 0)
     taglist['key1'] = 'value'
     taglist['key2'] = 'value'
     self.assertEqual(len(taglist), 2)
Пример #9
0
 def testContains(self):
     taglist = gst.TagList()
     self.failIf('key' in taglist)
     taglist['key'] = 'value'
     self.failUnless('key' in taglist)