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.
Wim Taymans [Thu, 2 Feb 2012 12:10:27 +0000 (13:10 +0100)]
basetransform: improve prepare_output_buffer
Clean up the prepare_output_buffer function.
Reuse the input buffer when it is writable and when doing an
in-place but non-passthrough transform.
Move the copy-metadata function call to the prepare_output_buffer default
function. If subclasses implement a custom prepare_output_buffer, they must also
copy the metadata themselves.
Remove a useless memory copy because prepare_output_buffer already did that.
Wim Taymans [Thu, 2 Feb 2012 11:32:49 +0000 (12:32 +0100)]
identity: only map when using the memory
Wim Taymans [Thu, 2 Feb 2012 11:32:07 +0000 (12:32 +0100)]
plugins: proxy allocation query
Wim Taymans [Thu, 2 Feb 2012 11:30:14 +0000 (12:30 +0100)]
basetransform: simplify code
We already checked passthrough a few lines above.
Wim Taymans [Thu, 2 Feb 2012 11:07:28 +0000 (12:07 +0100)]
memory: add some performce debug info
Add some PERFORMANCE debug lines where we copy and do other suboptimal things.
Wim Taymans [Thu, 2 Feb 2012 11:05:37 +0000 (12:05 +0100)]
pad: add flag to proxy allocation query
Add a flag to force the default query handler to forward the allocation query
instead of discarding it.
Reorder the pad flags a bit.
Tim-Philipp Müller [Thu, 2 Feb 2012 01:30:12 +0000 (01:30 +0000)]
typefind: pass extensions as comma-separated list in a simple string
Fix annoying gst_type_find_register() function signature. A simple
string with comma-separated extensions works just as well and saves
lines of code, casts, relocations and ultimately kittens.
Wim Taymans [Tue, 31 Jan 2012 16:41:13 +0000 (17:41 +0100)]
basesrc: fix race in startup
Mark renegotiate before starting the pushing thread.
Do also check if we are starting in the get_range function.
Wim Taymans [Tue, 31 Jan 2012 15:27:55 +0000 (16:27 +0100)]
element: don't crash on missing template
Some request pads don't have a padtemplate (mostly those from encodebin). Avoid
crashing in this case.
Stefan Sauer [Tue, 31 Jan 2012 11:20:41 +0000 (12:20 +0100)]
controller: constructures for control sources return GstControlSource
Don't return the specific types. In most cases there is no specific api there
anyway.
Wim Taymans [Tue, 31 Jan 2012 11:10:21 +0000 (12:10 +0100)]
don't do logic in g_assert...
Stefan Sauer [Mon, 30 Jan 2012 18:17:00 +0000 (19:17 +0100)]
controller: rename control-bindings
gst_control_binding_xxx -> gst_xxx_control_binding for consistency.
João Paulo Pizani Flor [Mon, 30 Jan 2012 16:48:44 +0000 (14:48 -0200)]
Fixes the lack of an include directive in gst/gstpreset.h
It blocked the build of external libraries depending on gstreamer-core (namely, gstreamermm).
Complete bug report at https://bugzilla.gnome.org/show_bug.cgi?id=669036
Stefan Sauer [Mon, 30 Jan 2012 17:17:34 +0000 (18:17 +0100)]
controlsource: sink the floating ref
control sources can be used on several control bindings.
Wim Taymans [Mon, 30 Jan 2012 16:15:21 +0000 (17:15 +0100)]
buffer; remove IN_CAPS buffer flag
The IN_CAPS buffer flag is deprecated and should be replaced with the HEADER
flag.
Wim Taymans [Mon, 30 Jan 2012 15:09:03 +0000 (16:09 +0100)]
defs; update for new api
Wim Taymans [Mon, 30 Jan 2012 14:59:02 +0000 (15:59 +0100)]
query: pass allocator in query
Place the allocator object in the ALLOCATION query instead of the name. This
allows us to exchange allocators that are not in the global pool of allocators.
Update elements for the new api
Wim Taymans [Mon, 30 Jan 2012 14:57:39 +0000 (15:57 +0100)]
memory: add memory type
Add memory type when registering memory allocators. Add getter for the memory
type.
Olivier Crête [Sun, 29 Jan 2012 22:58:51 +0000 (22:58 +0000)]
valve: Repush sticky events after disabling dropping