Age | Commit message (Collapse) | Author | Files | Lines |
|
Reset the buffer not after we acquire but before we release into the pool. This
makes sure that the pool only has buffers in a clean state and that we can set
extra metadata on buffers in the acquire method. this means that we need to
remove an argument from the method.
|
|
Add a new LOCKED flag to the metadata. Refuse removing LOCKED metadata from
a buffer.
Mark the metadata from the bufferpool LOCKED.
Add unit test for LOCKED flag
|
|
|
|
Remove the const from the GstCaps in get/set_param. set_param modifies
the refcount of the caps.
Don't increment the refcount of the caps result of get_param like we
do with other objects.
Update some annotiations.
|
|
Make separate methods to control the bufferpool and the allocator used by the
bufferpool.
Make it possible to change the allocator of a pool.
|
|
Because those flags are not from the bufferpool but for the acquire function.
|
|
Negotiating padding is needed on second thought so include it in the
ALLOCATION query.
Make the bufferpool take padding into account when allocating.
Make basesrc take padding into account.
Use padding and prefix when allocating in basetransform.
|
|
|
|
|
|
|
|
|
|
Use the reset_buffer vmethod to remove the unpooled metadata from the buffer.
|
|
|
|
Ensure correct indentation and :retab.
Make sure all structures have padding
Fix up some old ABI additions.
|
|
|
|
|
|
Add a method to check if an option is supported on the bufferpool.
|
|
Make it possible to query the supported options of a bufferpool and enable
options. This is a bit more generic than the API to enable metadata. The purpose
is to make it possible to add new custom config options to the configuration of
the bufferpool when supported.
|
|
Add a vmethod to reset a buffer to its original state. Add a default
implementation that resets the flags, timestamps and offsets.
Add some more docs.
|
|
|
|
Add a function to retrieve an array of supported metadata apis from the the
bufferpool.
Add functions to configure and query the configured metadata apis in a
bufferpool configuration.
|
|
|
|
Remove the postfix parameter, it's not used and can be done differently.
|
|
Also remove GST_PAD_CHECKGETRANGEFUNC macro
|
|
The most common case is to not specify any flags when doing the allocation. Make
the allocation from a pool with a maximum amount of buffers block by default for
this reason.
|
|
Add the caps to the configuration parameters of the pool.
Initialize the private data
|
|
Keep a pointer to the bufferpool. Release the buffer to the pool when
finalizing. Make sure the pool sets itself as the pool member of buffers that it
sends out.
|
|
Add start/stop methods to allow for bulk allocation of buffers.
Free buffers only when all outstanding buffers returned.
Make things more threadsafe wrt flushing and starting/stopping by
keeping track of start and stop method calls.
|
|
Use a lock to protect concurrect execution of set_config and set_active.
Start freeing the buffers when flushing and all buffers are returned to the
pool.
Make a copy of the config to avoid crashing with concurrent access.
|
|
Keep track if the buffer is configured and block activation when not configured
yet.
Keep track of outstanding buffers and disallow configuration when not all
buffers are returned to the pool. We need to do this or else we might end up
with wrong buffers in the pool.
Add return value to set_active.
Small cleanups. Fix finalize.
|
|
Rename the flushing variable and methods to active to better match
the other gstreamer name conventions
|
|
Use a GstStructure to provide the pool with the right configuration. Also
provide some helper methods to configure such a structure.
don't pass the config in alloc_buffer, pool implementation will already have
parsed it during set_config.
Update defs
|
|
|
|
Original commit message from CVS:
- Removed bufferpool code and move that to gstbuffer.c
- implemented refcounting on GstData
- implemented new buffer code based on Company's work in the EVENTS2 branch
- added boxed types for GstData/GstEvent/GstBuffer/GstBufferPool
- added refcounting to bufferpools and events
- use lockfree allocation for buffers
- simplified the clock, use lockfree allocation
- use GQueue in GstQueue for faster access to the tail element
- update core plugins to the new event API
|
|
Original commit message from CVS:
API docs.
revived _buffer_ref_by_count
fast types for scheduler and bin.
error checking on plugin features;
removed some prototypes that were not implemented (gst_pipeline_iterate
comes to mind)
remove gst_pad_event until we know what it's supposed to do.
remove sinesrc, it wasn't compiles anymore, so...
updates to various elements that used the old event API.
|
|
interface.
Original commit message from CVS:
The bufferpool api has changed. Check gstbufferpool.h to see the updated
interface.
Also, the default bufferpool implementation has been finished somewhat. Take a
look at speed.c to see an example of its use, when I get the plugins committed.
|
|
Original commit message from CVS:
hopefully the last commit on libgst wrt bufferpools
|
|
Original commit message from CVS:
more changes...
|
|
Original commit message from CVS:
bufferpool changes (next commit will update plugins)
|
|
Original commit message from CVS:
Added a missing UNLOCK macro.
|
|
buffer pool mem_chunk if it is the default imp...
Original commit message from CVS:
added ref counting to the buffer pool. also _destroy will clean up the buffer pool mem_chunk if it is the default implementation
|
|
Original commit message from CVS:
added _gst_buffer_pool_initialize
|
|
bufferpool if requests are made for exis...
Original commit message from CVS:
added a default bufferpool factory function. it reuses existing instances of bufferpool if requests are made for existing buffer sizes
|
|
Original commit message from CVS:
Updated copyright in all the libgst files.
Created gst_private.h, set up all files to use it.
|
|
speed up compilation a bit.
Original commit message from CVS:
Header cleanup: try to include as little as possible; this will probably
speed up compilation a bit.
changed the .c files to use #include "..."
Fix for the 'plugins are loaded twice' bug.
Fix 22186: GstObject flags are now used everywhere. Added *_FLAG_LAST so
elements do not use the same flags. Added some padding in the flag enum
for future expansion.
|
|
Original commit message from CVS:
Added the excellent mpeg2dec decoder. Not 100% optimized but allready
very fast.
More cleanup.
|
|
Original commit message from CVS:
Added the bufferpool handler.
This object is able to generate buffers and is passed between elements to
exchange buffers. Elements can also use this pool to efficiently generate
output buffers.
|