Руслан Ижбулатов [Mon, 8 Apr 2013 09:14:35 +0000 (13:14 +0400)]
configure: Also check for clock_gettime in libpthread
libwinpthreads provides POSIX time API.
It also provides libpthread alias for itself, for compatibility, so that
is what we will link with.
Fixes #697550
Руслан Ижбулатов [Mon, 8 Apr 2013 11:30:07 +0000 (15:30 +0400)]
clock: Do use HAVE_CLOCK_GETTIME
Fixes #697549
Руслан Ижбулатов [Mon, 8 Apr 2013 10:42:15 +0000 (14:42 +0400)]
libsabi: Special struct size values for W32
These account for both possible type size mismatch AND -mms-bitfields
packing. Sizes are taken from an i686-w64-mingw32-built GStreamer,
gcc 4.8.0, mingw-w64 svn-r5685.
Fixes #697551
Руслан Ижбулатов [Tue, 9 Apr 2013 05:22:39 +0000 (09:22 +0400)]
tests: fix GstPad test on windows and in CK_FORK=no mode
Need to clear buffer lists at the end of each test.
https://bugzilla.gnome.org/show_bug.cgi?id=697610
David Schleef [Sat, 6 Apr 2013 23:09:54 +0000 (16:09 -0700)]
gst-launch: Fix space in fault message
Sebastian Dröge [Sat, 6 Apr 2013 20:10:58 +0000 (22:10 +0200)]
capsfeatures: Copy ANY flag when copying caps features too
Sebastian Dröge [Sat, 6 Apr 2013 19:49:25 +0000 (21:49 +0200)]
caps: Handle ANY caps features properly in more places
Sebastian Dröge [Sat, 6 Apr 2013 19:21:39 +0000 (21:21 +0200)]
caps: Add test for operations on caps with ANY features
Sebastian Dröge [Sat, 6 Apr 2013 19:09:49 +0000 (21:09 +0200)]
caps: Properly handle ANY caps features in caps operations
Stefan Sauer [Fri, 5 Apr 2013 19:10:48 +0000 (21:10 +0200)]
bus: update signal docs for gst_bus_enable_sync_message_emission()
Wim Taymans [Fri, 5 Apr 2013 08:15:37 +0000 (10:15 +0200)]
multiqueue: ignore empty not-linked queues
We need to ignore the not-linked queues in the underrun and overrun callbacks
because they are expected to be empty.
Tim-Philipp Müller [Thu, 4 Apr 2013 22:12:52 +0000 (23:12 +0100)]
caps: fix caps feature leak
Fixes leaks in 14 core unit tests including
gst/gstcaps.
Wim Taymans [Thu, 4 Apr 2013 17:16:23 +0000 (19:16 +0200)]
multiqueue: start pushing again on RECONFIGURE
When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
again on the source pad.
See https://bugzilla.gnome.org/show_bug.cgi?id=676304
Wim Taymans [Thu, 4 Apr 2013 17:07:29 +0000 (19:07 +0200)]
queue2: start pushing again on RECONFIGURE
When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
again on the source pad.
See https://bugzilla.gnome.org/show_bug.cgi?id=676304
Wim Taymans [Thu, 4 Apr 2013 17:06:35 +0000 (19:06 +0200)]
queue: start pushing again on RECONFIGURE
When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
again on the source pad.
See https://bugzilla.gnome.org/show_bug.cgi?id=676304
Wim Taymans [Thu, 4 Apr 2013 15:59:10 +0000 (17:59 +0200)]
structure: simplify is_subset check
Iterate over the fields of the superset instead of those of the subset.
This way we can check the presence of the subset field and do the subset check
in one iteration.
Wim Taymans [Thu, 4 Apr 2013 15:46:09 +0000 (17:46 +0200)]
caps: update docs, is_subset() works now
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