Commit graph

11342 commits

Author SHA1 Message Date
Wim Taymans 2247363ab9 defs: update defs 2011-03-02 11:57:40 +01:00
Wim Taymans 673d90fb99 buffer: release buffer to pool in dispose
Use the dispose method to release the buffer to the pool when it is configured.
2011-03-02 11:57:06 +01:00
Wim Taymans a55bc30f81 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.
2011-03-02 11:33:24 +01:00
Wim Taymans 0a89debaf7 gst: add pool flags type 2011-03-02 11:24:27 +01:00
Wim Taymans d3c9f9247c docs: update bufferpool docs 2011-03-02 11:24:27 +01:00
Wim Taymans 0986f3a64a 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.
2011-03-02 11:23:21 +01:00
Wim Taymans e566910a18 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.
2011-03-02 11:23:21 +01:00
Wim Taymans 419a01af0f 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.
2011-03-02 11:23:21 +01:00
Stefan Kost 1dff415d8a bufferpool: also allow NULL params in _acquire 2011-03-02 11:23:21 +01:00
Wim Taymans 9b1cadc329 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.
2011-03-02 11:23:21 +01:00
Wim Taymans dd16af7a6c bufferpool: rename 'flushing' to 'active'
Rename the flushing variable and methods to active to better match
the other gstreamer name conventions
2011-03-02 11:23:21 +01:00
Wim Taymans 2496523b3e 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.
2011-03-02 11:23:21 +01:00
Wim Taymans 2b50d0a2f4 bufferpool: use quarks for structure fields 2011-03-02 11:23:21 +01:00
Wim Taymans 0caa41e173 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
2011-03-02 11:23:21 +01:00
Wim Taymans 8dbb10dac7 fix defs 2011-03-02 11:23:21 +01:00
Wim Taymans 8c9e3e6af3 bufferpool: add simple bufferpool helper object 2011-03-02 11:22:44 +01:00
Wim Taymans 230c3455ac Merge branch 'master' into 0.11
Conflicts:
	gst/gstregistry.h
2011-03-02 11:08:34 +01:00
Arun Raghavan 0e6aa69366 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.
2011-03-02 14:01:05 +05:30
Mark Nauwelaerts ce52df3d72 configure.ac: export plugin description more platform independent
Fixes #642504.
2011-02-28 18:43:41 +01:00
Mark Nauwelaerts d0f04f87eb Automatic update of common submodule
From 1de7f6a to 6aec6b9
2011-02-28 18:32:07 +01:00
Tim-Philipp Müller c71241d9dd docs: typo fixes
convinience -> convenience
2011-02-28 15:01:54 +00:00
Tim-Philipp Müller b923b7f901 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.
2011-02-28 14:59:33 +00:00
Stefan Kost c7881a21b5 docs: small updates as suggested on a blog
Link from convinience api to the underlying api.
2011-02-28 16:33:22 +02:00
Wim Taymans d96cacc66c meta: add timing metadata 2011-02-28 10:05:47 +01:00
Wim Taymans 3a29d34923 miniobject: fix whitespace 2011-02-28 10:05:38 +01:00
Wim Taymans f5d1dcbd9a tests: add memory unit test 2011-02-28 09:39:44 +01:00
Wim Taymans cb86bf99bc meta: simplify a bit 2011-02-27 20:54:58 +01:00
Wim Taymans 362a724cfb meta: add default memory metadata
Add a metadata implementation for normall malloced memory.
2011-02-27 20:42:15 +01:00
Wim Taymans 58060d7528 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.
2011-02-27 19:40:45 +01:00
Wim Taymans 0969106993 docs: update docs and defs 2011-02-27 12:21:32 +01:00
Wim Taymans 9a3f158c73 buffer: remove useless method
Remove the method to retrieve metadata by api. One will always use the
GstMetaInfo to get metadata.
2011-02-26 18:14:36 +01:00
Wim Taymans 23aa5508f3 buffer: remove owner_priv now that we have metadata
Now that we have metadata we can remove the owner_priv field.
2011-02-25 16:31:11 +01:00
Wim Taymans 0210890840 defs: fix defs 2011-02-25 13:23:19 +01:00
Wim Taymans 6f4a733063 metadata: Rename to GstMeta
Rename to the shorter GstMeta
Add docs
Add api to get metadata by API
2011-02-25 13:15:25 +01:00
Wim Taymans d7b989bf40 defs: fix defs 2011-02-25 10:37:07 +01:00
Philippe Normand 376089db14 buffer: fix memory corruption 2011-02-25 10:34:52 +01:00
Wim Taymans 45645a11a1 buffermeta: fix compilation 2011-02-25 10:34:52 +01:00
Wim Taymans 8e4ab802f9 updates 2011-02-25 10:34:52 +01:00
Wim Taymans 023cada1f4 meta: improve test a little 2011-02-25 10:34:52 +01:00
Wim Taymans 8468dadc77 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.
2011-02-25 10:34:47 +01:00
Wim Taymans a27da6a919 design: add api tag
We want to find metadata based on the API it implements and based on the
specific implementation.
2011-02-25 10:19:25 +01:00
Tim-Philipp Müller d3e7981527 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
2011-02-24 17:12:00 +00:00
Tim-Philipp Müller 1f59906ec1 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.
2011-02-24 15:36:53 +00:00
Tim-Philipp Müller 27027a2dd2 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()
2011-02-24 15:36:52 +00:00
Stefan Kost b3f0d98964 tests: refix the tests (missing #endif) 2011-02-24 16:20:01 +02:00
Stefan Kost b30e516d3e Makefile.am: add new abi headers to nodist_HEADERS 2011-02-24 16:11:17 +02:00
Stefan Kost 88cda98939 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.
2011-02-24 15:36:47 +02:00
Stefan Kost 3cb1180ff4 tests: add abi check data for ARM (libs) 2011-02-24 15:12:57 +02:00
Stefan Kost 98a50e3b82 tests: add abi check data for ARM 2011-02-24 15:03:03 +02:00
Wim Taymans 39d486e526 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.
2011-02-24 13:55:35 +01:00