diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2014-06-23 20:48:42 +0300 |
---|---|---|
committer | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2014-06-23 20:48:42 +0300 |
commit | 9e5f20d9c199a7c827c14831717a837a53426faa (patch) | |
tree | dd6b162a3a8f60a1716abd46c7adf51165132bdc | |
parent | 7896e1e927392add3c89f8cb251d7753e34db7ec (diff) |
QGst::Buffer: replace peekMemory() with getMemory() and also add memoryCount()
The peek prefix is a bad choice because in C it means getting an object
without increasing its reference count. However in C++ we cannot do
that due to smart pointers, so it's a bit confusing to use it.
Obviously for getMemory() to be useful, we also need a memoryCount() method
that returns how many memory objects there are in the buffer...
-rw-r--r-- | src/QGst/buffer.cpp | 9 | ||||
-rw-r--r-- | src/QGst/buffer.h | 4 | ||||
-rw-r--r-- | tests/auto/buffertest.cpp | 4 |
3 files changed, 12 insertions, 5 deletions
diff --git a/src/QGst/buffer.cpp b/src/QGst/buffer.cpp index b12b6f1..a56f2e0 100644 --- a/src/QGst/buffer.cpp +++ b/src/QGst/buffer.cpp @@ -83,9 +83,14 @@ uint Buffer::extract(uint offset, void *dest, uint size) return gst_buffer_extract(object<GstBuffer>(), offset, dest, size); } -MemoryPtr Buffer::peekMemory(uint index) +uint Buffer::memoryCount() const { - return MemoryPtr::wrap(gst_buffer_peek_memory(object<GstBuffer>(), index)); + return gst_buffer_n_memory (object<GstBuffer>()); +} + +MemoryPtr Buffer::getMemory(uint index) const +{ + return MemoryPtr::wrap(gst_buffer_get_memory(object<GstBuffer>(), index), false); } bool Buffer::map(MapInfo &info, MapFlags flags) diff --git a/src/QGst/buffer.h b/src/QGst/buffer.h index 701371a..272107d 100644 --- a/src/QGst/buffer.h +++ b/src/QGst/buffer.h @@ -53,7 +53,9 @@ public: void setSize(uint size); uint extract(uint offset, void *dest, uint size); - MemoryPtr peekMemory(uint index); + + uint memoryCount() const; + MemoryPtr getMemory(uint index) const; BufferPtr copy() const; inline BufferPtr makeWritable() const; diff --git a/tests/auto/buffertest.cpp b/tests/auto/buffertest.cpp index 2fce45c..4a4a55a 100644 --- a/tests/auto/buffertest.cpp +++ b/tests/auto/buffertest.cpp @@ -35,7 +35,7 @@ void BufferTest::simpleTest() QGst::BufferPtr buffer = QGst::Buffer::create(10); QCOMPARE(buffer->size(), (quint32) 10); - QVERIFY(buffer->peekMemory(0)); + QVERIFY(buffer->getMemory(0)); } void BufferTest::flagsTest() @@ -82,7 +82,7 @@ void BufferTest::memoryPeekTest() returned_bytes = buffer->extract(0, &bytes, 20); QCOMPARE(returned_bytes, static_cast<size_t>(10)); - QGst::MemoryPtr m = buffer->peekMemory(0); + QGst::MemoryPtr m = buffer->getMemory(0); QVERIFY(m); QVERIFY(m->isWritable()); |