Wim Taymans [Mon, 20 Jun 2011 11:26:06 +0000 (13:26 +0200)]
bufferpool: add function to set metadata api
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.
Thiago Santos [Sun, 19 Jun 2011 16:15:19 +0000 (13:15 -0300)]
gstbuffer: Minor fix to docs
Adds missing parameter to docs of gst_buffer_copy_region
Edward Hervey [Sat, 18 Jun 2011 15:35:41 +0000 (17:35 +0200)]
gstpad: Remove unused variable do_event_actions
do_event_actions was always used as TRUE
Tim-Philipp Müller [Thu, 16 Jun 2011 09:55:15 +0000 (10:55 +0100)]
Revert "utils: remove some macros now in glib"
This reverts commit
de29ae7b929cedbf6b9838ea53b05efabdce4ce7.
Re-adds GFLOAT_TO_LE, GFLOAT_TO_BE, GDOUBLE_TO_LE, and GDOUBLE_TO_BE.
Turns out these aren't in GLib yet afer all (since we didn't
actually open a bug to get them added..)
Wim Taymans [Wed, 15 Jun 2011 14:56:30 +0000 (16:56 +0200)]
basesrc: fix refcounting problem
Wim Taymans [Tue, 14 Jun 2011 13:18:26 +0000 (15:18 +0200)]
docs: update docs
Wim Taymans [Mon, 13 Jun 2011 17:10:00 +0000 (19:10 +0200)]
Merge branch 'master' into 0.11
Wim Taymans [Mon, 13 Jun 2011 14:31:53 +0000 (16:31 +0200)]
buffer: add index to _take_memory()
Add an index to gst_buffer_take_memory() so that we can also insert memory at a
certain offset. This is mostly interesting to prepend a header memory block to
the buffer.
Wim Taymans [Mon, 13 Jun 2011 14:30:22 +0000 (16:30 +0200)]
pad: don't forward scheduling query
The scheduling query should not be forwarded, because elements need to implement
special code to handle different scheduling methods.
Wim Taymans [Mon, 13 Jun 2011 10:07:03 +0000 (12:07 +0200)]
basesrc: Allocator buffers from negotiated allocator
Allocate buffers from the negotiated allocator or bufferpool.
Handle the state of the bufferpool when flushing.
Add fill method to pushsrc.
Wim Taymans [Mon, 13 Jun 2011 10:04:28 +0000 (12:04 +0200)]
buffer: add more debug
Wim Taymans [Mon, 13 Jun 2011 09:51:08 +0000 (11:51 +0200)]
bufferpool: small indentation fix
Wim Taymans [Mon, 13 Jun 2011 09:50:42 +0000 (11:50 +0200)]
buffer: pass the allocator as const
Wim Taymans [Mon, 13 Jun 2011 08:19:30 +0000 (10:19 +0200)]
basesrc: negotiate allocation
Add vmethod to configure allocation methods.
Remove some unused variables
Wim Taymans [Sat, 11 Jun 2011 18:45:42 +0000 (20:45 +0200)]
query: add some more checks
Make sure that the alignment is valid.
When we have a 0 size (variable buffer size), we can't have a bufferpool.
Wim Taymans [Sat, 11 Jun 2011 17:54:47 +0000 (19:54 +0200)]
query: set all default values
Fill all query values with good defaults.
Wim Taymans [Sat, 11 Jun 2011 16:52:42 +0000 (18:52 +0200)]
bufferpool: remove postfix parameter
Remove the postfix parameter, it's not used and can be done differently.
Wim Taymans [Fri, 10 Jun 2011 15:50:27 +0000 (17:50 +0200)]
bufferpool: use same alignment values as GstMemory
Use the same alignment values for the bufferpool as we use for the GstMemory
API.
Wim Taymans [Fri, 10 Jun 2011 15:32:48 +0000 (17:32 +0200)]
basesrc: use new _check_reconfigure() method
Wim Taymans [Fri, 10 Jun 2011 15:32:20 +0000 (17:32 +0200)]
pad: add _check_reconfigure() method
Add a method to check and clear the RECONFIGURE flag on a pad.
Wim Taymans [Fri, 10 Jun 2011 14:47:29 +0000 (16:47 +0200)]
buffer: add support for buffer in memory
Fix the code to support allocating the buffer and memory in one memory block.
Add an extra variable to store the memory of the buffer.
This code is disabled still because of complications.
Wim Taymans [Fri, 10 Jun 2011 14:46:12 +0000 (16:46 +0200)]
memory: expose default alignment
Export the gst_memory_alignment variable so that others can know the default
configured alignment of the system.
Wim Taymans [Fri, 10 Jun 2011 14:19:46 +0000 (16:19 +0200)]
memory: fix is_span
Subtract the offset of the parent from is_span.
Wim Taymans [Fri, 10 Jun 2011 11:59:31 +0000 (13:59 +0200)]
memory: respect configured alignment
Move the alignment from GstBuffer to GstMemory.
make sure memory is at least aligned to the configured values.
Wim Taymans [Fri, 10 Jun 2011 11:40:57 +0000 (13:40 +0200)]
buffer: make new _buffer_allocate method
Make a new method to allocate a buffer + memory that takes the allocator and the
alignment as parameters. Provide a macro for the old method but prefer to use
the new method to encourage plugins to negotiate the allocator properly.
Tim-Philipp Müller [Fri, 10 Jun 2011 11:44:40 +0000 (12:44 +0100)]
docs: update for gst_base_src_set_dynamic_size
Add to sections file and add Since: marker. Also update
win32 .def file.
API: gst_base_src_set_dynamic_size()
Edward Hervey [Fri, 10 Jun 2011 11:44:19 +0000 (13:44 +0200)]
design: part-bufferlist.txt was merged into another doc
Edward Hervey [Fri, 10 Jun 2011 11:34:59 +0000 (13:34 +0200)]
docs: Update sections files for added/removed symbols
Edward Hervey [Fri, 10 Jun 2011 11:10:42 +0000 (13:10 +0200)]
win32: Update for added/removed symbols
Wim Taymans [Fri, 10 Jun 2011 11:04:23 +0000 (13:04 +0200)]
basesrc: add fill vmethod to basesrc
Add a new fill virtual method to basesrc. The purpose of this method is to fill
a provided buffer with data.
Add a default implementation of the create method that allocates a buffer and
calls the fill method on it. This would allow the base class to implement
bufferpool and allocator negotiation on behalf of the subclasses.
Fix the blocksize property.
Make filesrc use the new fill method.
Wim Taymans [Fri, 10 Jun 2011 10:09:49 +0000 (12:09 +0200)]
Merge branch 'master' into 0.11
Conflicts:
gst/gstelementfactory.c
gst/gstelementfactory.h
gst/gstpad.h
gst/gstpluginfeature.c
gst/gstpluginfeature.h
Wim Taymans [Fri, 10 Jun 2011 09:55:08 +0000 (11:55 +0200)]
event: add reset_time boolean to flush_stop event
Add a boolean to the flush_stop event to make it possible to implement flushes
that don't reset_time.
Make basesink post async_done with the reset_time property from the flush stop
event.
Fix some unit tests
Javier Jardón [Thu, 9 Jun 2011 16:13:35 +0000 (17:13 +0100)]
Use "const" instead G_CONST_RETURN
G_CONST_RETURN will be deprecated soon.
https://bugzilla.gnome.org/show_bug.cgi?id=652211
Wim Taymans [Thu, 9 Jun 2011 11:37:28 +0000 (13:37 +0200)]
pad: use new event methods to replace events
Using the new event methods, we can atomically transfer the event from the
pending list to the active list.
Wim Taymans [Thu, 9 Jun 2011 11:36:52 +0000 (13:36 +0200)]
event: make macros for new miniobject methods
Wim Taymans [Thu, 9 Jun 2011 11:35:08 +0000 (13:35 +0200)]
miniobject: add new methods to manage miniobject pointers
Add a new method to steal the miniobject stored at a location.
Add a new method to store a miniobject in a location and taking ownership
of the miniobject.
Wim Taymans [Thu, 9 Jun 2011 11:34:19 +0000 (13:34 +0200)]
pad: fix header
Wim Taymans [Thu, 9 Jun 2011 10:31:47 +0000 (12:31 +0200)]
pad: fix spurious include
Wim Taymans [Thu, 9 Jun 2011 10:01:02 +0000 (12:01 +0200)]
Merge branch 'master' into 0.11
Conflicts:
libs/gst/base/gstbasesrc.c
Wim Taymans [Thu, 9 Jun 2011 09:39:08 +0000 (11:39 +0200)]
pad: forward events by default
Always forward all events in the default handler. Previously it used to not
forward caps events by default. It makes more sense to forward the caps events,
if the element is interested in the caps, it will implement an event handler to
retrieve the caps and then it can decide to forward or not. If the element has
no event handler, it probably just doesn't care about caps and it probably is
also not going to modify the data in a way that needs a caps change.
Wim Taymans [Thu, 9 Jun 2011 09:13:55 +0000 (11:13 +0200)]
buffer: fix typo in docs
Mark Nauwelaerts [Wed, 8 Jun 2011 16:22:36 +0000 (18:22 +0200)]
filesrc/fdsrc: indicate dynamic size handling to basesrc
Mark Nauwelaerts [Wed, 8 Jun 2011 16:22:03 +0000 (18:22 +0200)]
basesrc: add dynamic size handling
This allows subclass to indicate that size reported by src may not be static
and should as such be updated regularly, rather than only when really
needed.
Particular examples are filesrc or fdsrc reading from a file that is still
growing (e.g. being downloaded).
Fixes #652037.
Mark Nauwelaerts [Wed, 8 Jun 2011 18:14:16 +0000 (20:14 +0200)]
Revert "basesrc: Send an update NEWSEGMENT event downstream if the duration changes"
This reverts commit
934faf163caf10ed3d54d81fd7b793069913dffd.
Original commit leads to possibly sending newsegment event downstream
in pull mode. In push mode, quite some downstream elements
are likely to only expect newsegment event following a seek they performed
and as such may have their state messed up.
Wim Taymans [Wed, 8 Jun 2011 16:35:16 +0000 (18:35 +0200)]
basesink: inline the clip segment
Wim Taymans [Wed, 8 Jun 2011 15:25:43 +0000 (17:25 +0200)]
message: rename variable
Rename the new_base_time variable to reset_time, which looks better.
Wim Taymans [Wed, 8 Jun 2011 14:41:05 +0000 (16:41 +0200)]
segment: separate the seek and segment flags
Separate the seek flags and segment flags as separate enums because we might
want to have different flags for both.
Wim Taymans [Wed, 8 Jun 2011 11:40:32 +0000 (13:40 +0200)]
message: move the new_base_time flag to async_done
Move the flag to indicate that a new_base_time should be distributed to the
pipeline, from the async_start to the async_done message. This would allow us to
decide when to reset the pipeline time based on other reasons than the
FLUSH_START event.
The main goal eventually is to make the FLUSH events not reset time at all but
reset the time based on the first buffer or segment that prerolls the pipeline
again.
Edward Hervey [Wed, 8 Jun 2011 11:39:19 +0000 (13:39 +0200)]
docs: Update gstreamer-sections for new/removed API
Edward Hervey [Wed, 8 Jun 2011 11:30:49 +0000 (13:30 +0200)]
gstbuffer: Remove deprecated GST_BUFFER_* macros
data, size, mallocdata and free_func no longer exist.
Edward Hervey [Wed, 8 Jun 2011 11:06:17 +0000 (13:06 +0200)]
win32: Update for added/removed symbols
Wim Taymans [Wed, 8 Jun 2011 10:58:29 +0000 (12:58 +0200)]
pad: remove setcaps function
Remove the setcaps function, elements should use the caps event to be informed
of the format.
Wim Taymans [Wed, 8 Jun 2011 10:04:49 +0000 (12:04 +0200)]
memory: Require implementation to implement _share
Require the memory implementations to implement a share operation. This allows
us to remove the fallback share implementation which uses a different allocator
implementation and complicates things too much.
Update design doc a bit.
Wim Taymans [Wed, 8 Jun 2011 09:03:50 +0000 (11:03 +0200)]
memory: cleanups and improve docs
Make the fallback copy use the same memory allocator as the original object.
Improve some docs.
Require an alloc function when registering an allocator.
Remove gst_memory_allocator_get_default() and merge the feature in
gst_memory_allocator_find()
Fix locks on the hashtable.
Remove defined but not-implemented gst_memory_span() method.
Wim Taymans [Tue, 7 Jun 2011 16:18:27 +0000 (18:18 +0200)]
docs: add beginnings of memory design doc
Wim Taymans [Tue, 7 Jun 2011 15:54:33 +0000 (17:54 +0200)]
memory: pass user_data to the alloc function
Pass the user data that was passed to _register to the alloc function of an
allocator.
Wim Taymans [Tue, 7 Jun 2011 15:34:17 +0000 (17:34 +0200)]
memory: fix some typos
Wim Taymans [Tue, 7 Jun 2011 15:03:09 +0000 (17:03 +0200)]
filesrc: remove MMAP code
Remove the mmap code, it was disabled and probably needs a complete rewrite
anyway if this is to be ported to 0.11.
Wim Taymans [Tue, 7 Jun 2011 14:35:07 +0000 (16:35 +0200)]
query: add methods to query allocators
Add API to add and query allocator implementations to/from the ALLOCATION query.
Wim Taymans [Tue, 7 Jun 2011 14:14:50 +0000 (16:14 +0200)]
memory: use allocators to allocate memory
Rename the GstMemoryImpl to GstMemoryAllocator because that's really what it is.
Add an alloc vmethod to the allocator members.
Improve registration of allocators.
Add methods to get and set the default allocator
Always use an allocator to allocate memory, use the default allocator when NULL
is passed.
Add user_data to the allocator Info so that we can pass extra info to the
allocator new method.
Tim-Philipp Müller [Tue, 7 Jun 2011 12:03:29 +0000 (13:03 +0100)]
docs: minor fix and clarification
Wim Taymans [Tue, 7 Jun 2011 11:38:35 +0000 (13:38 +0200)]
event: move some more defines on top
Wim Taymans [Tue, 7 Jun 2011 11:25:26 +0000 (13:25 +0200)]
fix some circular includes
typedef some structs before including other files to avoid circular dependencies
in the header files.
Edward Hervey [Tue, 7 Jun 2011 09:01:36 +0000 (11:01 +0200)]
win32: Update for added/removed symbols
Edward Hervey [Mon, 6 Jun 2011 10:23:04 +0000 (12:23 +0200)]
check/tee: Pads need to be activated before caps are set
Also add debugging to figure out what's going on
Wim Taymans [Tue, 7 Jun 2011 08:52:02 +0000 (10:52 +0200)]
utils: remove proxy_setcaps
Remove proxy_setcaps, elements should use the caps event and forward caps
themselves.
Wim Taymans [Tue, 7 Jun 2011 08:51:23 +0000 (10:51 +0200)]
outputselector: fix refcounting of events
_pad_event_forward() takes ownership of the caps.
Wim Taymans [Tue, 7 Jun 2011 08:49:34 +0000 (10:49 +0200)]
pad: Improve pad event forward code
Return TRUE when the pad has no parent or when there are no internally linked
pads.
Wim Taymans [Tue, 7 Jun 2011 08:04:52 +0000 (10:04 +0200)]
plugins: use the caps event
Use the caps event and avoid using the setcaps function. Use some of the new pad
forward functions to implement desired behaviour.
Wim Taymans [Tue, 7 Jun 2011 08:02:06 +0000 (10:02 +0200)]
pad: Rename and rework the dispatcher function
Rename gst_pad_dispatcher() to gst_pad_forward() and make it more useful by
iterating the internal links of a pad and handling resync properly.
Add a method gst_pad_event_forward() that unconditionally forwards an event to
all internally linked pads.
Update some pad code to use the new forward function.
Wim Taymans [Tue, 7 Jun 2011 07:43:20 +0000 (09:43 +0200)]
caps: use the caps event
Use the caps event instead of gst_pad_set_caps() and the setcaps function
Wim Taymans [Mon, 6 Jun 2011 14:11:31 +0000 (16:11 +0200)]
docs: go over design docs and fix things
Remove bufferlist part, it's merged with part-buffer.txt
Edward Hervey [Mon, 6 Jun 2011 09:21:23 +0000 (11:21 +0200)]
gst: Add enum/flags (de)registration in gst_(de)init
Edward Hervey [Mon, 6 Jun 2011 09:20:29 +0000 (11:20 +0200)]
basesink: Don't accept segments after EOS
And refactor the code slightly to avoid code duplication.
This solves a regression introduced by
bdbc0693
Edward Hervey [Mon, 6 Jun 2011 08:27:57 +0000 (10:27 +0200)]
check/ghostpad: Activate pads before checking for caps forwarding/setting
This is now done via in-band events, so the pads need to be active
Tim-Philipp Müller [Sun, 5 Jun 2011 17:11:22 +0000 (18:11 +0100)]
docs: update for API changes
Also remove GST_PAD_CHECKGETRANGEFUNC macro
Tim-Philipp Müller [Sun, 5 Jun 2011 14:46:54 +0000 (15:46 +0100)]
Merge branch 'master' into 0.11
Tim-Philipp Müller [Sat, 4 Jun 2011 14:42:13 +0000 (15:42 +0100)]
parse: add prototypes for unused functions to avoid compiler warning
The warning is never fatal, because we don't use -Werror for the
parser helper library build, but the warnings are annoying anyway.
Tim-Philipp Müller [Sun, 5 Jun 2011 13:10:50 +0000 (14:10 +0100)]
tools: remove unversioned gst-launch, gst-inspect and gst-typefind
The unversioned tool wrappers are confusing and annoying for packagers,
users and developers alike. A gst-launch pipeline that works in 0.10
will likely not work in 0.11 (e.g. because elements or properties get
renamed, or syntax changes). The unversioned tools also yield useless
results when used with gdb or valgrind. Packagers need to co-ordinate
the packaging of all major versions to make sure there are no conflicts
when both try to install the same files. When two major versions are
in use (e.g. 0.10 and 0.11/1.0), it may be unclear (when looking at
things on IRC/pastebin/mailing list etc.) which version is actually
being used when there are unversioned wrappers. For all these reasons,
it seems best to just remove them for now.
Tim-Philipp Müller [Sat, 4 Jun 2011 15:04:35 +0000 (16:04 +0100)]
win32: update exports and other things
Tim-Philipp Müller [Sat, 4 Jun 2011 14:44:39 +0000 (15:44 +0100)]
po: update for new translatable string and removed strings
Tim-Philipp Müller [Sat, 4 Jun 2011 14:23:56 +0000 (15:23 +0100)]
info: remove GST_XML debug category as well
Tim-Philipp Müller [Sat, 4 Jun 2011 14:22:06 +0000 (15:22 +0100)]
Remove everything libxml2- and loadsave-related
Tim-Philipp Müller [Sat, 4 Jun 2011 13:41:16 +0000 (14:41 +0100)]
tools: remove SIGUSR* handling from gst-launch
Remove SIGUSR* handling from gst-launch, since it might interfere
with other things (e.g. libleaks), and should be done differently
anyway (either via support for simple timed-commands scripting or
remote control via DBus or so).
Tim-Philipp Müller [Sat, 4 Jun 2011 13:28:08 +0000 (14:28 +0100)]
tools: remove gst-xmlinspect
People should just query the registry themselves or write a small
python script if they need this functionality (which is likely
less work than parsing the XML that this script outputs, and I'm
not aware of anything using the xml2text xsl either).
Tim-Philipp Müller [Sat, 4 Jun 2011 13:22:05 +0000 (14:22 +0100)]
tools: remove gst-feedback
It's not really that useful, and no one's been using it for years.
Tim-Philipp Müller [Sat, 4 Jun 2011 13:13:07 +0000 (14:13 +0100)]
tools, tests: fix some unused-but-set-variable compiler warnings
Tim-Philipp Müller [Sat, 4 Jun 2011 13:02:23 +0000 (14:02 +0100)]
po: update for new translatable string
David Schleef [Sat, 4 Jun 2011 07:30:15 +0000 (00:30 -0700)]
Work around changes in g_atomic API
See #651514 for details. It's apparently impossible to write code
that avoids both type punning warnings with old g_atomic headers and
assertions in the new. Thus, macros and a version check.
Edward Hervey [Fri, 3 Jun 2011 16:10:24 +0000 (18:10 +0200)]
gstpad: Small doc fixup
Edward Hervey [Fri, 3 Jun 2011 13:53:21 +0000 (15:53 +0200)]
win32: Update .def for latest APi changes
Wim Taymans [Fri, 3 Jun 2011 15:24:45 +0000 (17:24 +0200)]
pad: clean up probe flags
Wim Taymans [Fri, 3 Jun 2011 15:24:21 +0000 (17:24 +0200)]
docs: first version of probes document
Wim Taymans [Fri, 3 Jun 2011 14:46:26 +0000 (16:46 +0200)]
pad: check flushing in pullrange too
Wim Taymans [Fri, 3 Jun 2011 11:56:04 +0000 (13:56 +0200)]
pad: cleanups
Use defines instead of hardcoded values for masks.
Wim Taymans [Fri, 3 Jun 2011 11:25:54 +0000 (13:25 +0200)]
structure: fix some more 0.11 fixmes
don't allow spaces in structure names and fix unit tests.
Wim Taymans [Fri, 3 Jun 2011 10:43:32 +0000 (12:43 +0200)]
docs: update bufferpool design doc
Move the bufferpool design doc from draft to part and merge it with
the allocation draft.
Wim Taymans [Fri, 3 Jun 2011 10:40:56 +0000 (12:40 +0200)]
bufferpool: make the default behaviour to wait
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.
Wim Taymans [Fri, 3 Jun 2011 09:15:30 +0000 (11:15 +0200)]
docs: update porting doc
Wim Taymans [Thu, 2 Jun 2011 17:24:26 +0000 (19:24 +0200)]
baseparse: use caps event instead of setcaps