gstreamer/gst
Jonas Holmberg 27fb4ce76c bufferlist: add bufferlist code
Buffer lists are a means to manage disjoint buffers as one buffer. It's also
possible to put many of those buffers into a list.

The idea is that when support is added to various elements, we will be able to
more efficiently slice and dice buffers, reduce the amount of memcpy and also
reduce data passing overhead.

The implementation is kept simple on purpose, reusing all of the memory
management features we have for miniobjects and buffers.

Access to the bufferlist object is done with an iterator, which allows for
efficient iteration and modification of the list.

See #572285
2009-05-12 15:18:52 +02:00
..
parse gst/parse/grammar.y: Remove unneeded casts. 2008-05-25 14:13:22 +00:00
.gitignore ignore more 2006-07-02 12:52:09 +00:00
gettext.h adding i18n tested with nl, seems to work fine 2004-01-13 11:30:00 +00:00
glib-compat-private.h configure.ac: Require GLib 2.12. 2008-04-01 13:55:20 +00:00
glib-compat.c gst/: remove GLib 2.6 compatibility code 2006-06-13 08:20:24 +00:00
glib-compat.h Remove some compatibility stuff for GLib < 2.14 2009-03-26 11:08:27 +01:00
gst-i18n-app.h The attached patch will make the inclusion of gettext.h unconditional in gst/gst-i18n-app.h and gst/gst-i18n-lib.h, a... 2006-07-03 14:14:48 +00:00
gst-i18n-lib.h Make --disable-nls to work 2007-04-18 10:58:31 +00:00
gst.c xmlregistry: remove the old xml registry 2009-05-12 00:09:58 +01:00
gst.h taskpool: add new object to manage threads 2009-05-12 00:22:19 +02:00
gst_private.h xmlregistry: remove the old xml registry 2009-05-12 00:09:58 +01:00
gstbin.c bin: fix debug message 2009-05-11 23:41:52 +01:00
gstbin.h docs: explain ref ownership for handle_message implementations 2009-04-02 13:32:58 +02:00
gstbuffer.c gstbuffer: copy new buffer flags when copying metadata. 2009-05-12 11:22:11 +02:00
gstbuffer.h docs: Improve some docs 2009-03-12 10:48:21 +01:00
gstbufferlist.c bufferlist: add bufferlist code 2009-05-12 15:18:52 +02:00
gstbufferlist.h bufferlist: add bufferlist code 2009-05-12 15:18:52 +02:00
gstbus.c gst: Use G_DEFINE_TYPE and don't call g_thread_init() from class_init 2009-04-04 10:18:42 +02:00
gstbus.h API: add gst_bus_pop_filtered 2007-10-16 20:30:13 +00:00
gstcaps.c docs: improve API reference for gst_caps_get_structure() 2009-04-03 11:20:32 +01:00
gstcaps.h gst/gstcaps.*: Constify the field gchar * params in set_simple and friends. 2008-03-24 10:33:41 +00:00
gstchildproxy.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gstchildproxy.h gst/: Remove double interface from doc-string. 2008-08-12 06:27:35 +00:00
gstclock.c docs: xref more 2009-04-08 18:13:42 +03:00
gstclock.h docs: use real <note> tags as they look nice in new gtk-doc 2009-04-14 22:33:25 +03:00
gstcompat.h docs/gst/gstreamer-sections.txt: ultral33t func10ns deserve to appear in the docs actualy 2005-08-30 08:17:48 +00:00
gstconfig.h.in Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere. 2008-07-31 15:20:32 +00:00
gstdebugutils.c build: define stubs when disabling gst-debug subsystem. Fixes #575922 2009-03-23 16:21:58 +02:00
gstdebugutils.h gst/gstdebugutils.h: Add missing Since' markers to gtk-doc blurbs. 2008-06-26 12:24:08 +00:00
gstelement.c element: fix posting of async-start messages 2009-05-12 10:20:53 +02:00
gstelement.h gst/gstelement.h: Fix link in documentation. 2008-07-25 10:24:43 +00:00
gstelementfactory.c Avoid unneeded type checks 2009-05-11 22:35:09 +02:00
gstelementfactory.h And correct even more valid sparse warnings. 2008-02-29 13:59:24 +00:00
gsterror.c gst/gsterror.c: Fix typo (spotted by Fabricio Godoy, #536723). 2008-06-05 08:55:41 +00:00
gsterror.h gst/gsterror.*: Add two new error codes for encrypted content. Fixes #524659. 2008-04-09 17:34:54 +00:00
gstevent.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gstevent.h docs: Improve some docs 2009-03-12 10:48:21 +01:00
gstfilter.c gst/gstfilter.c: Improve documentation of gst_filter_run(). Fixes #518627. 2008-02-25 15:37:36 +00:00
gstfilter.h docs/random/ensonic/media-device-daemon.txt: wild idea, can this be done? 2005-11-21 14:50:22 +00:00
gstformat.c gst/gstformat.c: g_type_class_ref() our GstFormat type to make sure we avoid the thread-unsafe bits of the GObject/GT... 2007-11-01 20:10:48 +00:00
gstformat.h gst/: Move declaration of private _gst_foo_initialize() functions into our private header file where they should have... 2007-11-02 18:35:37 +00:00
gstghostpad.c logging: some additional logging for tracing caps negotiation. 2009-03-10 21:13:40 +02:00
gstghostpad.h gst/gstghostpad.*: Unbreak -good build, private is a reserved c++ keyword. 2008-10-08 10:39:24 +00:00
gstindex.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gstindex.h gst/gstindex.*: Don't free key strings which we don't own. Fixes crash in gst_index_entry_free() (#522741). 2008-03-17 10:21:59 +00:00
gstindexfactory.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gstindexfactory.h whitespace fixes 2005-10-15 15:30:24 +00:00
gstinfo.c info: Support new printf extensions in glibc 2.10 2009-05-11 21:30:14 +01:00
gstinfo.h gstdebug: compete stubs. Fixes #579177. 2009-04-17 15:01:46 +03:00
gstinterface.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gstinterface.h Remove broken class to interface cast macros from GstUriHandler and GstImplementsInterface headers 2009-01-30 18:25:39 +00:00
gstiterator.c docs: fix linking to constant and functions 2009-03-12 00:41:24 +02:00
gstiterator.h gst/gstiterator.*: After 3 years it's about time to revise the documentation of the iterator objects. 2008-08-29 17:58:25 +00:00
gstmacros.h docs/gst/gstreamer-sections.txt: Move GParamSepc macros to standart section. 2008-04-23 06:57:30 +00:00
gstmarshal.list check/Makefile.am: remove GstData checks 2005-05-16 20:21:55 +00:00
gstmessage.c message: clarify some docs 2009-05-11 23:53:52 +02:00
gstmessage.h GstMessage: Add STREAM_STATUS message methods 2009-05-11 23:47:22 +02:00
gstminiobject.c gst/gstminiobject.c: Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this function was not in the uns... 2008-05-03 19:23:43 +00:00
gstminiobject.h API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT 2008-03-22 14:51:17 +00:00
gstobject.c Avoid unneeded type checks 2009-05-11 22:35:09 +02:00
gstobject.h gstobject: add gst_object_ref_sink 2009-05-11 22:35:08 +02:00
gstpad.c Pad: post STREAM_STATUS_TYPE_CREATE 2009-05-12 00:27:10 +02:00
gstpad.h gstpad: fix gst_pad_can_link() 2009-03-18 17:01:16 +01:00
gstpadtemplate.c Use new _ref_sink when we can 2009-05-11 22:35:09 +02:00
gstpadtemplate.h gst/glib-compat-private.h: Add compatibility macro for g_intern_string() for 2007-09-19 13:28:40 +00:00
gstparamspecs.c paramspecs: revert gst_param_spec_is_mutable() for release 2009-04-16 00:48:11 +01:00
gstparamspecs.h paramspecs: revert gst_param_spec_is_mutable() for release 2009-04-16 00:48:11 +01:00
gstparse.c API: gst_parse_launch_full() 2008-05-24 15:33:53 +00:00
gstparse.h API: gst_parse_launch_full() 2008-05-24 15:33:53 +00:00
gstpipeline.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gstpipeline.h gst/gstelement.*: Improve docs a little. Added Since: for new macro. 2007-02-28 16:43:43 +00:00
gstplugin.c API: Add gst_plugin_register_static_full() 2009-05-12 09:02:45 +02:00
gstplugin.h API: Add gst_plugin_register_static_full() 2009-05-12 09:02:45 +02:00
gstpluginfeature.c Avoid unneeded type checks 2009-05-11 22:35:09 +02:00
gstpluginfeature.h gst/: Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is unused and unimplemented; finally, it is plugi... 2008-02-05 21:22:47 +00:00
gstpoll.c gstpoll: Corrected a documentation typo. 2009-03-26 19:33:41 +01:00
gstpoll.h GstPoll: add methods to use gstpoll for timeouts 2009-02-03 17:49:02 +01:00
gstpreset.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gstpreset.h gst/: Remove double interface from doc-string. 2008-08-12 06:27:35 +00:00
gstquark.c quark: add "object" quark 2009-05-11 23:47:06 +02:00
gstquark.h quark: add "object" quark 2009-05-11 23:47:06 +02:00
gstquery.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gstquery.h API: add GST_QUERY_CAST 2009-03-20 00:39:41 +00:00
gstregistry.c Avoid unneeded type checks 2009-05-11 22:35:09 +02:00
gstregistry.h Move registry backend API to private headers where we can. Add fixme-0.11 comments for the others. Add stubs for the ... 2008-03-07 11:12:59 +00:00
gstregistrybinary.c Avoid unneeded type checks 2009-05-11 22:35:09 +02:00
gstregistrybinary.h Add API for making a GStreamer plugin 'dependent' on external files, directories or environment variables, so that GS... 2009-01-06 17:58:59 +00:00
gstsegment.c Use g_slice_copy instead of g_slice_dup. 2009-04-03 13:47:35 +02:00
gstsegment.h Expose gst_segment_copy() to make things easier for the c++ bindings. 2008-04-09 22:37:22 +00:00
gststructure.c gststructure: Only use methods used in g_* checks if glib checks are disabled 2009-04-04 14:35:34 +02:00
gststructure.h Add function to get uint from a structure. 2007-08-12 16:40:59 +00:00
gstsystemclock.c Use new _ref_sink when we can 2009-05-11 22:35:09 +02:00
gstsystemclock.h docs: add simple doc blurb 2009-04-14 19:12:52 +02:00
gsttaglist.c tags: API: Add functions to add single tags to GstTagList or GstTagSetter 2009-05-12 09:02:44 +02:00
gsttaglist.h tags: API: Add functions to add single tags to GstTagList or GstTagSetter 2009-05-12 09:02:44 +02:00
gsttagsetter.c tags: API: Add functions to add single tags to GstTagList or GstTagSetter 2009-05-12 09:02:44 +02:00
gsttagsetter.h tags: API: Add functions to add single tags to GstTagList or GstTagSetter 2009-05-12 09:02:44 +02:00
gsttask.c GstTask: fix compilation 2009-05-12 00:34:44 +02:00
gsttask.h GstTask: add methods for configuring the pool 2009-05-12 00:26:58 +02:00
gsttaskpool.c TaskPool: remove _set_func() 2009-05-12 00:27:38 +02:00
gsttaskpool.h TaskPool: remove _set_func() 2009-05-12 00:27:38 +02:00
gsttrace.c gst/gst.c: Make _gst_disable_segtrap static, it's only used in gstplugin.c and we can use gst_segtrap_is_enabled() t... 2007-11-06 15:10:36 +00:00
gsttrace.h gst/: The attached patch adds two missing defines to gsttrace.h when tracing is disabled. It also corrects one exist... 2006-07-18 09:42:31 +00:00
gsttypefind.c Allow adding a typefinder without a typefind function so that it can be used 2009-01-21 12:45:45 +01:00
gsttypefind.h API: add gst_type_find_suggest_simple(), #533740. 2008-05-19 10:46:44 +00:00
gsttypefindfactory.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gsttypefindfactory.h gst/: Fix memory leak in GstTypeFindFactory. 2005-11-29 23:56:20 +00:00
gsturi.c GstURIHandler: Use get_type_full() vmethod if specified instead of get_type() 2009-05-12 09:02:44 +02:00
gsturi.h Remove broken class to interface cast macros from GstUriHandler and GstImplementsInterface headers 2009-01-30 18:25:39 +00:00
gstutils.c docs: remove errant gtk-doc comment marker triggering a warning 2009-04-16 00:48:12 +01:00
gstutils.h Remove some compatibility stuff for GLib < 2.14 2009-03-26 11:08:27 +01:00
gstvalue.c Remove unused increments as detect by LLVM's CLang static analyzer. 2009-04-03 12:56:57 +02:00
gstvalue.h gst/gstvalue.*: Add more missing "Since:" tags to docs. 2007-12-12 14:04:14 +00:00
gstversion.h.in Replace some mentions of CVS by GIT 2009-02-08 10:28:59 +01:00
gstxml.c gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
gstxml.h gtk-doc fixes; trailing-comma-in-enum fix. 2007-11-02 17:43:25 +00:00
Makefile.am xmlregistry: remove the old xml registry 2009-05-12 00:09:58 +01:00