Tim-Philipp Müller [Thu, 30 Oct 2014 23:14:59 +0000 (23:14 +0000)]
tests: fix out-of-bounds memory access in bytereader unit test
Caught by -fsanitize=address / libasan.
https://bugzilla.gnome.org/show_bug.cgi?id=739431
Tim-Philipp Müller [Tue, 28 Oct 2014 19:16:52 +0000 (19:16 +0000)]
gst: make gst_init() thread-safe
Because we can, and there isn't really any
reason not to do so.
Tim-Philipp Müller [Tue, 28 Oct 2014 09:28:28 +0000 (09:28 +0000)]
tests: fdsrc: don't ignore return value of write()
Causes compiler warnings on some systems.
Tim-Philipp Müller [Tue, 28 Oct 2014 00:04:05 +0000 (00:04 +0000)]
tests: fix fdsrc test corner case
Make pipe socket non-blocking, so we don't
end up being blocked in a write on the pipe
while the src is eos and not reading data
any more, and thus we never unblock and never
notice that we're done. This would happen
quite reliably on the rpi.
Sebastian Dröge [Mon, 27 Oct 2014 16:56:15 +0000 (17:56 +0100)]
Automatic update of common submodule
From
84d06cd to
7bb2bce
Arun Raghavan [Sat, 25 Oct 2014 11:45:42 +0000 (17:15 +0530)]
debugutils: Trivial typo fix
Tim-Philipp Müller [Fri, 24 Oct 2014 11:51:07 +0000 (12:51 +0100)]
basesink: don't unlock mutex that is not locked
Fixes 'Attempt to unlock mutex that was not locked'
warning with newer GLibs when sink is shut down in
certain situations. Triggered by the decodebin
test_reuse_without_decoders unit test in -base
sometimes, esp. on slower machines.
Tim-Philipp Müller [Wed, 22 Oct 2014 17:25:26 +0000 (18:25 +0100)]
win32: update .def for new _get_type() function for GstControlPoint
https://bugzilla.gnome.org/show_bug.cgi?id=737616
Thibault Saunier [Mon, 29 Sep 2014 19:10:14 +0000 (21:10 +0200)]
timedvaluecontrolsource: Add some signals about values changes
In order for user to be able to track changes in the value set in
GstTimedValueControlSource the following signals have been added:
* value-added
* value-removed
* value-changed
To be able to use a GstControlPoint to be marshalled into the signals,
the GstControlPoint structure is now registerd as a GBoxed type.
New API:
~~~~~~~
* GstTimedValueControlSource::value-added
* GstTimedValueControlSource::value-removed
* GstTimedValueControlSource::value-added
https://bugzilla.gnome.org/show_bug.cgi?id=737616
Tim-Philipp Müller [Tue, 21 Oct 2014 12:01:00 +0000 (13:01 +0100)]
Automatic update of common submodule
From
a8c8939 to
84d06cd
Tim-Philipp Müller [Tue, 21 Oct 2014 11:18:33 +0000 (12:18 +0100)]
message: remove duplicate gst_message_get_type() in init
Spotted by: Jan Steffens
Stefan Sauer [Tue, 21 Oct 2014 10:57:45 +0000 (12:57 +0200)]
Automatic update of common submodule
From
6e75498 to
a8c8939
Stefan Sauer [Mon, 20 Oct 2014 14:39:38 +0000 (16:39 +0200)]
identity: include the actual delta in the message
Including the actual delta in the message makes it easy to see, if the new
buffer is behind or ahead and how much.
Jan Schmidt [Sat, 18 Oct 2014 07:43:43 +0000 (18:43 +1100)]
gstvalue: Tidy initialisation
Use some macros to make our value functions setup a bit
tidier, and micro-optimise a few reallocs by setting an
initial size for the global type arrays.
Jan Schmidt [Sat, 18 Oct 2014 06:27:04 +0000 (17:27 +1100)]
gst-indent: Run indent twice. Once is not idempotent, twice seems to be.
Andrei Sarakeev [Thu, 16 Oct 2014 06:13:14 +0000 (10:13 +0400)]
multiqueue: Wake up any waiting streams if the current one goes EOS
Otherwise we might have unlinked streams waiting.
https://bugzilla.gnome.org/show_bug.cgi?id=738198
Stefan Sauer [Fri, 17 Oct 2014 10:41:04 +0000 (12:41 +0200)]
typefind: simplify registration code
Remove a useless assert (we just instantiated this type). Drop the free'ing of
the extension array. As we just created the instance this is always NULL.
Felix Schwarz [Thu, 16 Oct 2014 08:55:36 +0000 (10:55 +0200)]
docs: pwd: fix typos
https://bugzilla.gnome.org/show_bug.cgi?id=738612
Linus Svensson [Sat, 11 Oct 2014 17:28:21 +0000 (19:28 +0200)]
tests: Add a test for removing a bus watch
https://bugzilla.gnome.org/show_bug.cgi?id=735195
Linus Svensson [Tue, 19 Aug 2014 21:28:52 +0000 (23:28 +0200)]
bus: Add a function to remove a bus watch
If a bus watch is added to the non default main context it's not
possible to remove it using g_source_remove().
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=735195
Arun Raghavan [Wed, 8 Oct 2014 17:21:56 +0000 (22:51 +0530)]
docs: Update GstQOSType documentation a bit
Correction for who is producing data too fast, and some other minor
clarifications.
https://bugzilla.gnome.org/show_bug.cgi?id=738166
Guillaume Desmottes [Wed, 8 Oct 2014 14:03:20 +0000 (16:03 +0200)]
docs: pwg: fix two typos
https://bugzilla.gnome.org/show_bug.cgi?id=738153
Guillaume Desmottes [Wed, 8 Oct 2014 13:37:37 +0000 (15:37 +0200)]
docs: pwg: fix typo in 'Dynamic negotiation' section
The point of this example is to show how to set caps
on the source pad once it has been set on the sink pad.
So, in passthrough mode, the caps is just copied to the
source pad.
https://bugzilla.gnome.org/show_bug.cgi?id=738153
Aleix Conchillo Flaqué [Wed, 8 Oct 2014 16:37:41 +0000 (09:37 -0700)]
multiqueue: don't lock multiqueue when pushing serialized queries
If we are pushing a serialized query into a queue and the queue is
filled, we will end in a deadlock. We need to release the lock before
pushing and acquire it again afterward.
https://bugzilla.gnome.org/show_bug.cgi?id=737794
Jan Schmidt [Tue, 7 Oct 2014 14:33:51 +0000 (01:33 +1100)]
collectpads: Use GST_PTR_FORMAT in debug to output buffer details
Use %GST_PTR_FORMAT instead of %p in debug output so all the buffer
details are output
Nicolas Huet [Mon, 6 Oct 2014 11:38:21 +0000 (13:38 +0200)]
systemclock: fix multi-thread entry status issue
Running two threads, one executing the timer and one unscheduling it, the
unscheduled status set by the second thread is sometimes overwritten by the
first one.
https://bugzilla.gnome.org/show_bug.cgi?id=737999
Tim-Philipp Müller [Fri, 3 Oct 2014 13:04:58 +0000 (14:04 +0100)]
inputselector: fix compilation
Stefan Sauer [Fri, 3 Oct 2014 12:44:48 +0000 (14:44 +0200)]
input-selector: extract some common code into helpers
Stefan Sauer [Fri, 3 Oct 2014 12:01:59 +0000 (14:01 +0200)]
input-selector: small code cleanups
Rename TIMESTAMP -> PTS. Move a var down to the scope where it is used. Use
g_queue_free_full().
Stefan Sauer [Fri, 3 Oct 2014 11:47:42 +0000 (13:47 +0200)]
inputselector: fix printf format
The padcount is uint. Also add comments to the instance vars.
Matej Knopp [Thu, 2 Oct 2014 01:30:24 +0000 (03:30 +0200)]
baseparse: don't leak caps in gst_base_parse_process_streamheader
https://bugzilla.gnome.org/show_bug.cgi?id=737762
Matej Knopp [Fri, 3 Oct 2014 11:14:25 +0000 (13:14 +0200)]
tests: baseparse: set_sink_caps vfunc should't take ownership of the caps
https://bugzilla.gnome.org/show_bug.cgi?id=737762
Luis de Bethencourt [Fri, 3 Oct 2014 08:57:37 +0000 (09:57 +0100)]
fakesrc: mark the pattern property as unused
Revert the previous commit which removes the pattern property of fakesrc because
doing so will break ABI. Bringing the property back but marking it as unused
in the property string.
https://bugzilla.gnome.org/show_bug.cgi?id=737683
Tim-Philipp Müller [Fri, 3 Oct 2014 08:01:15 +0000 (09:01 +0100)]
Revert "baseparse: don't leak caps in gst_base_parse_process_streamheader"
This reverts commit
5e8b4bf085180f7a4c7ae6ec0f525baeaedd4df8.
This causes refcounting criticals in the baseparse unit test.
Luis de Bethencourt [Thu, 2 Oct 2014 12:45:34 +0000 (13:45 +0100)]
fakesrc: removing unused pattern option
Eventhough the "pattern" property of fakesrc can be set, it is never used. The
only pattern supported is the default 0x00 -> 0xff, and if a pattern is set by
the user it is ignored. Removing the unused property and variable.
https://bugzilla.gnome.org/show_bug.cgi?id=737683
Sebastian Dröge [Thu, 2 Oct 2014 11:55:22 +0000 (14:55 +0300)]
queue: Add missing break in switch
Sebastian Dröge [Thu, 2 Oct 2014 08:00:32 +0000 (11:00 +0300)]
queue: update segment position on GAP events to calculate levels properly
https://bugzilla.gnome.org/show_bug.cgi?id=737498
Sebastian Dröge [Thu, 2 Oct 2014 07:57:43 +0000 (10:57 +0300)]
queue2: update segment position on GAP events to calculate levels properly
https://bugzilla.gnome.org/show_bug.cgi?id=737498
Matej Knopp [Sat, 27 Sep 2014 18:10:34 +0000 (20:10 +0200)]
multiqueue: update segment position on GAP events to calculate levels properly
https://bugzilla.gnome.org/show_bug.cgi?id=737498
Matej Knopp [Thu, 2 Oct 2014 01:30:24 +0000 (03:30 +0200)]
baseparse: don't leak caps in gst_base_parse_process_streamheader
https://bugzilla.gnome.org/show_bug.cgi?id=737762
Sebastian Dröge [Thu, 2 Oct 2014 07:13:28 +0000 (10:13 +0300)]
capsfilter: Push pending events before a buffer also if upstream never configured caps but we have srcpad caps already
Otherwise we never send pending events downstream that arrive after we
configured caps on the srcpad.
https://bugzilla.gnome.org/show_bug.cgi?id=737735
Sebastian Dröge [Mon, 29 Sep 2014 14:48:29 +0000 (17:48 +0300)]
uri: Don't unconditionally use g_list_copy_deep()
We don't depend on GLib 2.34 yet and just for this seems a bit useless.
https://bugzilla.gnome.org/show_bug.cgi?id=737584
Sebastian Dröge [Mon, 29 Sep 2014 13:22:47 +0000 (16:22 +0300)]
uri: Include our own BSD licensed copy of strcasestr() for Windows and others
Sebastian Dröge [Mon, 29 Sep 2014 12:54:37 +0000 (15:54 +0300)]
uri: Fix compiler warnings with gcc
These are actually not true.
gsturi.c: In function '_gst_uri_string_to_table.constprop':
gsturi.c:1316:27: error: 'pct_kv_sep' may be used uninitialized in this function [-Werror=maybe-uninitialized]
for (next_sep = strcasestr (value, pct_kv_sep); next_sep;
^
gsturi.c:1283:24: error: 'pct_part_sep' may be used uninitialized in this function [-Werror=maybe-uninitialized]
next_sep = strcasestr (next_sep + 1, pct_part_sep)) {
^
Sebastian Dröge [Mon, 29 Sep 2014 09:19:35 +0000 (12:19 +0300)]
uri: Fix memory leak in gst_uri_join()
The merged path segments are a deep-copied list and we need to free the
contained strings too instead of just the list nodes themselves.
David Waring [Thu, 31 Jul 2014 21:18:53 +0000 (22:18 +0100)]
GstUri: Add GstUri miniobject to handle URIs in an RFC 3986 compliant fashion
https://bugzilla.gnome.org/show_bug.cgi?id=725221
Tim-Philipp Müller [Sat, 27 Sep 2014 12:57:42 +0000 (13:57 +0100)]
scripts: add gst-rpicamsrc to gst-uninstalled
Stefan Sauer [Thu, 25 Sep 2014 19:21:09 +0000 (21:21 +0200)]
fixme: bump leftover 0.11 fixme comments
Stefan Sauer [Thu, 25 Sep 2014 19:04:23 +0000 (21:04 +0200)]
event: 'newsegment' to 'segment' in the docs
Brings the api-docs in sync with the 1.0 api rename.
Stefan Sauer [Thu, 25 Sep 2014 18:23:31 +0000 (20:23 +0200)]
basesrc: move the quick return up
Don't assign local vars if we skip anyway. Add logging for failure conditio
Tim-Philipp Müller [Thu, 25 Sep 2014 18:01:52 +0000 (19:01 +0100)]
tests: parallelise 'make valgrind'
Use $(MAKE) instead of 'make' inside the Makefile,
otherwise the make will run as if -j1 had been
specified and complain about the job server not
being available, and with $(MAKE) in inherits the
parent make's settings it seems.
Upgrade common submodule for parallel check-valgrind.
Let this settle a bit before upgrading the other modules.
Tim-Philipp Müller [Thu, 25 Sep 2014 17:57:32 +0000 (18:57 +0100)]
win32: update .def file
It's sorted. If it's unsorted, make check-exports fails.
Tim-Philipp Müller [Thu, 25 Sep 2014 17:55:03 +0000 (18:55 +0100)]
info: remove confusing warning about running under valgrind
We're not actually doing anything differently anywhere when
we detect that we're running under valgrind, so let's not
print that confusing message that makes people wonder how
they can switch it off so they can valgrind the normal
code paths. Seeing that we're not doing that nor have done
so in the last 10 years we might just as well remove the
entire check actually.
Tim-Philipp Müller [Thu, 25 Sep 2014 15:21:51 +0000 (16:21 +0100)]
tests: fix caps leak in baseparse unit test
Jonas Holmberg [Thu, 25 Sep 2014 12:54:23 +0000 (14:54 +0200)]
flowcombiner: add a gst_flow_combiner_clear() method
https://bugzilla.gnome.org/show_bug.cgi?id=737359
API: gst_flow_combiner_clear()
Thibault Saunier [Wed, 24 Sep 2014 08:11:54 +0000 (10:11 +0200)]
scripts: Handle gst-python in gst-uninstalled
https://bugzilla.gnome.org/show_bug.cgi?id=709082
Thibault Saunier [Tue, 3 Jun 2014 12:23:30 +0000 (14:23 +0200)]
capsfilter: Remove EOS event from pending_event list on FLUSH_STOP
https://bugzilla.gnome.org/show_bug.cgi?id=709868
William Manley [Mon, 22 Sep 2014 13:27:05 +0000 (14:27 +0100)]
docs: Fix GstBuffer typo "memory bock" -> "memory block"
https://bugzilla.gnome.org/show_bug.cgi?id=737117
William Manley [Mon, 22 Sep 2014 16:27:31 +0000 (17:27 +0100)]
docs: Improve gst_buffer_get_meta() to clear up confusion
I was confused by the existence of `gst_buffer_get_meta` as it suggested
to me that you should only attach one of any type of GstMeta to a buffer.
It's perfectly fine to attach multiple from a single API so I'm
documenting that here.
https://bugzilla.gnome.org/show_bug.cgi?id=737129
Marcin Kolny [Mon, 22 Sep 2014 17:05:32 +0000 (19:05 +0200)]
datetime: added missing include directives
https://bugzilla.gnome.org/show_bug.cgi?id=737133
Thibault Saunier [Tue, 23 Sep 2014 12:31:29 +0000 (14:31 +0200)]
queue: Do not forget to release the QUEUE_LOCK in the out_flow_error path
Avoiding deadlocks!
Stefan Sauer [Tue, 23 Sep 2014 10:53:18 +0000 (12:53 +0200)]
docs: fix a small contradition in the docs
The vmethod get_size() shall return the size in 'format' as configured by
_set_format().
Thibault Saunier [Mon, 22 Sep 2014 07:33:04 +0000 (09:33 +0200)]
queue: Do not hold GST_QUEUE_LOCK while posting ERROR messages
This might create deadlocks and we need to avoid holding element
specific lock while posting messages
For example a deadlock will happen if while posting the message,
someone connected on the bus (sync) tries to DOT the pipeline.
https://bugzilla.gnome.org/show_bug.cgi?id=737102
Thiago Santos [Fri, 19 Sep 2014 15:02:46 +0000 (12:02 -0300)]
queue2: do not post buffering messages holding the lock
It might cause deadlocks to post messages while holding the queue2
lock. To avoid this a new boolean flag is set whenever a new
buffering percent is found. The message is posted after the lock
is released.
To make sure the buffering messages are posted in the right order, messages
are posted holding another lock. This prevents 2 threads trying to post
messages at the same time.
https://bugzilla.gnome.org/show_bug.cgi?id=736969
Ravi Kiran K N [Fri, 19 Sep 2014 04:12:10 +0000 (09:42 +0530)]
gsturi: Remove unnecessary code
gst_uri_handler_set_uri() function has new_uri, location and colon
are not necessary, they can be removed.
https://bugzilla.gnome.org/show_bug.cgi?id=736877
Tim-Philipp Müller [Thu, 18 Sep 2014 23:33:58 +0000 (00:33 +0100)]
docs: pwg: fix some links to the API docs
https://bugzilla.gnome.org/show_bug.cgi?id=736762
Tim-Philipp Müller [Thu, 18 Sep 2014 17:55:47 +0000 (18:55 +0100)]
filesrc: remove FIXME
https://bugzilla.gnome.org/show_bug.cgi?id=735878
Olivier Crête [Thu, 18 Sep 2014 01:49:18 +0000 (21:49 -0400)]
gst: Fix spelling error
Thank to Adrian Owen for reporting this error.
https://bugzilla.gnome.org/show_bug.cgi?id=736839
Ognyan Tonchev [Wed, 17 Sep 2014 15:17:10 +0000 (17:17 +0200)]
typefindelement: do not leak sticky events in flush_stop
https://bugzilla.gnome.org/show_bug.cgi?id=736813
Stefan Sauer [Fri, 12 Sep 2014 12:42:23 +0000 (14:42 +0200)]
info: avoid global variable for log_file
Use user_data to pass the log_file handle to the logger-function.
If one wants to change the log target (e.g. GST_DEBUG_FILE), simply call
gst_debug_remove_log_function() and re-add the handler with the new log-target
using gst_debug_add_log_function ().
Ognyan Tonchev [Tue, 16 Sep 2014 11:48:18 +0000 (13:48 +0200)]
event: add annotations to gst_event_parse_toc_select()
https://bugzilla.gnome.org/show_bug.cgi?id=736739
Thiago Santos [Thu, 11 Sep 2014 21:01:58 +0000 (18:01 -0300)]
multiqueue: do not post messages holding the lock
It might cause deadlocks to post messages while holding the multiqueue
lock. To avoid this a new boolean flag is set whenever a new buffering percent
is found. The message is posted after the lock can be released.
To make sure the buffering messages are posted in the right order, messages
are posted holding another lock. This prevents 2 threads trying to post
messages at the same time.
https://bugzilla.gnome.org/show_bug.cgi?id=736295
Wim Taymans [Tue, 16 Sep 2014 14:07:40 +0000 (16:07 +0200)]
docs: fix typo
Ognyan Tonchev [Tue, 16 Sep 2014 10:17:48 +0000 (12:17 +0200)]
query: Add annotations to gst_query_add_allocation_pool()
https://bugzilla.gnome.org/show_bug.cgi?id=736736
Aurélien Zanelli [Mon, 15 Sep 2014 14:38:17 +0000 (16:38 +0200)]
basesrc: handle reference in set_allocation rather than in prepare_allocation
Otherwise we can forget to unref objects in error cases.
https://bugzilla.gnome.org/show_bug.cgi?id=736680
Sebastian Dröge [Mon, 15 Sep 2014 10:06:40 +0000 (13:06 +0300)]
check: Use the name parameter of gst_check_setup_src_pad_by_name() and the sink variant
This was hardcoded to "sink" / "src" by accident in previous refactoring.
Tim-Philipp Müller [Sat, 13 Sep 2014 19:12:52 +0000 (20:12 +0100)]
coreelements: mark properties with MUTABLE_PLAYING
Thibault Saunier [Thu, 11 Sep 2014 13:52:32 +0000 (15:52 +0200)]
check: Add a function to check destruction of objects
Add a method letting people to ensure that unreffing one object
leads to its destruction, and possibly the destruction of more object
(think destruction of a GstBin etc...).
https://bugzilla.gnome.org/show_bug.cgi?id=736477
Tim-Philipp Müller [Fri, 12 Sep 2014 13:10:40 +0000 (14:10 +0100)]
tools: gst-inspect: don't list pad functions
Don't print all the different pad functions, it's just
confusing and no one has ever needed to know this for
anything ever anyway, it's just useless information.
Besides, we also label the default implementations as
'custom' implementations (the code that tries to
prevent that doesn't actually work it seems).
https://bugzilla.gnome.org/show_bug.cgi?id=736377
Sebastian Dröge [Fri, 12 Sep 2014 12:22:19 +0000 (15:22 +0300)]
pad: Make sure the buffer to get/pull_range() has at least the requested size
https://bugzilla.gnome.org/show_bug.cgi?id=735861
Tiago [Fri, 5 Sep 2014 18:36:02 +0000 (18:36 +0000)]
check: Adding documentation to the gst_check_setup_sink_pad_by_name function
https://bugzilla.gnome.org/show_bug.cgi?id=734190
Ognyan Tonchev [Wed, 10 Sep 2014 12:53:00 +0000 (14:53 +0200)]
query: add annotations to gst_query_set_nth_allocation_pool()
https://bugzilla.gnome.org//show_bug.cgi?id=736424
Rémi Lefèvre [Thu, 11 Sep 2014 07:35:17 +0000 (09:35 +0200)]
valve: fix typo in description
https://bugzilla.gnome.org/show_bug.cgi?id=736455
Tim-Philipp Müller [Tue, 9 Sep 2014 19:43:02 +0000 (20:43 +0100)]
baseparse: minor docs fix
Tim-Philipp Müller [Wed, 3 Sep 2014 16:38:16 +0000 (17:38 +0100)]
devicemonitor: fix typo in sample code in docs
https://bugzilla.gnome.org/show_bug.cgi?id=735975
Wim Taymans [Mon, 25 Aug 2014 09:34:48 +0000 (11:34 +0200)]
tests: add flush-stop on inactive pad test
Check that pushing flush-stop on an inactive pad does not clear the
flushing flag.
Wim Taymans [Thu, 21 Aug 2014 13:49:17 +0000 (15:49 +0200)]
pad: don't accept flush-stop on inactive pads
Inactive pads should at all times have the flushing flag set. This means
that when we get a flush-stop on an inactive pad we must ignore it.
On sinkpads, make this more explicit. We used to not clear the flush
flag but remove the events and then return an error because the flushing
flag was set. Now just simply refuse the event without doing anything.
On srcpads, check that we are trying to push a flush-stop event and
refuse it. We would allow this and mark the srcpad as non-flushing
anymore.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=735357
Ravi Kiran K N [Wed, 27 Aug 2014 11:36:57 +0000 (17:06 +0530)]
output-selector: Send all events to active src pad and EOS to all src pads
Fixes tests/icles/output-selector-test
https://bugzilla.gnome.org/show_bug.cgi?id=729811
Guillaume Desmottes [Thu, 28 Aug 2014 15:24:56 +0000 (17:24 +0200)]
manual: fix typo in advanced-dataaccess.xml
https://bugzilla.gnome.org/show_bug.cgi?id=735609
Arnaud Vrac [Tue, 26 Aug 2014 18:14:40 +0000 (20:14 +0200)]
buffer: do not touch memory tag flag when copying buffer flags
The tag memory flag will be set later if the memory is also copied. This
patch avoids buffers being freed needlessly in bufferpools.
https://bugzilla.gnome.org/show_bug.cgi?id=735574
Linus Svensson [Tue, 15 Jul 2014 14:06:49 +0000 (16:06 +0200)]
bus: gst_bus_add_watch() can return 0 on error
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=735195
Thiago Santos [Mon, 25 Aug 2014 16:44:30 +0000 (13:44 -0300)]
baseparse: handle streamheaders by prepending them to the stream
Add a first_buffer boolean state flag to have baseparse do actions
before pushing data. This is used to check the caps for streamheader
buffers that are prepended to the stream, but only if the first buffer
isn't already marked with the _HEADER flag. In this case, it is assumed
that the _HEADER marked buffer is the same as the streamheader.
https://bugzilla.gnome.org/show_bug.cgi?id=735070
Sebastian Dröge [Wed, 27 Aug 2014 08:01:01 +0000 (11:01 +0300)]
concat: Allow seeking on the currently playing stream
This is consistent with the stream time reporting.
Tim-Philipp Müller [Sat, 23 Aug 2014 11:24:27 +0000 (12:24 +0100)]
pad: add g-i 'transfer full' annotations to chain and chain_list functions
https://bugzilla.gnome.org/show_bug.cgi?id=735210
Guillaume Desmottes [Fri, 22 Aug 2014 08:32:38 +0000 (10:32 +0200)]
pad: annotate GstPadEventFunction event with 'transfer full'
The callback is supposed to take ownership of the event so
best to be explicit about it.
https://bugzilla.gnome.org/show_bug.cgi?id=735210
Linus Svensson [Wed, 20 Aug 2014 10:55:51 +0000 (12:55 +0200)]
tests: add test that triggers deadlock in state change of queue
When receiving FLASH_STOP in a state transition to READY, a queue
element can end up with an active task that will never end.
https://bugzilla.gnome.org/show_bug.cgi?id=734688
Tim-Philipp Müller [Thu, 21 Aug 2014 13:02:16 +0000 (14:02 +0100)]
queue: fix race when flush-stop event comes in whilst shutting down
Don't re-start the queue push task on the source pad when a
flush-stop event comes in and we're in the process of shutting
down, otherwise that task will never be stopped again.
When the element is set to READY state, the pads get de-activated.
The source pad gets deactivated before the queue's own activate_mode
function on the source pads gets called (which will stop the thread),
so checking whether the pad is active before re-starting the task on
receiving flush-stop should be fine. The problem would happen when the
flush-stop handler was called just after the queue's activate mode
function had stopped the task.
Spotted and debugged by Linus Svensson <linux.svensson@axis.com>
https://bugzilla.gnome.org/show_bug.cgi?id=734688
Tim-Philipp Müller [Wed, 6 Aug 2014 13:01:09 +0000 (14:01 +0100)]
bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
Adds API to get or peek a sub-reader of a certain size from
a given byte reader. This is useful when parsing nested chunks,
one can easily get a byte reader for a sub-chunk and make
sure one never reads beyond the sub-chunk boundary.
API: gst_byte_reader_peek_sub_reader()
API: gst_byte_reader_get_sub_reader()
Aurélien Zanelli [Fri, 25 Jul 2014 14:39:40 +0000 (16:39 +0200)]
docs: make explicit that the caps passed to gst_base_src_set_caps() are 'tranfer none'
https://bugzilla.gnome.org/show_bug.cgi?id=733741
Thiago Santos [Thu, 14 Aug 2014 21:53:40 +0000 (18:53 -0300)]
inputselector: always proxy caps query
Otherwise it would only be proxied for the active pad which can lead
upstream to use an incompatible caps for the downstream element.
Even if a reconfigure event is sent upstream when the pad is activated, this
will save the caps reconfiguration if it is already using an acceptable caps.