summaryrefslogtreecommitdiff
path: root/testsuite/test_buffer.py
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2008-06-27 08:39:37 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2008-06-27 08:39:37 +0000
commit468cb05597958290ed0eb30432dde4af07eaa12b (patch)
tree9f4a0a4b87f54ea19e421c603d5be1435fdc35cf /testsuite/test_buffer.py
parent103e13fa6655fa3ff01a3d55ddbc4d593f238ffc (diff)
gst/gstbuffer.override: the GstBuffer overrides seem to be confused about whether they're mini-objects or a GBoxed, a...
Original commit message from CVS: * gst/gstbuffer.override: the GstBuffer overrides seem to be confused about whether they're mini-objects or a GBoxed, and it makes copy_on_write no actually return a usable gst.Buffer. Fix up places where GstBuffers are treated as GBoxed to use pygstminiobject functions. Makes gst.Buffer('blah').copy_on_write() work. * testsuite/test_buffer.py: Add test for copy-on-write writability * examples/buffer-draw.py: Add an example of drawing on a GStreamer buffer with cairo * gst/gstpad.override: Make function static
Diffstat (limited to 'testsuite/test_buffer.py')
-rw-r--r--testsuite/test_buffer.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/testsuite/test_buffer.py b/testsuite/test_buffer.py
index bce6d1a..b4a5fb2 100644
--- a/testsuite/test_buffer.py
+++ b/testsuite/test_buffer.py
@@ -87,6 +87,16 @@ class BufferTest(TestCase):
spaned_buffer = buffer1.span(0L, buffer2, 6L)
assert str(spaned_buffer) == 'foobar'
+ def testBufferCopyOnWrite(self):
+ s='test_vector'
+ buffer = gst.Buffer(s)
+ sub = buffer.create_sub(0, buffer.size)
+ self.assertEquals(sub.size, buffer.size)
+ out = sub.copy_on_write ()
+ self.assertEquals(out.size, sub.size)
+ assert str(out) == str(buffer)
+ out[5] = 'w'
+ assert str(out) == 'test_wector'
def testBufferFlagIsSet(self):
buffer = gst.Buffer()