summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2014-06-23 20:48:42 +0300
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2014-06-23 20:48:42 +0300
commit9e5f20d9c199a7c827c14831717a837a53426faa (patch)
treedd6b162a3a8f60a1716abd46c7adf51165132bdc
parent7896e1e927392add3c89f8cb251d7753e34db7ec (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.cpp9
-rw-r--r--src/QGst/buffer.h4
-rw-r--r--tests/auto/buffertest.cpp4
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());