Wim Taymans [Thu, 4 Apr 2013 14:39:23 +0000 (16:39 +0200)]
bufferpool: fix docs
Wim Taymans [Thu, 4 Apr 2013 14:20:24 +0000 (16:20 +0200)]
pad: add gst_pad_store_sticky_event()
Rewire some internal functions and expose a new
gst_pad_store_sticky_event() function.
API: gst_pad_store_sticky_event()
Wim Taymans [Thu, 4 Apr 2013 13:45:23 +0000 (15:45 +0200)]
pad: clarify docs
Wim Taymans [Thu, 4 Apr 2013 13:45:15 +0000 (15:45 +0200)]
pad: improve debug
Wim Taymans [Thu, 4 Apr 2013 08:17:30 +0000 (10:17 +0200)]
segment: don't WARN, just DEBUG
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696911
Nicolas Dufresne [Sat, 30 Mar 2013 11:06:59 +0000 (11:06 +0000)]
segment: Fix seeking when position is slightly outside the segment
Very often, when the end of a segment is detected by demuxer, the position
is slightly outside the segment boundaries. Currently, if that is the case
the base will be set to NONE instead of normal accumulation. This would
break non-flushing seeks in oggdemux and most likely other demuxers.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696899
Wim Taymans [Wed, 3 Apr 2013 15:29:51 +0000 (17:29 +0200)]
defs: update
Wim Taymans [Wed, 3 Apr 2013 14:02:34 +0000 (16:02 +0200)]
gst: add stream flags
Brendan Long [Wed, 3 Apr 2013 00:17:00 +0000 (18:17 -0600)]
porting-to-1.0.txt: subtitle text media types changed as well
https://bugzilla.gnome.org/show_bug.cgi?id=697153
Tim-Philipp Müller [Tue, 2 Apr 2013 22:51:06 +0000 (23:51 +0100)]
docs: more since markers and other docs fixes
Tim-Philipp Müller [Tue, 2 Apr 2013 22:21:39 +0000 (23:21 +0100)]
docs: add since markers to capsfeatures docs
Tim-Philipp Müller [Tue, 2 Apr 2013 22:18:42 +0000 (23:18 +0100)]
scripts: add some more modules to git-update.sh
https://bugzilla.gnome.org/show_bug.cgi?id=697058
Tim-Philipp Müller [Tue, 2 Apr 2013 22:04:51 +0000 (23:04 +0100)]
gst-uninstalled: add uninstalled orc/orc-test/.libs to library paths
This is needed by the unit tests in gst-plugins-base, -good etc.
Spotted by Alex Kaye.
https://bugzilla.gnome.org/show_bug.cgi?id=697093
Sebastian Dröge [Tue, 2 Apr 2013 20:13:22 +0000 (22:13 +0200)]
capsfeatures: Add GST_CAPS_FEATURES_ANY
This is equal to any other caps features but results in unfixed caps. It
would be used by elements that only look at the buffer metadata or are
currently working in passthrough mode, and as such don't care about any
specific features.
Tim-Philipp Müller [Mon, 1 Apr 2013 21:13:10 +0000 (22:13 +0100)]
info: minor cosmetic changes
Let's not use ugly leading underscores for
static functions.
Tim-Philipp Müller [Mon, 1 Apr 2013 20:23:21 +0000 (21:23 +0100)]
info: fix object printing of caps features in debug log
Stefan Sauer [Mon, 1 Apr 2013 14:38:43 +0000 (16:38 +0200)]
draft-tracing: update draft design with timer ideas
Stefan Sauer [Sat, 30 Mar 2013 16:03:44 +0000 (17:03 +0100)]
info: refactor pretty printing objects
Extract formatters into local functions. Change the structure filtering so that
it works for taglists too.
Stefan Sauer [Sat, 30 Mar 2013 15:39:38 +0000 (16:39 +0100)]
element: make post_message and query more alike
Sebastian Dröge [Mon, 1 Apr 2013 08:20:01 +0000 (10:20 +0200)]
gst-inspect: Print caps features too
Sebastian Dröge [Mon, 1 Apr 2013 08:19:25 +0000 (10:19 +0200)]
capsfeatures: For copying features it's not required to have no parent refcount
Sebastian Dröge [Mon, 1 Apr 2013 08:19:01 +0000 (10:19 +0200)]
caps: Set features' parent refcount in gst_caps_set_features() too
Sebastian Dröge [Mon, 1 Apr 2013 08:18:39 +0000 (10:18 +0200)]
caps: Set sysmem features if explicitely requested
Sebastian Dröge [Sun, 31 Mar 2013 17:09:46 +0000 (19:09 +0200)]
design: Add the caps features and describe how the caps operations actually work
Sebastian Dröge [Sat, 30 Mar 2013 14:35:19 +0000 (15:35 +0100)]
caps: Add new data type for handling caps features to the caps
These are meant to specify features in caps that are required
for a specific structure, for example a specific memory type
or meta.
Semantically they could be though of as an extension of the media
type name of the structures and are handled exactly like that.
Tim-Philipp Müller [Sun, 31 Mar 2013 14:30:19 +0000 (15:30 +0100)]
event: add SELECT and UNSELECT stream flags for stream-start event
So demuxers can signal which audio/video/subtitle streams should
be selected by default and which should not be selected
automatically.
API: GST_STREAM_FLAG_SELECT
API: GST_STREAM_FLAG_UNSELECT
https://bugzilla.gnome.org/show_bug.cgi?id=695968
https://bugzilla.gnome.org/show_bug.cgi?id=690911
Tim-Philipp Müller [Sun, 6 Jan 2013 20:27:54 +0000 (20:27 +0000)]
event: add stream flags to stream-start event
API: gst_event_set_stream_flags()
API: gst_event_parse_stream_flags()
API: GST_STREAM_FLAG_NONE
API: GST_STREAM_FLAG_SPARSE
https://bugzilla.gnome.org/show_bug.cgi?id=600648
Sebastian Dröge [Sun, 31 Mar 2013 09:26:32 +0000 (11:26 +0200)]
element: Add API to get the last set context from an element
Elements should override GstElement::set_context() and also call
gst_element_set_context() to keep this context up-to-date with
the very latest context they internally use.
Stefan Sauer [Sat, 30 Mar 2013 13:04:28 +0000 (14:04 +0100)]
design: add initial tracing design doc
Sebastian Dröge [Sat, 30 Mar 2013 10:47:29 +0000 (11:47 +0100)]
pad: Let gst_pad_get_allowed_caps() pass the caps own caps as filter
This will reduce the number of caps created downstream and we don't
need to intersect in the very end with the pad's own caps.
Josep Torra [Sat, 30 Mar 2013 09:24:27 +0000 (10:24 +0100)]
basesink: fixes compiler warning
gstbasesink.c: In function 'gst_base_sink_chain_unlocked':
gstbasesink.c:3204: warning: 'ret' may be used uninitialized in this function
Stefan Sauer [Fri, 29 Mar 2013 18:01:59 +0000 (19:01 +0100)]
childproxy: fix gir warning
Edward Hervey [Fri, 29 Mar 2013 17:49:14 +0000 (18:49 +0100)]
Revert "pwg: Fix example"
This reverts commit
5d64f27d881274a40f0441bb8c5b3816fdfc5b9e.
*sigh*
Edward Hervey [Tue, 6 Nov 2012 08:41:58 +0000 (09:41 +0100)]
pwg: Fix example
Edward Hervey [Sun, 11 Nov 2012 12:52:25 +0000 (13:52 +0100)]
pad: Remove SEGMENT sticky events when flushing
When flushing, it is expected that upstream will send a SEGMENT
event afterwards.
This also avoids stray SEGMENT events from coming through after a
flush.
Sebastian Dröge [Thu, 28 Mar 2013 14:35:13 +0000 (15:35 +0100)]
gst: Add new GstContext miniobject for sharing contexts in a pipeline
Stefan Sauer [Thu, 28 Mar 2013 15:42:50 +0000 (16:42 +0100)]
argb-controlbinding: fix messed up property setter
This was misassigning the control sources. It was also leaking the old values if
a control source would be replaced.
Mark Nauwelaerts [Wed, 27 Mar 2013 17:25:08 +0000 (18:25 +0100)]
baseparse: reset next_pts upon SEGMENT event
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
Mark Nauwelaerts [Tue, 26 Feb 2013 18:58:49 +0000 (19:58 +0100)]
baseparse: more inter-timestamp tracking
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
Olivier Crête [Tue, 26 Mar 2013 23:22:18 +0000 (19:22 -0400)]
buffer: Add annotations and pygi friendly extraction function
API: gst_buffer_extract_dup
Wim Taymans [Wed, 27 Mar 2013 16:08:51 +0000 (17:08 +0100)]
porting: hopefully clarify a little
David Schleef [Tue, 26 Mar 2013 01:11:54 +0000 (18:11 -0700)]
Update docs for gst_pad_create_stream_id_printf()
To indicate that format strings should be alpha sortable.
Sebastian Dröge [Mon, 25 Mar 2013 08:16:05 +0000 (09:16 +0100)]
caps: Add unit test for GST_CAPS_{ANY,NONE} and GST_STATIC_CAPS_{ANY,NONE}
https://bugzilla.gnome.org/show_bug.cgi?id=696435
Sebastian Dröge [Mon, 25 Mar 2013 08:19:24 +0000 (09:19 +0100)]
caps: Fix gst_static_caps_get(GST_STATIC_CAPS_NONE)
https://bugzilla.gnome.org/show_bug.cgi?id=696435
Nicolas Dufresne [Fri, 22 Mar 2013 01:00:54 +0000 (21:00 -0400)]
basesrc: Don't send error if negotiate fails because we are flushing
Negotiation may be aborted by a flush from another thread that need to
stop the task (i.e. seek). Check that case and silently pause the task.
https://bugzilla.gnome.org/show_bug.cgi?id=696357
Tim-Philipp Müller [Sun, 24 Mar 2013 17:53:35 +0000 (17:53 +0000)]
toc: some documentation updates
Tim-Philipp Müller [Fri, 22 Mar 2013 20:02:57 +0000 (20:02 +0000)]
docs: fix typo in query function example in Plugin Writer's Guide
https://bugzilla.gnome.org/show_bug.cgi?id=696142
Jonas Holmberg [Thu, 7 Mar 2013 11:11:30 +0000 (12:11 +0100)]
tests: fix spurious failure in test_collect collectpads test
pop() in collected callback.
There were three threads in the test cases that hanged: the test thread and two
threads that push buffers. Each thread push one buffer on one pad. There are
two pads in the collectpads so the second buffer will trigger the
collect-callback.
This is what happens when the hang occurs:
The first thread pushes a buffer and initializes a cookie to the value of a
counter in the collectpads object and waits on a cond for the counter to change
and for someone to consume the buffer (i.e. _pop() it).
The second thread pushes a buffer and calls the collected callback, which
signals the cond that the test thread is waiting for.
The test thread pops both buffers (without holding any lock). Each call to
_pop() increases the counter broadcasts the condition that the first thread is
now waiting for. It then joins both threads (hangs).
The first thread wakes up and returns, since its buffer has been consumed.
The second thread starts executing again. When the callback, called by the
second thread, has returned it initializes a cookie to the value of a counter,
which has already prematurely been increased by the test thread when it popped
the buffers, and wait's on a cond for the counter to change and for someone to
consume the buffer (i.e. _pop() it). Since the buffer has already been poped
and the counter has already been increased it will be stuck forever.
https://bugzilla.gnome.org/show_bug.cgi?id=685555
Tim-Philipp Müller [Sat, 16 Mar 2013 12:05:39 +0000 (12:05 +0000)]
gst-uninstalled: remove ffmpeg libs from dynamic linker paths
We link those libs into the plugin statically, or use external
system libs, but never the internal snapshot dynamically.
Tim-Philipp Müller [Sat, 16 Mar 2013 12:00:55 +0000 (12:00 +0000)]
gst-uninstalled: add gst-editing-serves to GI_TYPELIB_PATH
So pygi can find it.
https://bugzilla.gnome.org/show_bug.cgi?id=695937
Tim-Philipp Müller [Tue, 12 Mar 2013 13:53:57 +0000 (13:53 +0000)]
utils: make sure slow GST_READ_UINT* variants don't have unexpected side effects
Fixes unit test on systems where unaligned memory access is not possible.
https://bugzilla.gnome.org/show_bug.cgi?id=695599
Wim Taymans [Tue, 5 Mar 2013 10:14:41 +0000 (11:14 +0100)]
launch: don't exit the loop on buffering in paused
When we receive a buffering message of 100% in the paused state, we exit
the event_loop and move to the PLAYING state. What should happen is that
we wait for both ASYNC-DONE and 100% buffering before continueing.
Stefan Sauer [Fri, 8 Mar 2013 12:15:32 +0000 (13:15 +0100)]
design: update controller design and add some thoughs for future stuff
Stefan Sauer [Fri, 8 Mar 2013 07:13:06 +0000 (08:13 +0100)]
docs: mention clipping of values in control-binding docs
Stefan Sauer [Fri, 8 Mar 2013 07:10:20 +0000 (08:10 +0100)]
controller: code cleanups
Use a property for accessing the control-source on the binding. Drop base_init
on the test object.
Sebastian Dröge [Thu, 7 Mar 2013 10:46:33 +0000 (11:46 +0100)]
query: gst_query_get_n_allocation_params() returns a new ref to the allocator
Stefan Sauer [Thu, 7 Mar 2013 10:35:03 +0000 (11:35 +0100)]
controller: remove a bogus test
We previously forgot to initilize the amplitde property to the default and thus it was 0.0. Therefore a default lfo controlsource returned a series of 0.0 and the test was asserting on that.
Stefan Sauer [Thu, 7 Mar 2013 08:15:14 +0000 (09:15 +0100)]
controlbinding: relax the pspec for the control-source
We can change control sources on controlbindings.
Stefan Sauer [Thu, 7 Mar 2013 08:12:59 +0000 (09:12 +0100)]
lfo: set a sensible lower boundary for the frequency
Use DBL_MIN, which is a the smalles double greater than zero that is not in
denormal format. This exposes the limit better than the runtime check.
Tim-Philipp Müller [Wed, 6 Mar 2013 23:59:28 +0000 (23:59 +0000)]
Automatic update of common submodule
From 2de221c to 04c7a1e
Stefan Sauer [Wed, 6 Mar 2013 15:40:27 +0000 (16:40 +0100)]
lfocontrolsource: init the amplitude to the default and update the docs
Sebastian Dröge [Tue, 5 Mar 2013 10:30:22 +0000 (11:30 +0100)]
gst-uninstalled: Add all the base/bad libraries and remove obsolete ones
Tim-Philipp Müller [Sun, 3 Mar 2013 16:00:11 +0000 (16:00 +0000)]
basesink: fix use of uninitialized variable
Running suite(s): GstBaseSink
==22023== Conditional jump or move depends on uninitialised value(s)
==22023== at 0x505FFCE: gst_base_sink_get_sync_times (gstbasesink.c:1936)
==22023== by 0x5068C80: gst_base_sink_do_sync (gstbasesink.c:2379)
==22023== by 0x506BCD2: gst_base_sink_default_wait_event (gstbasesink.c:2903)
==22023== by 0x50633A4: gst_base_sink_default_event (gstbasesink.c:2918)
==22023== by 0x6F5C216: gst_fake_sink_event (gstfakesink.c:383)
==22023== by 0x505F164: gst_base_sink_event (gstbasesink.c:3108)
==22023== by 0x52FA090: gst_pad_send_event_unchecked (gstpad.c:4822)
==22023== by 0x5303756: gst_pad_send_event (gstpad.c:4984)
==22023== by 0x40165B: basesink_test_gap (basesink.c:148)
Sebastian Dröge [Sun, 3 Mar 2013 11:06:36 +0000 (12:06 +0100)]
buffer: Fix memory copying logic in copy_into()
https://bugzilla.gnome.org/show_bug.cgi?id=695035
Sebastian Dröge [Sun, 3 Mar 2013 10:28:32 +0000 (11:28 +0100)]
registrychunks: Use correct print format specifiers to fix compiler warnings
David Schleef [Fri, 22 Feb 2013 22:22:01 +0000 (14:22 -0800)]
Fix misspellings of 'continuous'
David Schleef [Fri, 22 Feb 2013 22:56:49 +0000 (14:56 -0800)]
collectpads: take DTS into account
Importantly, this patch converts DTS to running time. Less importantly,
and possibly a problem for some muxers, is that it orders buffers by
DTS (if it is valid, otherwise PTS). This is generally correct, but
might be somewhat surprising to muxers.
Also note that once converted to running time, DTS can end up negative.
Stefan Sauer [Thu, 28 Feb 2013 21:59:43 +0000 (22:59 +0100)]
manual: improve the controller docs a little more
Reword some sections. Explain value mappings better.
Tim-Philipp Müller [Thu, 28 Feb 2013 19:40:32 +0000 (19:40 +0000)]
gst-uninstalled: add gst-libav to pkg-config path
Stefan Sauer [Wed, 27 Feb 2013 21:15:48 +0000 (22:15 +0100)]
seeking: add more logging for seeking
Especially add logging to error code paths.
Sebastian Dröge [Wed, 27 Feb 2013 09:09:56 +0000 (10:09 +0100)]
buffer: Gracefully handle gst_memory_copy() returning NULL without crashing
gst_buffer_copy_into() and gst_buffer_resize_range() can now fail.
Wim Taymans [Tue, 26 Feb 2013 16:33:30 +0000 (17:33 +0100)]
allocator: small internal cleanups
Rename System memory allocator to GstAllocatorSysmem and the memory to
GstMemorySystem.
Wim Taymans [Tue, 26 Feb 2013 14:37:24 +0000 (15:37 +0100)]
memory: add method to check memory type
Add a method to check if a memory was allocated from an allocator of
a given type.
API: gst_memory_is_type()
Wim Taymans [Tue, 26 Feb 2013 14:36:10 +0000 (15:36 +0100)]
docs: improve docs a little
Wim Taymans [Tue, 26 Feb 2013 14:32:25 +0000 (15:32 +0100)]
use GST_MESSAGE_DURATION_CHANGED in docs and code
Wim Taymans [Tue, 26 Feb 2013 13:40:38 +0000 (14:40 +0100)]
memory: don't unref allocator too soon
Unref the allocator *after* we have freed the memory. We also need to keep
a ref to the allocator around because following the now freed memory would
lead to crashes.
Sebastian Dröge [Tue, 26 Feb 2013 08:08:49 +0000 (09:08 +0100)]
buffer: Fix inverted logic for deciding if memory should be shared or copied
https://bugzilla.gnome.org/show_bug.cgi?id=694717
Stefan Sauer [Tue, 26 Feb 2013 06:50:13 +0000 (07:50 +0100)]
porting: mention segment accumulation in the porting guide
This needs more detail, but at least gives people a hint on the issue.
Stefan Sauer [Tue, 26 Feb 2013 06:48:35 +0000 (07:48 +0100)]
docs: s/start/done/ copy'n'paste mistake
Sebastian Dröge [Mon, 25 Feb 2013 12:57:43 +0000 (13:57 +0100)]
query: Add new API to remove allocation params and pools from the allocation query
Sebastian Dröge [Mon, 25 Feb 2013 12:24:33 +0000 (13:24 +0100)]
query: Document that the first allocator in the allocation query should allow mapping to system memory
Sebastian Dröge [Sun, 24 Feb 2013 08:24:26 +0000 (09:24 +0100)]
memory: Keep a reference to the allocator
Otherwise the allocator might get freed while it's still used
by the memory
Sebastian Dröge [Sun, 24 Feb 2013 08:33:03 +0000 (09:33 +0100)]
buffer: If sharing a GstMemory fails, fall back to copying it
Tim-Philipp Müller [Sat, 23 Feb 2013 18:36:15 +0000 (18:36 +0000)]
docs: porting-to-1.0.txt: some element names have changed
Sebastian Dröge [Sat, 23 Feb 2013 07:19:48 +0000 (08:19 +0100)]
memory: It's contiguous, not continous
Sebastian Dröge [Fri, 22 Feb 2013 11:41:09 +0000 (12:41 +0100)]
memory: Add new memory flag to specify that memory can't be mapped
Sebastian Dröge [Fri, 22 Feb 2013 08:02:22 +0000 (09:02 +0100)]
memory: Add memory flag to mark physically continous memory
Tim-Philipp Müller [Sat, 16 Feb 2013 23:02:21 +0000 (23:02 +0000)]
basetransform: don't pass NULL outcaps to transform_size on shutdown
gst_pad_get_current_caps() on the source pad might yield NULL caps
if we're being shut down and the source pad has already been
deactivated by the other thread that's changing state. Just bail
out in that case, instead of passing NULL caps to the transform_size
function, which it might not expect.
Fixes spurious warnings in audioresample shutdown unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=693996
Sebastian Dröge [Thu, 21 Feb 2013 09:18:14 +0000 (10:18 +0100)]
gst-uninstalled: Add ORC
Tim-Philipp Müller [Tue, 19 Feb 2013 18:00:48 +0000 (18:00 +0000)]
utils: avoid unexpected side-effects of GST_WRITE_* macros
Make sure the data argument is only evaluated once.
Tim-Philipp Müller [Tue, 19 Feb 2013 17:36:50 +0000 (17:36 +0000)]
check: add some more fail_unless_*() macros for convenience
API: fail_unless_equals_int_hex
API: assert_equals_int_hex
API: fail_unless_equals_int64_hex
API: assert_equals_int64_hex
API: fail_unless_equals_uint64_hex
API: assert_equals_uint64_hex
API: fail_unless_equals_pointer
API: assert_equals_pointer
Tim-Philipp Müller [Tue, 19 Feb 2013 12:42:32 +0000 (12:42 +0000)]
scripts: add new -base allocators library to gst-uninstalled search paths
Stefan Sauer [Mon, 18 Feb 2013 19:47:04 +0000 (20:47 +0100)]
collectpads: add two more tests using collectpads within an element
Add a static plugin with a rudimentary element using collectpads and do some
pipeline based tests.
David Schleef [Sun, 17 Feb 2013 20:50:03 +0000 (12:50 -0800)]
docs: Fix some ambiguous wording
Stefan Sauer [Sun, 17 Feb 2013 18:53:55 +0000 (19:53 +0100)]
triggercontrolsource: add missing end_iter check for sequence
Avoid accessing the end-iter, this is a marker without a data field.
Stefan Sauer [Sun, 17 Feb 2013 12:20:20 +0000 (13:20 +0100)]
docs: link to the appropriate messages from gst_elements_set_state() docs
For an async state change return one would wait for ASYNC_DONE or STATE_CHANGED.
Tim-Philipp Müller [Sat, 16 Feb 2013 14:20:06 +0000 (14:20 +0000)]
buffer: add since marker for new COPY_DEEP buffer flag
Wim Taymans [Sat, 16 Feb 2013 13:59:02 +0000 (14:59 +0100)]
buffer: add option to deep copy a buffer
Add a buffer copy flag to force a memory copy in all cases.
Tim-Philipp Müller [Thu, 14 Feb 2013 14:09:13 +0000 (14:09 +0000)]
Revert "utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()"
This reverts commit
1a1a9e143fb0e155d7627aa8e489cd5d04bc093c.
This breaks the pipelines/tagschecking unit test for some reason
(fakesrc ! capsfilter ! qtmux linking fails now). It might be
a bug in the unit test of course, but someone will need to
investigate this. Reverting for now.
https://bugzilla.gnome.org/show_bug.cgi?id=692508
Wim Taymans [Fri, 15 Feb 2013 12:08:18 +0000 (13:08 +0100)]
allocator: improve fallback copy function
Only use the allocator of the copied memory when we can use the default
_alloc function on it. Otherwise we will have to use the default
allocator for the copy.