Wim Taymans [Thu, 24 Mar 2011 12:01:00 +0000 (13:01 +0100)]
memory: remove memory metadata again
Wim Taymans [Thu, 24 Mar 2011 10:49:46 +0000 (11:49 +0100)]
memory: more fixes
Automatically make the memory of a buffer writable when the buffer is writable
and the memory is asked to mapped WRITE.
Add docs
Wim Taymans [Wed, 23 Mar 2011 19:52:27 +0000 (20:52 +0100)]
memory: more work on implementing buffer memory
Wim Taymans [Tue, 22 Mar 2011 19:51:06 +0000 (20:51 +0100)]
memory: more work on porting the unit tests
Wim Taymans [Mon, 21 Mar 2011 18:15:27 +0000 (19:15 +0100)]
tests: make some tests compile
Wim Taymans [Mon, 21 Mar 2011 17:13:55 +0000 (18:13 +0100)]
memory: port code to new buffer data API
Wim Taymans [Mon, 21 Mar 2011 12:07:42 +0000 (13:07 +0100)]
memory: more fixes
Fix span and is_span
Implement buffer memory
Wim Taymans [Mon, 21 Mar 2011 08:51:53 +0000 (09:51 +0100)]
WIP use memory in buffer
Wim Taymans [Sun, 20 Mar 2011 10:42:39 +0000 (11:42 +0100)]
memory: more improvements
Wim Taymans [Sat, 19 Mar 2011 09:45:37 +0000 (10:45 +0100)]
memory: more memory improvements
Wim Taymans [Fri, 18 Mar 2011 20:45:39 +0000 (21:45 +0100)]
memory: add more memory operations
Wim Taymans [Fri, 18 Mar 2011 18:28:17 +0000 (19:28 +0100)]
memory: add memory implementation
Wim Taymans [Fri, 18 Mar 2011 17:35:42 +0000 (18:35 +0100)]
memory: add API for handling memory blocks
Adds some API to handle memory blocks.
Wim Taymans [Tue, 8 Mar 2011 18:18:24 +0000 (18:18 +0000)]
meta: fix docs
Sebastian Dröge [Thu, 17 Mar 2011 09:53:49 +0000 (10:53 +0100)]
utils: Remove deprecated gst_element_factory_can_{sink,src}_caps()
Sebastian Dröge [Thu, 17 Mar 2011 09:50:43 +0000 (10:50 +0100)]
Merge branch 'master' into 0.11
Conflicts:
gst/gstbufferlist.c
Sebastian Dröge [Wed, 16 Mar 2011 11:01:21 +0000 (12:01 +0100)]
pad: Document that pad blocks only make sense for sink pads in pull mode and src pads in push mode
See bug #644907.
Sebastian Dröge [Wed, 16 Mar 2011 10:53:53 +0000 (11:53 +0100)]
ghostpad: The internally linked pad of the proxypad is the ghostpad
Previously we were returning the peerpad, which is the target
of the ghostpad.
Jonas Holmberg [Fri, 25 Feb 2011 15:20:49 +0000 (16:20 +0100)]
bufferlist: Use a GQueue instead of a GList
Adding a buffer to the end of a GstBufferList is supposed to be a fast
operation, but it was not since the iterator does not advance its
nextpointer when adding buffers and GList does not have a tail pointer.
Using a GQueue to store the buffers makes it easier to add buffers to
the end of the list and this operation will now be much more efficient.
Adding an entire GList of buffers using
gst_buffer_list_iterator_add_list() will however have to iterate over
the list being added to be able to update the tail pointer in the
GQueue.
Tim-Philipp Müller [Thu, 10 Mar 2011 17:48:26 +0000 (17:48 +0000)]
utils: fix ABI break when compiling gstreamer with -DGST_DISABLE_DEPRECATED
GST_DISABLE_DEPRECATED should only affect visibility of declarations in headers,
not actually remove symbols. See GitDeveloperGuidelines and DeprecatingAPI
pages in wiki.
https://bugzilla.gnome.org/show_bug.cgi?id=402141
Edward Hervey [Thu, 10 Mar 2011 15:46:04 +0000 (16:46 +0100)]
win32: Update .def file for API addition
Wim Taymans [Thu, 10 Mar 2011 09:25:07 +0000 (10:25 +0100)]
Merge branch 'master' into 0.11
Stefan Kost [Wed, 9 Mar 2011 14:15:33 +0000 (16:15 +0200)]
pwg: fix element name "videodrop" to "videorate"
Stefan Kost [Tue, 8 Mar 2011 10:11:08 +0000 (12:11 +0200)]
test: add tests for new element_factory api.
Thijs Vermeir [Wed, 23 Jun 2010 20:00:04 +0000 (22:00 +0200)]
gstutils: replace gst_element_factory_can_{sink,src}_caps
Add new functions to clarify how the caps are compared to the template caps of
the element factory. Improve the docs to point out the difference.
Deprecate: gst_element_factory_can_{src|sink}_caps
API: add gst_element_factory_can_{src|sink}_{any|all}_capps
https://bugzilla.gnome.org/show_bug.cgi?id=402141
Stefan Kost [Mon, 7 Mar 2011 21:13:56 +0000 (23:13 +0200)]
tests: add a unit test for gst_caps_new_simple
Add a test for the crash in bug #642271.
Wim Taymans [Tue, 8 Mar 2011 18:05:42 +0000 (18:05 +0000)]
docs: rename draft to official doc
Wim Taymans [Tue, 8 Mar 2011 16:58:49 +0000 (16:58 +0000)]
meta: implement transform function
Replace subbuffer and copy vmethods by a more generic transform function that
can then be parametrised by transform specific data. This should allow us to
implement make-writable and more future transform functions.
Wim Taymans [Tue, 8 Mar 2011 17:06:30 +0000 (17:06 +0000)]
Merge branch 'master' into 0.11
Stefan Kost [Tue, 8 Mar 2011 09:55:29 +0000 (11:55 +0200)]
tests: add test to create a factory
Stefan Kost [Tue, 8 Mar 2011 08:36:30 +0000 (10:36 +0200)]
tests: start a new test suite for element factories
Move one test from gstelement suite.
Stefan Kost [Tue, 8 Mar 2011 09:34:19 +0000 (11:34 +0200)]
padtemplate: add missing ; in example (and trim whitespace)
Stefan Kost [Tue, 8 Mar 2011 07:58:55 +0000 (09:58 +0200)]
structure: gst_structure_empty_new() does better error checking
No need to check for media_type!=NULL as the function we call that actual create
the structure does a full check anyway.
Stefan Kost [Tue, 8 Mar 2011 08:06:23 +0000 (10:06 +0200)]
caps,structure: trim trailing whitespace
Jonathan Matthew [Thu, 3 Mar 2011 22:28:25 +0000 (08:28 +1000)]
caps: don't create broken caps for invalid media types
Check if structure has been created before appending it to the caps. Free the
caps in the case of an error to not conceal it be returning empty caps.
Fixes #642271
Stefan Kost [Mon, 7 Mar 2011 14:21:47 +0000 (16:21 +0200)]
examples: update hello world example
Our helloworld example thatw e reference from the manual has been a bit
complicated to serve a first contact with gstreamer. Since we have and
promote playbin2 as a playback api use it here.
Based on work from Mathias Hasselmann <mathias.hasselmann@gmx.de>
Fixes #424143
Wim Taymans [Fri, 4 Mar 2011 18:02:33 +0000 (19:02 +0100)]
docs: update metadata draft
Wim Taymans [Fri, 4 Mar 2011 17:11:19 +0000 (18:11 +0100)]
miniobject: remove FIXME
Now that we don't subclass buffers anymore, the FIXME about limited
functionality of the copy function is irrelevant.
Wim Taymans [Fri, 4 Mar 2011 16:43:24 +0000 (17:43 +0100)]
gst: add flag registration
Wim Taymans [Fri, 4 Mar 2011 16:25:02 +0000 (17:25 +0100)]
pad: more preroll lock to basesink
Move the preroll lock to basesink where it belongs.
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