Tim-Philipp Müller [Thu, 8 Mar 2012 19:55:30 +0000 (19:55 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
common
gst/gstpad.h
gst/gsttask.c
libs/gst/base/gstcollectpads2.h
Tim-Philipp Müller [Thu, 8 Mar 2012 16:30:49 +0000 (16:30 +0000)]
pad, task: improve debug logging
Tim-Philipp Müller [Thu, 8 Mar 2012 16:26:44 +0000 (16:26 +0000)]
pads, collectpads2: get rid of superfluous brackets around static rec mutex calls
Makes it possible to define those calls to something for tracing.
Tim-Philipp Müller [Thu, 8 Mar 2012 16:25:20 +0000 (16:25 +0000)]
common: update common module
For make foo/bar.check-norepeat target.
Tim-Philipp Müller [Thu, 8 Mar 2012 15:23:56 +0000 (15:23 +0000)]
tests: add minimal basesrc ! sink seeking unit test
Should reproduce 'GStreamer-WARNING **: wrong STREAM_LOCK count 0'
warnings (with make pipelines/seek.torture or pipelines/seek.forever
anyway, since it appears to be racy).
https://bugzilla.gnome.org/show_bug.cgi?id=670846
Tim-Philipp Müller [Mon, 26 Dec 2011 00:18:29 +0000 (00:18 +0000)]
value: remove gst_value_register_{subtract,union,intersect}_func() API
There isn't really any need to provide public API for that. It's not
used anywhere in practice, and we aim to provide an API that works
for GstCaps, not some kind of generic set manipulation API based on
GValue. Making this private also makes it easier to optimise this
later. We can always put it back if someone actually needs it.
Wim Taymans [Thu, 8 Mar 2012 09:47:39 +0000 (10:47 +0100)]
tee: fix refcount error
Wim Taymans [Thu, 8 Mar 2012 08:45:06 +0000 (09:45 +0100)]
pad: return ANY for a pad without template
Because gst_pad_get_pad_template_caps() returns ANY when there is no template,
the query caps function should also return ANY when there is no template (and no
pad current caps) instead of EMPTY.
Wim Taymans [Thu, 8 Mar 2012 08:44:21 +0000 (09:44 +0100)]
pad: small cleanup
Wim Taymans [Wed, 7 Mar 2012 14:34:36 +0000 (15:34 +0100)]
memory: add comment
Sebastian Dröge [Thu, 8 Mar 2012 09:32:02 +0000 (10:32 +0100)]
baseparse: Fix merge mistake
Sebastian Dröge [Thu, 8 Mar 2012 09:19:52 +0000 (10:19 +0100)]
Merge branch 'master' into 0.11
Conflicts:
libs/gst/base/gstbaseparse.c
libs/gst/base/gstbasetransform.c
plugins/elements/gsttee.c
Mark Nauwelaerts [Wed, 7 Mar 2012 10:23:56 +0000 (11:23 +0100)]
baseparse: arrange for properly disjoint frame flags
Wim Taymans [Tue, 6 Mar 2012 14:17:05 +0000 (15:17 +0100)]
basetransform: delay pool activation
Delay the activation of the bufferpool until we actually need a buffer from the
pool.
Sebastian Dröge [Tue, 6 Mar 2012 11:28:02 +0000 (12:28 +0100)]
baseparse: Fix 'self-comparison always evaluates to true'
This was really a bug.
Sebastian Dröge [Tue, 6 Mar 2012 11:24:53 +0000 (12:24 +0100)]
tee: Fix 'use of logical '&&' with constant operand' compiler warning
This is actually a real bug.
Sebastian Dröge [Tue, 6 Mar 2012 11:23:15 +0000 (12:23 +0100)]
basetransform: Fix 'equality comparison with extraneous parentheses' compiler warning
Sebastian Dröge [Tue, 6 Mar 2012 11:16:19 +0000 (12:16 +0100)]
gst: Fix 'comparison of unsigned enum expression >= 0 is always true' compiler warning
Wim Taymans [Mon, 5 Mar 2012 14:23:46 +0000 (15:23 +0100)]
basetransform: don't propose_allocation before negotiation
Answer the allocation query with FALSE when we are not negotiated yet because at
that point we have no idea if we need to proxy the allocation query or not.
Sebastian Dröge [Mon, 5 Mar 2012 13:41:12 +0000 (14:41 +0100)]
baseparse: Fix handling of multiple newsegment events
Previously only the last would be pushed, which would cause
invalid running times downstream. This also fixes the handling
of update newsegment events.
Sebastian Dröge [Mon, 5 Mar 2012 13:25:57 +0000 (14:25 +0100)]
baseparse: Also flush the close_segment
Pushing this after flushing will confuse downstream.
Sebastian Dröge [Mon, 5 Mar 2012 13:23:17 +0000 (14:23 +0100)]
baseparse: Remove obsolete code and move gap handling to the correct place
The segment start adjustment code in pull mode should never trigger
anymore because the bisection code earlier would have already made
sure that we're at the desired position.
Also move the gap handling some lines below after sending the currently
configured segments. Otherwise we might fill gaps in a segment that is
not configured downstream yet.
Sebastian Dröge [Mon, 5 Mar 2012 12:12:18 +0000 (13:12 +0100)]
baseparse: Clear some more state when receiving FLUSH_STOP
Like pending serialized events and the currently cached buffer.
Sebastian Dröge [Mon, 5 Mar 2012 12:00:38 +0000 (13:00 +0100)]
baseparse: Only queue serialized events for sending them later
Tim-Philipp Müller [Mon, 5 Mar 2012 00:34:36 +0000 (00:34 +0000)]
libgstcheck: export gst_consistency_checker_add_pad()
Fix build of the adder unit test in -base again.
Wim Taymans [Fri, 2 Mar 2012 16:32:28 +0000 (17:32 +0100)]
basetransform: refine metadata filter and transform
Add a vmethod to filter metadata that should be passed upstream. By default,
don't pass anything.
Add a vmethod to transform metadata from the input buffer to the output buffer.
By default, nothing is transformed or copied.
Wim Taymans [Fri, 2 Mar 2012 16:04:05 +0000 (17:04 +0100)]
gst: include gstmeta.h
Wim Taymans [Fri, 2 Mar 2012 16:03:49 +0000 (17:03 +0100)]
bufferpool: add more debug info
Wim Taymans [Fri, 2 Mar 2012 12:02:46 +0000 (13:02 +0100)]
defs: update
Wim Taymans [Fri, 2 Mar 2012 12:02:37 +0000 (13:02 +0100)]
tests: improve metadata test
Wim Taymans [Fri, 2 Mar 2012 11:45:23 +0000 (12:45 +0100)]
meta: add boolean to signal a region copy
Add a boolean to the metadata copy transform that signals if a only a
region is copied.
Stefan Sauer [Fri, 2 Mar 2012 11:16:03 +0000 (12:16 +0100)]
consitencychecker: don't fail on multiple flush_start events
This seems to be okay after a irc discussion.
Wim Taymans [Fri, 2 Mar 2012 10:57:52 +0000 (11:57 +0100)]
meta: transform docs
Use gst- prefix for metadata transform types.
Wim Taymans [Fri, 2 Mar 2012 10:04:21 +0000 (11:04 +0100)]
basetrans: fix comment
Sebastian Dröge [Fri, 2 Mar 2012 10:05:48 +0000 (11:05 +0100)]
gst: Remove gstmarshal.[ch] completely and use the generic marshaller
Fixes bug #671130.
Sebastian Dröge [Fri, 2 Mar 2012 09:51:42 +0000 (10:51 +0100)]
gst: Don't install gstmarshal.h
The generic, FFI based marshaller should be used instead of these
and we definitely shouldn't export the marshallers in our public API.
Wim Taymans [Thu, 1 Mar 2012 16:39:17 +0000 (17:39 +0100)]
meta: improve debugging
Add category for metadata debug
Wim Taymans [Thu, 1 Mar 2012 16:38:54 +0000 (17:38 +0100)]
basetransform: improve debugging
Wim Taymans [Thu, 1 Mar 2012 16:38:27 +0000 (17:38 +0100)]
pad: improve debugging
Wim Taymans [Thu, 1 Mar 2012 14:18:04 +0000 (15:18 +0100)]
basetransform: remove metadata tagged with the memory tag
Remove metadata that describes the particular memory of the buffer it is
attached to. We need to do this because in non-passthrough mode we will allocate
new memory for our output buffer.
Wim Taymans [Thu, 1 Mar 2012 14:17:37 +0000 (15:17 +0100)]
meta: add tag for memory metadata
Wim Taymans [Thu, 1 Mar 2012 13:49:38 +0000 (14:49 +0100)]
query: add method to remove allocation_meta
Also g_return_if_fail for out-of-bounds access instead of silently failing.
Wim Taymans [Thu, 1 Mar 2012 13:30:58 +0000 (14:30 +0100)]
basetransform: improve propose_allocation
Improve the propose allocation vmethod by passing the downstream allocation
query to it. This way the vmethod implementation can use properties of the
downstream allocation to generate the upstream query result. If there is no
downstream quety, it means that the element is working in passthrough mode.
Implement a default decide_allocation.
Wim Taymans [Thu, 1 Mar 2012 10:11:43 +0000 (11:11 +0100)]
basetransform: clear allocation parameters in passthrough
Clear the allocation parameters when we operate in passthrough.
Wim Taymans [Thu, 1 Mar 2012 10:06:49 +0000 (11:06 +0100)]
tests: fix old caps in tests now that core warns
Sebastian Dröge [Thu, 1 Mar 2012 13:51:26 +0000 (14:51 +0100)]
libs: Fix some merge mistakes
Sebastian Dröge [Thu, 1 Mar 2012 13:43:01 +0000 (14:43 +0100)]
Merge branch 'master' into 0.11
Conflicts:
libs/gst/base/gstcollectpads2.c
libs/gst/check/gstconsistencychecker.c
Mark Nauwelaerts [Tue, 28 Feb 2012 11:03:46 +0000 (12:03 +0100)]
pad: fix some debug message typos
Stefan Sauer [Wed, 29 Feb 2012 20:57:00 +0000 (21:57 +0100)]
consitencychecker: add handling for sink-pads
Add a pad-probe for sink-pads. One can now add extra pads (belonging to the same
element) to a checker. This allows us to extend the checks.
Wim Taymans [Wed, 29 Feb 2012 16:20:23 +0000 (17:20 +0100)]
meta: split registration of API and implementation
Split out the registration of the metadata API and its implementation. Make a
GType for each metadata API. This allows us to store extra information with the
API type such as the tags.
Change the buffer API so that we can get the metadata using the API GType.
Change the query API so that we use the metadata API GType in the allocation
query instead of a string.
Update netaddress and unit tests
Wim Taymans [Wed, 29 Feb 2012 15:00:22 +0000 (16:00 +0100)]
minobject: small .h indent fix
Tim-Philipp Müller [Wed, 29 Feb 2012 12:41:44 +0000 (12:41 +0000)]
structure: print a g_warning() if someone tries to construct 0.10-style raw audio/video caps
Stefan Sauer [Wed, 29 Feb 2012 07:44:04 +0000 (08:44 +0100)]
consistencychecker: also check for duplicated flush_starts
Stefan Sauer [Tue, 28 Feb 2012 19:36:59 +0000 (20:36 +0100)]
collectpads2: add more logging
Wim Taymans [Tue, 28 Feb 2012 15:17:47 +0000 (16:17 +0100)]
meta: add return vale to transform
Add a boolean return value so that we can see when a transform fails.
Wim Taymans [Tue, 28 Feb 2012 11:52:00 +0000 (12:52 +0100)]
meta: add method to check for a tag
Wim Taymans [Tue, 28 Feb 2012 11:51:27 +0000 (12:51 +0100)]
tests: fix unit test
Wim Taymans [Tue, 28 Feb 2012 10:34:48 +0000 (11:34 +0100)]
meta: add support to tagging the metadata
Add support for adding tags to the metadata. with some standard keys, this
should make it possible to describe what the metadata refers to. We should be
able to use this information to decide if a transformation destroys the metadata
or not.
Edward Hervey [Mon, 27 Feb 2012 12:35:10 +0000 (13:35 +0100)]
Suppress deprecation warnings in selected files, for g_value_array_* mostly
Wim Taymans [Mon, 27 Feb 2012 10:46:08 +0000 (11:46 +0100)]
tests: increase bus test timeout
Tim-Philipp Müller [Tue, 21 Feb 2012 20:43:48 +0000 (20:43 +0000)]
tests: make datetime test more reliably when comparing two almost identical nows
Account for rounding errors in some places, and that two nows are
not always entirely identical, so allow some leeway when comparing
microseconds and seconds. Ran into this too often, esp. when the
system is under load.
Wim Taymans [Mon, 27 Feb 2012 08:48:06 +0000 (09:48 +0100)]
remove some useless includes in .h
Wim Taymans [Mon, 27 Feb 2012 08:02:07 +0000 (09:02 +0100)]
clock: make more stuff private
Expose methods to get and set the timeout because subclasses uses this.
Wim Taymans [Sun, 26 Feb 2012 19:45:14 +0000 (20:45 +0100)]
systemclock: make more stuff private
Wim Taymans [Sun, 26 Feb 2012 19:44:50 +0000 (20:44 +0100)]
bufferpool: make more stuff private
Wim Taymans [Sun, 26 Feb 2012 15:32:32 +0000 (16:32 +0100)]
bus: make more fields private
Tim-Philipp Müller [Mon, 27 Feb 2012 00:09:57 +0000 (00:09 +0000)]
fdsink: fix compilation after merge
Tim-Philipp Müller [Mon, 27 Feb 2012 00:08:39 +0000 (00:08 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gstreamer-plugins.hierarchy
docs/plugins/inspect/plugin-coreelements.xml
libs/gst/base/gstcollectpads.c
libs/gst/base/gstcollectpads2.c
plugins/elements/gstfdsink.c
win32/common/config.h
win32/common/gstenumtypes.c
win32/common/gstversion.h
Stefan Sauer [Sun, 26 Feb 2012 22:11:23 +0000 (23:11 +0100)]
collectpads2: rescue the annotation from collectpads
Stefan Sauer [Sun, 26 Feb 2012 22:10:58 +0000 (23:10 +0100)]
docs: fix a typo in comment
Stefan Sauer [Sun, 26 Feb 2012 21:57:02 +0000 (22:57 +0100)]
collectpads2: move "MT save" tags to doc body
It is not useful to have "MT safe" tags randomly in body, returns or since paragraphs.
Tim-Philipp Müller [Sat, 25 Feb 2012 15:18:00 +0000 (15:18 +0000)]
fdsink: implement GstBaseSink::query instead of messing with the pad
Tim-Philipp Müller [Sat, 25 Feb 2012 15:08:55 +0000 (15:08 +0000)]
fdsink: implement SEEKING query
We may or may not support seeking. stdout to a
terminal doesn't support seeking, for example, but
... ! fdsink > file.foo just might.
Tim-Philipp Müller [Sat, 25 Feb 2012 15:07:43 +0000 (15:07 +0000)]
filesink: implement SEEKING query
We may or may not do seeking, depends on the
output file/device really, it doesn't have to
be a file after all.
Tim-Philipp Müller [Sat, 25 Feb 2012 15:07:05 +0000 (15:07 +0000)]
fakesink: answer SEEKING query
We don't do seeking, in case anyone wants to know.
Tim-Philipp Müller [Fri, 24 Feb 2012 23:39:30 +0000 (23:39 +0000)]
registry: fix lseek() return code handling
lseek() returns the offset if successful, and this is != 0 and
does not indicate an error. And if it does actually fail, don't
return FALSE (0) as an int, but -1. None of these things are
likely to have made a difference, ever. I don't think the offset
seek can ever actually happen, the current file position and the
current offset should always be increased in lock step, unless
there was an error in which case we'd just error out.
Tim-Philipp Müller [Fri, 24 Feb 2012 23:19:51 +0000 (23:19 +0000)]
registry: don't forget to clean up registry temp file in another error case
Also clean up temp file if we get an error during write() rather
than just when doing fsync() or close().
Wim Taymans [Fri, 24 Feb 2012 14:24:42 +0000 (15:24 +0100)]
atomicqueue: fix race
After a writer has written to its reserved write location, it can only make the
location available for reading if all of the writers with lower locations have
finished.
Wim Taymans [Fri, 24 Feb 2012 11:51:24 +0000 (12:51 +0100)]
atomicqueue: fix subtle race
Fix a race where the reader would see the updated the tail pointer before the
write could write the data into the queue. Fix this by having a separate reader
tail pointer that is only incremented after the writer wrote the data.
Wim Taymans [Fri, 24 Feb 2012 10:00:21 +0000 (11:00 +0100)]
basetransform: fix reconfigure methods
Rename gst_base_transform_suggest to gst_base_transform_reconfigure_sink because
that is what it does. Also remove the caps and size because that is not needed.
Rename gst_base_transform_reconfigure to gst_base_transform_reconfigure_src.
Remove some old unused code in capsfilter.
Wim Taymans [Fri, 24 Feb 2012 09:23:27 +0000 (10:23 +0100)]
meta: flesh out the metadata transform
Flesh out the transform method. Add a type and extra info to the transform
function so that implementation can transform the metadata.
Remove the copy function and replace with the more generic transform.
Wim Taymans [Fri, 24 Feb 2012 09:23:17 +0000 (10:23 +0100)]
docs: update docs
David Schleef [Thu, 23 Feb 2012 16:48:22 +0000 (08:48 -0800)]
Fix gap in Makefile
David Schleef [Thu, 23 Feb 2012 16:48:10 +0000 (08:48 -0800)]
spelling fix
David Schleef [Tue, 27 Dec 2011 00:45:20 +0000 (16:45 -0800)]
poll: fix spelling of writable
Wim Taymans [Thu, 23 Feb 2012 14:32:33 +0000 (15:32 +0100)]
memory: add user_data to GstMapInfo
Add extra pointers to GstMapInfo so that implementations can use these to store
extra info.
Wim Taymans [Thu, 23 Feb 2012 14:32:19 +0000 (15:32 +0100)]
bufferpool: improve docs
Tim-Philipp Müller [Thu, 23 Feb 2012 12:09:31 +0000 (12:09 +0000)]
Update NEWS and RELEASE as well
Wim Taymans [Thu, 23 Feb 2012 10:59:22 +0000 (11:59 +0100)]
docs: remove transform lock
Tim-Philipp Müller [Thu, 23 Feb 2012 10:36:57 +0000 (10:36 +0000)]
Bump version after releases
Wim Taymans [Thu, 23 Feb 2012 10:08:26 +0000 (11:08 +0100)]
basetransform: remove transform lock
This is not needed anymore by the baseclass. subclasses should do their own
locking when needed.
Wim Taymans [Thu, 23 Feb 2012 09:12:44 +0000 (10:12 +0100)]
basetrans: cleanups
Clean up the setcaps function.
The passthrough variable is protected with the object lock.
Wim Taymans [Wed, 22 Feb 2012 14:26:05 +0000 (15:26 +0100)]
basetransform: improve propose_allocation
Always call the propose_allocation method and provide a default implementation
that passes the query on in passthrough mode so that subclasses can also call
this. Also pass if the transform is in passthrough mode so that the
implementation can adjust its algorithm.
Wim Taymans [Wed, 22 Feb 2012 11:24:34 +0000 (12:24 +0100)]
basetrans: improve fixate_caps function
Make it possible to also implement non-inplace fixate functions. Let the fixate
function make the caps writable when needed because some fixate functions might
not need to modify the caps.
Wim Taymans [Wed, 22 Feb 2012 01:02:50 +0000 (02:02 +0100)]
memory: make _new_wrapped take user_data and notify
Make it possible to configure a GDestroyNotify and user_data for
gst_memory_new_wrapped() this allows for more flexible wrapping of foreign
memory blocks.
Ryan Lortie [Thu, 2 Feb 2012 18:45:25 +0000 (13:45 -0500)]
build: avoid touching .po files during 'make'
A simple workaround to deal with GNU gettext automake integration
failing to deal with git.
https://bugzilla.gnome.org/show_bug.cgi?id=669207
Tim-Philipp Müller [Tue, 21 Feb 2012 21:06:17 +0000 (21:06 +0000)]
input-selector: default to sync-streams=true
I think this is the expected behaviour, and we couldn't do this
in 0.10 for backwards-compatibility reasons, so change it now.
Wim Taymans [Tue, 21 Feb 2012 15:39:05 +0000 (16:39 +0100)]
tests: fix queue unit test after queue changes
Wim Taymans [Tue, 21 Feb 2012 15:38:37 +0000 (16:38 +0100)]
queue: remove some old code
Wim Taymans [Tue, 21 Feb 2012 15:37:11 +0000 (16:37 +0100)]
pad: handle NULL callbacks
When we have a matching NULL callback, also consider the 'callback' marshalled,
this way blocking probes with a NULL callback actually work.