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
Wim Taymans [Thu, 23 Feb 2012 10:59:22 +0000 (11:59 +0100)]
docs: remove transform lock
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.
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.
Wim Taymans [Tue, 21 Feb 2012 11:52:44 +0000 (12:52 +0100)]
queue: remove weird link behaviour
Remove the link functions and always start the pad task on the srcpad. If
applications need to autoplug they can put a blocking probe on the srcpad like
they would with any other element.
Wim Taymans [Tue, 21 Feb 2012 11:52:18 +0000 (12:52 +0100)]
fakesrc: handle pts/dts
Wim Taymans [Tue, 21 Feb 2012 11:46:44 +0000 (12:46 +0100)]
fakesink: remove custom marshaller
Wim Taymans [Tue, 21 Feb 2012 11:43:18 +0000 (12:43 +0100)]
identity: also debug dts/pts
Wim Taymans [Tue, 21 Feb 2012 11:13:28 +0000 (12:13 +0100)]
fakesink: debug pts and dts
Wim Taymans [Tue, 21 Feb 2012 11:12:21 +0000 (12:12 +0100)]
identity: remove custom marshaller
Matej Knopp [Thu, 24 Nov 2011 17:40:40 +0000 (18:40 +0100)]
Unit test for queue src caps notification
Wim Taymans [Mon, 20 Feb 2012 13:37:11 +0000 (14:37 +0100)]
tests: fix useless segment test
Wim Taymans [Mon, 20 Feb 2012 13:29:30 +0000 (14:29 +0100)]
segment: don't use duration in clipping
Don't use the duration in the segment for calculating clipping values.
The duration is expressed in stream time and clipping is done on unrelated
timestamp values.
This used to be interesting for elements that used the segment structure to
implement seeking because then they would use stream-time for the segment
start/stop values and the duration could be used as a fallback when the stop
position was not set. Now that the complete segment event is passed between
elements we cannot do this anymore because some elements might store the
duration and start/stop values with different time bases in the segment.
Wim Taymans [Mon, 20 Feb 2012 13:22:00 +0000 (14:22 +0100)]
info: debug segment duration as well
Wim Taymans [Mon, 20 Feb 2012 10:46:36 +0000 (11:46 +0100)]
basetransform: copy metadata when using a pool
also copy the metadata when we allocated a new buffer from a pool
Matej Knopp [Thu, 26 Jan 2012 08:02:48 +0000 (03:02 -0500)]
nettimepacket: fix printf format warning in debug message
https://bugzilla.gnome.org/show_bug.cgi?id=664491
Wim Taymans [Sat, 18 Feb 2012 00:04:18 +0000 (01:04 +0100)]
memory: fix more docs
Edward Hervey [Fri, 17 Feb 2012 23:53:58 +0000 (15:53 -0800)]
doc fixups
Edward Hervey [Fri, 17 Feb 2012 23:09:56 +0000 (15:09 -0800)]
basesrc: Move variable and assignment to where it's needed
Edward Hervey [Fri, 17 Feb 2012 23:09:06 +0000 (15:09 -0800)]
basetransform: Handle return value of decide_allocation vmethod
If it fails, properly propagate the error
Edward Hervey [Fri, 17 Feb 2012 23:08:32 +0000 (15:08 -0800)]
gstvalue: Remove useless assignment
Edward Hervey [Fri, 17 Feb 2012 23:07:56 +0000 (15:07 -0800)]
gstvalue: Gracefully handle NULL Gvalue
Avoids unreferencing NULL pointer
Wim Taymans [Fri, 17 Feb 2012 23:03:41 +0000 (00:03 +0100)]
pad: make some errors critical
When we have no chain function or when we are operating the pad in the wrong
mode, emit a critical instead of posting an error message. This is certainly a
programming error and we cannot always post a message (like when the pad has no
parent)
Wim Taymans [Fri, 17 Feb 2012 23:03:13 +0000 (00:03 +0100)]
info: also debug position of segment
Wim Taymans [Fri, 17 Feb 2012 22:59:28 +0000 (23:59 +0100)]
win32: back to development
Wim Taymans [Fri, 17 Feb 2012 10:02:40 +0000 (11:02 +0100)]
configure: back to development
Wim Taymans [Fri, 17 Feb 2012 10:01:16 +0000 (11:01 +0100)]
RELEASE 0.11.2
Mark Nauwelaerts [Wed, 15 Feb 2012 16:12:09 +0000 (17:12 +0100)]
baseparse: tweak some documentation
Mark Nauwelaerts [Wed, 15 Feb 2012 16:11:54 +0000 (17:11 +0100)]
baseparse: simplify and improve frame state handling
Use a frame flag to signal to subclass it should reset any retained
state w.r.t. frame parsing since the frame being passed is 'new',
i.e. not related to previously passed and processed data.
Wim Taymans [Wed, 15 Feb 2012 12:15:55 +0000 (13:15 +0100)]
baseparse: don't leak event
In the unlikely case where the subclass set the event function to NULL, don't
leak the event.
Wim Taymans [Wed, 15 Feb 2012 11:19:13 +0000 (12:19 +0100)]
baseparse: make activation code more like other
Make the pad activation code look more like other activation code.
Only start the sinkpad task when we decide to activate in pull mode, when we
later add srcpad pullmode this will be needed.
Wim Taymans [Wed, 15 Feb 2012 11:18:38 +0000 (12:18 +0100)]
task: add more debug
Wim Taymans [Wed, 15 Feb 2012 10:11:11 +0000 (11:11 +0100)]
baseparse: add some more debug
Mark Nauwelaerts [Wed, 15 Feb 2012 09:58:08 +0000 (10:58 +0100)]
baseparse: track consumed input size
... as used by subsequent input data rate estimation (and seeking).
Wim Taymans [Wed, 15 Feb 2012 09:11:35 +0000 (10:11 +0100)]
baseparse: chain up to parent for defaults
Chain up to the parent instead of using the FALSE return value from the event
function (because it's otherwise impossible to return an error).
Wim Taymans [Wed, 15 Feb 2012 09:10:53 +0000 (10:10 +0100)]
typefind: don't ignore return value when starting a task
Mark Nauwelaerts [Tue, 14 Feb 2012 19:17:37 +0000 (20:17 +0100)]
baseparse: Revert "baseparse: really provide upstream ts to subclass"
This reverts commit
2363490ef5a9fe8d414369d24fcaa65a9dfa83ac.
Mark Nauwelaerts [Tue, 14 Feb 2012 18:33:50 +0000 (19:33 +0100)]
baseparse: remove dead code and superfluous loop level
Mark Nauwelaerts [Tue, 14 Feb 2012 18:33:46 +0000 (19:33 +0100)]
baseparse: modify reverse playback handling
... so as to allow the push-mode case to provide data to subclass
on a buffer by buffer basis (as in regular forward case), rather
than all buffers of a fragment chucked together.
Also refactor buffer handling some more, and add some debug.
Mark Nauwelaerts [Tue, 14 Feb 2012 18:33:33 +0000 (19:33 +0100)]
baseparse: really provide upstream ts to subclass
Wim Taymans [Tue, 14 Feb 2012 12:24:49 +0000 (13:24 +0100)]
typefind: clean up src query handler
Wim Taymans [Tue, 14 Feb 2012 11:57:14 +0000 (12:57 +0100)]
typefind: pass results from activation
Wim Taymans [Tue, 14 Feb 2012 09:35:06 +0000 (10:35 +0100)]
Merge branch 'master' into 0.11
Wim Taymans [Tue, 14 Feb 2012 09:30:40 +0000 (10:30 +0100)]
defs: update
Mark Nauwelaerts [Mon, 13 Feb 2012 17:22:37 +0000 (18:22 +0100)]
baseparse: modify API to a _finish_frame based approach
... which aligns it with other baseclass in the wild, and should give
converter parsers a bit cleaner freedom.
Mark Nauwelaerts [Mon, 13 Feb 2012 17:09:51 +0000 (18:09 +0100)]
baseparse: fix reverse playback
... especially for all-keyframe (audio) cases.
Wim Taymans [Mon, 13 Feb 2012 15:33:00 +0000 (16:33 +0100)]
memory: more work on refcount and writability
Rename _is_writable() with _is_exclusive because the writability does not depend
on the amount of references to the memory object anymore.
Add accessor macros for the memory flags.
Rename the GstBuffer _peek_memory() method to _get_memory() and return a
reference to the memory now that we can do this without affecting writability
of the memory object. Make it possible to also make this function merge the
buffer memory.
Add methods to replace memory in a buffer. Make some convience macros for the
buffer memory functions.
Fix unit tests.
Wim Taymans [Mon, 13 Feb 2012 16:22:51 +0000 (17:22 +0100)]
def: update
Wim Taymans [Mon, 13 Feb 2012 14:18:28 +0000 (15:18 +0100)]
meta: fix typos
Tim-Philipp Müller [Sun, 12 Feb 2012 21:17:41 +0000 (21:17 +0000)]
docs: add a paragraph about the STREAM CONFIG event to the design docs
Tim-Philipp Müller [Sun, 12 Feb 2012 21:04:18 +0000 (21:04 +0000)]
event: make _parse_nth_stream_config_header() and _parse_setup_data() return a boolean
As they can fail (only one of stream headers or setup data
is usually present).
Tim-Philipp Müller [Sun, 12 Feb 2012 20:51:39 +0000 (20:51 +0000)]
event: rename gst_event_{set,parse}_stream_config_codec_data() to _setup_data()
More generic.
Wim Taymans [Fri, 10 Feb 2012 14:03:03 +0000 (15:03 +0100)]
Merge branch 'master' into 0.11
Wim Taymans [Fri, 10 Feb 2012 13:58:13 +0000 (14:58 +0100)]
clean up object init
Make an _init method where the parent mini-object and other fields are
initialized.
Check that the passed structure doesn't already have a parent.
Use the _new_custom () constructors
Mark Nauwelaerts [Tue, 7 Feb 2012 10:28:41 +0000 (11:28 +0100)]
baseparse: bitrate mechanics should not deal with duration update
... since that is already handled by _update_duration, or should not be done
altogether if the duration is determined by non-estimated means.
Fixes #669502.
Tim-Philipp Müller [Fri, 10 Feb 2012 12:45:50 +0000 (12:45 +0000)]
docs: push_event doesn't return a flow value after all
Wim Taymans [Fri, 10 Feb 2012 11:05:18 +0000 (12:05 +0100)]
pad: silence probe debug a litte
Wim Taymans [Fri, 10 Feb 2012 10:24:28 +0000 (11:24 +0100)]
basesink: implement faster ACCEPT_CAPS query
Wim Taymans [Fri, 10 Feb 2012 10:09:01 +0000 (11:09 +0100)]
gst: add some performance logging
Add some performance logging for caps copy and the slow default acceptcaps
implementation
Wim Taymans [Sat, 14 Jan 2012 18:16:01 +0000 (19:16 +0100)]
docs: update and improve docs
Tim-Philipp Müller [Thu, 9 Feb 2012 00:14:58 +0000 (00:14 +0000)]
utils: remove gst_element_class_install_std_props()
It's only used in one place (rtmp), and there not very well.
Tim-Philipp Müller [Wed, 8 Feb 2012 23:47:40 +0000 (23:47 +0000)]
fakesrc, identity, fakesink: do not generate last-message updates by default
Default to not creating lots of overhead by doing a couple of
g_strdup_printf()/g_free() per buffer or event just to generate
a last-message update that rarely anyone listens to. This means
that you need to enable silent=true explicitly in order to get
last-message dumps in gst-launch -v now. On the upside, people
won't inadvertently end up benchmarking g_strdup_printf()
performance instead of gstreamer data handling performance any
more.
Maybe the silent property should be renamed to enable-last-message
or something like that?
Wim Taymans [Wed, 8 Feb 2012 14:16:46 +0000 (15:16 +0100)]
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
Mark Nauwelaerts [Wed, 8 Feb 2012 14:34:28 +0000 (15:34 +0100)]
queue: use default query function to optionally forward query
... rather than querying peer unconditionally with possibly undesirable
outcome in case of e.g. SCHEDULING query.
Mark Nauwelaerts [Wed, 8 Feb 2012 14:03:56 +0000 (15:03 +0100)]
baseparse: clean up a few minor extraneous tokens
Mark Nauwelaerts [Tue, 7 Feb 2012 11:48:50 +0000 (12:48 +0100)]
baseparse: remove closing segment handling
Wim Taymans [Wed, 8 Feb 2012 13:45:25 +0000 (14:45 +0100)]
Merge branch 'master' into 0.11
Wim Taymans [Wed, 8 Feb 2012 13:32:01 +0000 (14:32 +0100)]
typefind: fix race in pad mode change
Fixes #668909 and presumably also #669483
Wim Taymans [Wed, 8 Feb 2012 11:57:11 +0000 (12:57 +0100)]
pad: error when activation mode is wrong
Post an error when we try to push on a pad activated in pull mode and pull on a
pad in push mode.
Wim Taymans [Wed, 8 Feb 2012 08:30:02 +0000 (09:30 +0100)]
clock: remove method declaration too
Stefan Sauer [Tue, 7 Feb 2012 12:41:20 +0000 (13:41 +0100)]
clock: remove unimplemented stats property while we can
Wim Taymans [Tue, 7 Feb 2012 09:44:07 +0000 (10:44 +0100)]
fakesrc: remove custom marshaller
Remove our custom marshaller.
Make the buffer in the handoff signal static_scope so that it is actually
writable.
Wim Taymans [Mon, 6 Feb 2012 08:46:47 +0000 (09:46 +0100)]
gst: improve debugging
Havard Graff [Wed, 4 Jan 2012 16:10:15 +0000 (17:10 +0100)]
registry: fix compilation with --disable-registry
__registry_reuse_plugin_scanner is only defined when
GST_DISABLE_REGISTRY is not defined.
gstregistry.c: In function 'gst_registry_scan_plugin_file':
gstregistry.c:1131:8: error: '__registry_reuse_plugin_scanner' undeclared (first use in this function)
https://bugzilla.gnome.org/show_bug.cgi?id=667284
Vincent Penquerc'h [Thu, 2 Feb 2012 17:18:22 +0000 (17:18 +0000)]
bin: reset the EOS detection machinery after sending an EOS message
This will allow detecting further EOS, for instance after looping
a stream without changing states.
https://bugzilla.gnome.org/show_bug.cgi?id=668289
Ryan Lortie [Sun, 8 Jan 2012 04:00:12 +0000 (23:00 -0500)]
autogen.sh: allow calling from out-of-tree
https://bugzilla.gnome.org/show_bug.cgi?id=667664
Wim Taymans [Thu, 2 Feb 2012 15:59:12 +0000 (16:59 +0100)]
trace: print caps in dump
Wim Taymans [Thu, 2 Feb 2012 15:04:10 +0000 (16:04 +0100)]
defs: update
Wim Taymans [Thu, 2 Feb 2012 14:57:48 +0000 (15:57 +0100)]
memory: add debug and trace for GstMemory
Wim Taymans [Thu, 2 Feb 2012 14:55:44 +0000 (15:55 +0100)]
trace: don't check random pointers for objects
Only see if the traced pointer is a GObject when it was registered with the
special offset of -2.
Wim Taymans [Thu, 2 Feb 2012 14:54:28 +0000 (15:54 +0100)]
Update debug categories
Remove some categories marked for deletion.
Add a category for GstMemory.
Wim Taymans [Thu, 2 Feb 2012 14:52:19 +0000 (15:52 +0100)]
remove TRACE_NAME from headers
Wim Taymans [Thu, 2 Feb 2012 12:17:38 +0000 (13:17 +0100)]
buffer: add new test
Wim Taymans [Thu, 2 Feb 2012 12:15:24 +0000 (13:15 +0100)]
dentity: remove prepare_output_buffer
Correctly mark passthrough on the baseclass so that it can correctly do the
allocation of the output buffers.
Remove our custom prepare_output_buffer function now that the baseclass is
smarter.