18 #include "bufferlist.h"
19 #include <gst/gstbufferlist.h>
23 BufferListPtr BufferList::create()
28 uint BufferList::groupsCount()
const
30 return gst_buffer_list_n_groups(object<GstBufferList>());
33 BufferPtr BufferList::bufferAt(uint group, uint index)
const
35 return BufferPtr::wrap(gst_buffer_list_get(object<GstBufferList>(), group, index));
39 BufferListIterator::BufferListIterator(
const BufferListPtr & list)
41 m_it = gst_buffer_list_iterate(list);
44 BufferListIterator::~BufferListIterator()
46 gst_buffer_list_iterator_free(m_it);
51 return gst_buffer_list_iterator_n_buffers(m_it);
61 gst_buffer_list_iterator_add(m_it, gst_buffer_ref(buffer));
66 gst_buffer_list_iterator_remove(m_it);
72 gst_buffer_list_iterator_remove(m_it);
78 gst_buffer_list_iterator_take(m_it, gst_buffer_ref(other));
83 gst_buffer_list_iterator_add_group(m_it);
88 return gst_buffer_list_iterator_next_group(m_it);
93 return BufferPtr::wrap(gst_buffer_list_iterator_merge_group(m_it),
false);