Wim Taymans [Fri, 4 Mar 2011 15:05:44 +0000 (16:05 +0100)]
docs: update bufferpool draft
Wim Taymans [Fri, 4 Mar 2011 11:06:11 +0000 (12:06 +0100)]
bufferpool: add more debug info
Wim Taymans [Thu, 3 Mar 2011 17:38:32 +0000 (18:38 +0100)]
bufferpool: add debug
Wim Taymans [Thu, 3 Mar 2011 17:21:31 +0000 (18:21 +0100)]
bufferpool: add some more debug info
Wim Taymans [Thu, 3 Mar 2011 15:31:49 +0000 (16:31 +0100)]
bufferpool: add caps to the config
Add the caps to the configuration parameters of the pool.
Initialize the private data
Wim Taymans [Wed, 2 Mar 2011 10:57:40 +0000 (11:57 +0100)]
defs: update defs
Wim Taymans [Wed, 2 Mar 2011 10:57:06 +0000 (11:57 +0100)]
buffer: release buffer to pool in dispose
Use the dispose method to release the buffer to the pool when it is configured.
Wim Taymans [Tue, 22 Feb 2011 11:35:45 +0000 (12:35 +0100)]
buffer: add pool to buffer structure
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.
Wim Taymans [Tue, 22 Feb 2011 11:35:06 +0000 (12:35 +0100)]
gst: add pool flags type
Wim Taymans [Tue, 22 Feb 2011 10:05:09 +0000 (11:05 +0100)]
docs: update bufferpool docs
Wim Taymans [Mon, 21 Feb 2011 17:43:19 +0000 (18:43 +0100)]
bufferpool: Refactor stopping of the pool
Move some methods around.
Make sure we check for config parsing errors.
Increment the outstanding buffers before calling acquire so that we can be sure
that set_active() doesn't free the pool from under us.
Wim Taymans [Mon, 21 Feb 2011 16:33:38 +0000 (17:33 +0100)]
bufferpool: Rework buffer management a little
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.
Wim Taymans [Mon, 21 Feb 2011 11:18:41 +0000 (12:18 +0100)]
bufferpool: memory management cleanups
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.
Stefan Kost [Fri, 18 Feb 2011 15:35:46 +0000 (16:35 +0100)]
bufferpool: also allow NULL params in _acquire
Wim Taymans [Fri, 18 Feb 2011 15:15:30 +0000 (16:15 +0100)]
bufferpool: more updates
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.
Wim Taymans [Fri, 18 Feb 2011 11:50:21 +0000 (12:50 +0100)]
bufferpool: rename 'flushing' to 'active'
Rename the flushing variable and methods to active to better match
the other gstreamer name conventions
Wim Taymans [Thu, 17 Feb 2011 17:37:19 +0000 (18:37 +0100)]
bufferpool: prealloc when unset flushing
According to the design doc we need to prealloc buffers when we unset the
flushing state, not in set_config.
Set the flushing state better.
Wim Taymans [Thu, 17 Feb 2011 16:29:27 +0000 (17:29 +0100)]
bufferpool: use quarks for structure fields
Wim Taymans [Thu, 17 Feb 2011 15:46:51 +0000 (16:46 +0100)]
bufferpool: use GstStructure to configure the pool
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
Wim Taymans [Thu, 17 Feb 2011 11:55:37 +0000 (12:55 +0100)]
fix defs
Wim Taymans [Tue, 2 Nov 2010 17:56:29 +0000 (18:56 +0100)]
bufferpool: add simple bufferpool helper object
Wim Taymans [Wed, 2 Mar 2011 10:08:34 +0000 (11:08 +0100)]
Merge branch 'master' into 0.11
Conflicts:
gst/gstregistry.h
Arun Raghavan [Wed, 2 Mar 2011 08:25:36 +0000 (13:55 +0530)]
faq: Minor update to ssh key generation commands
fd.o requires RSA keys, and in general, users would probably want to
make a per-server key file rather than overwrite id_rsa, id_rsa.pub.
Mark Nauwelaerts [Mon, 28 Feb 2011 17:43:41 +0000 (18:43 +0100)]
configure.ac: export plugin description more platform independent
Fixes #642504.
Mark Nauwelaerts [Mon, 28 Feb 2011 17:32:07 +0000 (18:32 +0100)]
Automatic update of common submodule
From 1de7f6a to 6aec6b9
Tim-Philipp Müller [Mon, 28 Feb 2011 15:01:54 +0000 (15:01 +0000)]
docs: typo fixes
convinience -> convenience
Tim-Philipp Müller [Mon, 28 Feb 2011 14:56:23 +0000 (14:56 +0000)]
tools: print "pad-added", "pad-removed" and "no-more-pads" signals for elements with sometimes pads
It's often not obvious to people that elements like e.g. uridecodebin
(or demuxers) automatically support the standard signals of the
GstElement class, so let's print the useful pad-related ones for
elements with sometimes pads.
Stefan Kost [Mon, 28 Feb 2011 14:27:01 +0000 (16:27 +0200)]
docs: small updates as suggested on a blog
Link from convinience api to the underlying api.
Wim Taymans [Mon, 28 Feb 2011 09:05:47 +0000 (10:05 +0100)]
meta: add timing metadata
Wim Taymans [Mon, 28 Feb 2011 09:05:38 +0000 (10:05 +0100)]
miniobject: fix whitespace
Wim Taymans [Mon, 28 Feb 2011 08:39:44 +0000 (09:39 +0100)]
tests: add memory unit test
Wim Taymans [Sun, 27 Feb 2011 19:54:58 +0000 (20:54 +0100)]
meta: simplify a bit
Wim Taymans [Sun, 27 Feb 2011 19:42:15 +0000 (20:42 +0100)]
meta: add default memory metadata
Add a metadata implementation for normall malloced memory.
Wim Taymans [Sun, 27 Feb 2011 18:40:45 +0000 (19:40 +0100)]
meta: separate add and get methods
Make separate api for getting and adding metadata. This allows us to pass extra
parameters to the init functions when creating metadata, which is needed for
specific API implementations.
Add beginnings of memory metadata.
Wim Taymans [Sun, 27 Feb 2011 11:21:32 +0000 (12:21 +0100)]
docs: update docs and defs
Wim Taymans [Sat, 26 Feb 2011 17:14:36 +0000 (18:14 +0100)]
buffer: remove useless method
Remove the method to retrieve metadata by api. One will always use the
GstMetaInfo to get metadata.
Wim Taymans [Fri, 25 Feb 2011 15:31:11 +0000 (16:31 +0100)]
buffer: remove owner_priv now that we have metadata
Now that we have metadata we can remove the owner_priv field.
Wim Taymans [Fri, 25 Feb 2011 12:23:19 +0000 (13:23 +0100)]
defs: fix defs
Wim Taymans [Fri, 25 Feb 2011 12:15:25 +0000 (13:15 +0100)]
metadata: Rename to GstMeta
Rename to the shorter GstMeta
Add docs
Add api to get metadata by API
Wim Taymans [Fri, 25 Feb 2011 09:37:07 +0000 (10:37 +0100)]
defs: fix defs
Philippe Normand [Mon, 15 Nov 2010 10:49:24 +0000 (11:49 +0100)]
buffer: fix memory corruption
Wim Taymans [Wed, 7 Apr 2010 09:34:23 +0000 (11:34 +0200)]
buffermeta: fix compilation
Wim Taymans [Fri, 26 Feb 2010 12:11:43 +0000 (13:11 +0100)]
updates
Wim Taymans [Sun, 27 Dec 2009 21:03:32 +0000 (22:03 +0100)]
meta: improve test a little
Wim Taymans [Thu, 17 Dec 2009 11:34:42 +0000 (12:34 +0100)]
buffermeta: add beginnings of buffer metadata
Add first implementation of arbitrary buffer metadata. We use a simple linked
linked of slice allocated metadata chunks. Future implementations could use
something more performant.
Add get, remove, iterate methods to handle the metadata.
Wim Taymans [Fri, 25 Feb 2011 09:19:25 +0000 (10:19 +0100)]
design: add api tag
We want to find metadata based on the API it implements and based on the
specific implementation.
Tim-Philipp Müller [Thu, 24 Feb 2011 17:11:49 +0000 (17:11 +0000)]
uri: make win32 buildbot happy
gsturi.c:854:16: error: unused variable 'abs_clean'
gsturi.c:788:1: error: 'gst_file_utils_canonicalise_path' defined but not used
Tim-Philipp Müller [Thu, 24 Feb 2011 15:32:00 +0000 (15:32 +0000)]
filesrc, filesink: fix URI creation regression for non-absolute locations
Passing e.g. location=foo would lead to warnings because g_filename_to_uri()
wants an absolute file path and returns NULL otherwise. Use brand-new
gst_filename_to_uri() instead, which will try harder to create a proper
URI for us.
Also add unit test.
Tim-Philipp Müller [Thu, 24 Feb 2011 15:18:43 +0000 (15:18 +0000)]
uri: add gst_filename_to_uri() that takes relative filenames
Add function that (unlike the GLib equivalent) also accepts paths that
aren't absolute and will clean up relative markers such as ./ and ../
before forming a URI.
Fixes warnings with e.g. filesrc location=foo ! typefind caused by the
recent switch to g_filename_to_uri(), but also actually creates valid
URIs for the first time.
Windows code paths could need some more work, e.g. we don't clean up
the relative markers there for now (because path could have \ and /
as separators).
API: gst_filename_to_uri()
Stefan Kost [Thu, 24 Feb 2011 14:20:01 +0000 (16:20 +0200)]
tests: refix the tests (missing #endif)
Stefan Kost [Thu, 24 Feb 2011 14:11:17 +0000 (16:11 +0200)]
Makefile.am: add new abi headers to nodist_HEADERS
Stefan Kost [Mon, 21 Feb 2011 09:24:45 +0000 (11:24 +0200)]
gst-launch: add index support
When option "-i" is given, set an index object on the pipeline and compute
statistics for all index writers. Print a sumary when shutting down the
pipeline.
Stefan Kost [Thu, 24 Feb 2011 13:12:14 +0000 (15:12 +0200)]
tests: add abi check data for ARM (libs)
Stefan Kost [Thu, 24 Feb 2011 13:02:37 +0000 (15:02 +0200)]
tests: add abi check data for ARM
Wim Taymans [Thu, 24 Feb 2011 12:55:35 +0000 (13:55 +0100)]
buffer: add owner private as intermediate solution
Add an owner private field where the owner of a buffer can store some extra
information. We can use this to implement most of the subclassing that happens
now. Later this will be removed and replaced by arbitrary buffer metadata.
Wim Taymans [Thu, 24 Feb 2011 09:28:20 +0000 (10:28 +0100)]
caps: remove poisoning
Wim Taymans [Wed, 23 Feb 2011 15:48:00 +0000 (16:48 +0100)]
miniobject: cleanups
Use the stored size in the miniobject to free the miniobject.
Refactor some init methods.
Wim Taymans [Wed, 23 Feb 2011 14:43:49 +0000 (15:43 +0100)]
docs: update porting guide
Wim Taymans [Wed, 23 Feb 2011 11:54:21 +0000 (12:54 +0100)]
docs: update porting guide
Wim Taymans [Wed, 23 Feb 2011 11:44:54 +0000 (12:44 +0100)]
caps: warn when make_writable result is ignored
Wim Taymans [Wed, 23 Feb 2011 11:08:03 +0000 (12:08 +0100)]
defs: fix defs
Wim Taymans [Wed, 23 Feb 2011 11:01:55 +0000 (12:01 +0100)]
gst: fix type registration
We need to have the types of the miniobjects before registering the
tranforms.
Wim Taymans [Wed, 23 Feb 2011 11:01:16 +0000 (12:01 +0100)]
elementfactory: improve caps string management
Wim Taymans [Wed, 23 Feb 2011 11:00:42 +0000 (12:00 +0100)]
miniobject: clear flags in init
Stefan Kost [Wed, 23 Feb 2011 10:33:58 +0000 (12:33 +0200)]
docs: tell that ORC_CODE can contain a list of flags
Wim Taymans [Wed, 23 Feb 2011 09:31:44 +0000 (10:31 +0100)]
miniobject: fix flags
Wim Taymans [Tue, 22 Feb 2011 18:30:59 +0000 (19:30 +0100)]
fix compilation after rebase
Wim Taymans [Tue, 2 Nov 2010 12:31:25 +0000 (13:31 +0100)]
improve type registration
Wim Taymans [Tue, 2 Nov 2010 11:58:14 +0000 (12:58 +0100)]
fix compilation
Wim Taymans [Mon, 7 Dec 2009 19:32:12 +0000 (20:32 +0100)]
fix macros
Wim Taymans [Sat, 5 Dec 2009 14:18:09 +0000 (15:18 +0100)]
pad: set boxed type correctly
Wim Taymans [Sat, 5 Dec 2009 13:16:57 +0000 (14:16 +0100)]
miniobject: small fixes
Make dataflow happen.
Wim Taymans [Fri, 4 Dec 2009 22:52:32 +0000 (23:52 +0100)]
miniobject: more boxed type fixing
More miniobject fixing, leaks horribly somewhere..
Wim Taymans [Fri, 4 Dec 2009 21:32:38 +0000 (22:32 +0100)]
miniobject: make queries a boxed type
More minionject stuff.
Wim Taymans [Thu, 3 Dec 2009 19:49:30 +0000 (20:49 +0100)]
messages: make message a simple boxed type
Wim Taymans [Wed, 2 Dec 2009 20:21:48 +0000 (21:21 +0100)]
miniobject: work on making caps a boxed type
More work on making miniobject a simple allocated struct.
Wim Taymans [Sat, 28 Nov 2009 23:21:24 +0000 (00:21 +0100)]
miniobject: make miniobject a boxed type
First attempt at making miniobject a simple boxed type.
Wim Taymans [Tue, 22 Feb 2011 18:09:48 +0000 (19:09 +0100)]
libs: cleanups for 0.11
Remove deprecated stuff, fix padding, rearrange methods.
Wim Taymans [Tue, 22 Feb 2011 15:04:12 +0000 (16:04 +0100)]
cleanups
Fix padding, remove deprecated symbols.
Wim Taymans [Tue, 22 Feb 2011 14:08:51 +0000 (15:08 +0100)]
Merge branch 'master' into 0.11
Wim Taymans [Tue, 22 Feb 2011 13:11:59 +0000 (14:11 +0100)]
Merge branch 'master' into 0.11
Conflicts:
configure.ac
gst/gstelement.c
gst/gstelement.h
gst/gstpad.c
gst/gstutils.c
libs/gst/base/Makefile.am
libs/gst/check/Makefile.am
libs/gst/controller/Makefile.am
libs/gst/dataprotocol/Makefile.am
libs/gst/net/Makefile.am
win32/common/libgstreamer.def
Thiago Santos [Mon, 14 Feb 2011 21:05:09 +0000 (18:05 -0300)]
basetransform: Be smarter with pad allocs
Avoid doing unnecessary pad-allocs when on passthrough mode.
If multiple basetransform elements are on a pipeline, they
would do a pad-alloc for each received buffer, each element
would do this, so we would have lots of pad allocs on the
pipeline for a single buffer being pushed through it.
This patch attempts to reduce this amount by avoiding
doing pad-allocs if the element has already done it
after the last pushed buffer. So it will only be allowed
to do a new pad-alloc after it has pushed a buffer, so we get
1x1 pad-alloc and buffer ratio
https://bugzilla.gnome.org/show_bug.cgi?id=642373
Philip Jägenstedt [Mon, 21 Feb 2011 12:39:38 +0000 (13:39 +0100)]
docs: fix typo in gst_index_new() docs
https://bugzilla.gnome.org/show_bug.cgi?id=642869
Tim-Philipp Müller [Mon, 21 Feb 2011 12:44:05 +0000 (12:44 +0000)]
fakesink: print new MEDIA4 flag as well
Robert Swain [Mon, 3 Jan 2011 10:37:05 +0000 (11:37 +0100)]
miniobject, buffer: steal miniobject flag for use as MEDIA4 buffer flag
This was required to add a new MEDIA4 buffer flag for indicating
progressive/mixed telecine video buffers. There is no space for
additional flags in GstBuffer, so steal one from GstMiniObject.
https://bugzilla.gnome.org/show_bug.cgi?id=642671
Tim-Philipp Müller [Sun, 20 Feb 2011 16:11:27 +0000 (16:11 +0000)]
docs: add some more Since: markers to atomic queue docs
Edward Hervey [Mon, 21 Feb 2011 10:55:50 +0000 (11:55 +0100)]
Revert "element: Call ->release_pad() to clean up pad"
This commit changes the request pad behaviour for plugins and applications.
Reopens Bug #402562
The proper fix for that bug is to keep track of created request pads.
This reverts commit
a5e44ffffaa6d7a8d7af8dcb77e37990996253a5.
Stefan Kost [Mon, 21 Feb 2011 08:03:16 +0000 (10:03 +0200)]
index: add FIXME-0.11: comments
Stefan Kost [Tue, 15 Feb 2011 08:57:08 +0000 (10:57 +0200)]
docs: improve index docs
Stefan Kost [Fri, 18 Feb 2011 15:09:14 +0000 (17:09 +0200)]
docs: spell-check
David Schleef [Wed, 16 Feb 2011 03:15:16 +0000 (19:15 -0800)]
fakesink: print buffer flags
David Schleef [Sun, 5 Dec 2010 02:53:55 +0000 (18:53 -0800)]
element: Call ->release_pad() to clean up pad
Fixes #636011 and #402562.
Stefan Kost [Thu, 17 Feb 2011 12:50:40 +0000 (14:50 +0200)]
index: fix creation of writer id for unparented pads
Also do some cleanup in the impl.
Tim-Philipp Müller [Thu, 17 Feb 2011 10:34:37 +0000 (10:34 +0000)]
value: add (de)serialisation function for uchar
.. since we sadly have a plugin in -good that has a uchar property
(cmmlenc)
https://bugzilla.gnome.org/show_bug.cgi?id=642522
Wim Taymans [Wed, 16 Feb 2011 18:54:57 +0000 (19:54 +0100)]
atomicqueue: fix include order
atomicqueue: fix include order# Please enter the commit message for your changes. Lines starting
Wim Taymans [Thu, 28 Oct 2010 12:27:43 +0000 (13:27 +0100)]
bus: make the bus almost lockfree
Use new GstPoll functionality to wakeup the mainloop.
Use an atomic queue on the writer side to post the messages.
The reader side it protected with the lock still because we don't want multiple
concurrent readers.
Wim Taymans [Wed, 16 Feb 2011 16:21:52 +0000 (17:21 +0100)]
defs: fix defs file for new symbols
Wim Taymans [Wed, 16 Feb 2011 16:14:11 +0000 (17:14 +0100)]
atomicqueue: use correct array sizes
Wim Taymans [Wed, 16 Feb 2011 15:21:58 +0000 (16:21 +0100)]
atomicqueue: fix docs some more
Wim Taymans [Wed, 16 Feb 2011 15:19:46 +0000 (16:19 +0100)]
atomicqueue: add refcounting and docs