platform/upstream/gstreamer.git
9 years agogst: Fix spelling error
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

9 years agotypefindelement: do not leak sticky events in flush_stop
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

9 years agoinfo: avoid global variable for log_file
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 ().

9 years agoevent: add annotations to gst_event_parse_toc_select()
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

9 years agomultiqueue: do not post messages holding the lock
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

9 years agodocs: fix typo
Wim Taymans [Tue, 16 Sep 2014 14:07:40 +0000 (16:07 +0200)]
docs: fix typo

9 years agoquery: Add annotations to gst_query_add_allocation_pool()
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

9 years agobasesrc: handle reference in set_allocation rather than in prepare_allocation
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

9 years agocheck: Use the name parameter of gst_check_setup_src_pad_by_name() and the sink variant
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.

9 years agocoreelements: mark properties with MUTABLE_PLAYING
Tim-Philipp Müller [Sat, 13 Sep 2014 19:12:52 +0000 (20:12 +0100)]
coreelements: mark properties with MUTABLE_PLAYING

9 years agocheck: Add a function to check destruction of objects
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

9 years agotools: gst-inspect: don't list pad functions
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

9 years agopad: Make sure the buffer to get/pull_range() has at least the requested size
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

9 years agocheck: Adding documentation to the gst_check_setup_sink_pad_by_name function
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

9 years agoquery: add annotations to gst_query_set_nth_allocation_pool()
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

9 years agovalve: fix typo in description
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

9 years agobaseparse: minor docs fix
Tim-Philipp Müller [Tue, 9 Sep 2014 19:43:02 +0000 (20:43 +0100)]
baseparse: minor docs fix

9 years agodevicemonitor: fix typo in sample code in docs
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

9 years agotests: add flush-stop on inactive pad test
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.

9 years agopad: don't accept flush-stop on inactive pads
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

9 years agooutput-selector: Send all events to active src pad and EOS to all src pads
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

9 years agomanual: fix typo in advanced-dataaccess.xml
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

9 years agobuffer: do not touch memory tag flag when copying buffer flags
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

9 years agobus: gst_bus_add_watch() can return 0 on error
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

9 years agobaseparse: handle streamheaders by prepending them to the stream
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

9 years agoconcat: Allow seeking on the currently playing stream
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.

9 years agopad: add g-i 'transfer full' annotations to chain and chain_list functions
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

9 years agopad: annotate GstPadEventFunction event with 'transfer full'
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

9 years agotests: add test that triggers deadlock in state change of queue
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

9 years agoqueue: fix race when flush-stop event comes in whilst shutting down
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

9 years agobytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
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()

9 years agodocs: make explicit that the caps passed to gst_base_src_set_caps() are 'tranfer...
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

9 years agoinputselector: always proxy caps query
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.

9 years agobase: and fix build with new g-i again
Tim-Philipp Müller [Thu, 14 Aug 2014 13:37:56 +0000 (14:37 +0100)]
base: and fix build with new g-i again

9 years agobase: remove g-i annotation that makes older g-ir-scanner crash
Tim-Philipp Müller [Thu, 14 Aug 2014 13:25:06 +0000 (14:25 +0100)]
base: remove g-i annotation that makes older g-ir-scanner crash

Just remove one skip annotation that causes this:

  ** (g-ir-compiler:12458): ERROR **: Caught NULL node, parent=empty

with older g-i versions such as 1.32.1.

9 years agobus: destroy signal watch from the context it was mapped to
Philippe Normand [Wed, 13 Aug 2014 12:12:00 +0000 (14:12 +0200)]
bus: destroy signal watch from the context it was mapped to

Don't rely on g_source_remove() because it operates on the main
context. If a signal watch was added to a new thread-default context
g_source_remove() would have no effect. So simply use
g_source_destroy() to avoid this problem.

Additionally the source_id was removed from GstBusPrivate because it
was redundant with the signal watch GSource also stored in that
structure.

https://bugzilla.gnome.org/show_bug.cgi?id=734716

9 years agomultiqueue: Not post BUFFERING message if one of the singlequeue doesn't need it
Thibault Saunier [Thu, 7 Aug 2014 10:18:04 +0000 (12:18 +0200)]
multiqueue: Not post BUFFERING message if one of the singlequeue doesn't need it

Imagine the following 'pipeline'

                --------------
            p1/| 'fullqueue'  |--- 'laggy' downstream
  ---------  / |              |
-| demuxer |   | multiqueue   |
  ---------  \ |              |
            p2\| 'emptyqueue' |--- 'fast' downstream
                --------------

In the case downstream of one single queue (fullqueue) has (a lot of) latency
(for example for reverse playback with video), we can end up having the other
SingleQueue (emptyqueue) emptied, before that fullqueue gets
unblocked. In the meantime, the demuxer tries to push on fullqueue, and
is blocking there.

In that case the current code will post a BUFFERING message on the bus when
emptyqueue gets emptied, that leads to the application setting the pipeline state to
PAUSED. So now we end up in a situation where 'laggy downstream' is
prerolled and will not unblock anymore because the pipeline is set to
PAUSED, the fullequeue does not have a chance to be emptied and
the emptyqueue can not get filled anymore so no more BUFERRING message
will be posted and the pipeline is stucked in PAUSED for the eternity.

Making sure that we do not try to "buffer" if one of the single queue
does not need buffering, prevents this situtation from happening though it lets the
oportunity for buffering in all other cases.

That implements a new logic where we need all singlequeue to need
buffering for the multiqueue to actually state buffering is needed,
taking the maximum buffering of the single queue as the reference point.

https://bugzilla.gnome.org/show_bug.cgi?id=734412

9 years agomultiqueue: Only handle flow returns < EOS as errors, not e.g. flushing
Sebastian Dröge [Wed, 13 Aug 2014 10:01:23 +0000 (13:01 +0300)]
multiqueue: Only handle flow returns < EOS as errors, not e.g. flushing

9 years agobin: Use allow-none instead of nullable until we depend on a new enough GI version
Sebastian Dröge [Wed, 13 Aug 2014 09:40:37 +0000 (12:40 +0300)]
bin: Use allow-none instead of nullable until we depend on a new enough GI version

9 years agobin: gst_bin_new() can accept NULL as name
Sebastian Dröge [Wed, 13 Aug 2014 09:39:47 +0000 (12:39 +0300)]
bin: gst_bin_new() can accept NULL as name

9 years agoelement: Clarify docs about gst_element_get_request_pad() and remove deprecation...
Sebastian Dröge [Wed, 13 Aug 2014 09:37:08 +0000 (12:37 +0300)]
element: Clarify docs about gst_element_get_request_pad() and remove deprecation part

This function is not really pad or slow for the common case of requesting a
pad with the name of the template. It is only slower if you to name your pads
directly instead of letting the element handle it.

Also there's no reason to deprecate it in favor of a more complicated function
for the common case.

9 years agoqueue2: Post errors if we receive EOS after downstream reported an error
Sebastian Dröge [Wed, 13 Aug 2014 09:20:51 +0000 (12:20 +0300)]
queue2: Post errors if we receive EOS after downstream reported an error

There will be no further data flow that would allow us to propagate the
error upstream, causing nobody at all to post an error message.

9 years agoqueue: Post errors when receiving EOS after downstream returned an error
Sebastian Dröge [Wed, 13 Aug 2014 09:15:03 +0000 (12:15 +0300)]
queue: Post errors when receiving EOS after downstream returned an error

There might be no further data flow that would allow us to propagate the
error upstream, causing nobody to post an error at all.

9 years agomultiqueue: Post errors ourselves if they are received after EOS
Sebastian Dröge [Wed, 13 Aug 2014 09:10:39 +0000 (12:10 +0300)]
multiqueue: Post errors ourselves if they are received after EOS

After EOS there will be no further buffer which could propagate the
error upstream, so nothing is going to post an error message and
the pipeline just idles around.

9 years agodocs: Trivial pad documentation fix
Arun Raghavan [Tue, 12 Aug 2014 14:33:06 +0000 (20:03 +0530)]
docs: Trivial pad documentation fix

Presumably a copy-pasto.

9 years agoconcat: Add unit tests for concat element
Sebastian Dröge [Fri, 8 Aug 2014 07:54:02 +0000 (09:54 +0200)]
concat: Add unit tests for concat element

9 years agoconcat: Add documentation and integrate into documentation build
Sebastian Dröge [Fri, 8 Aug 2014 07:13:50 +0000 (09:13 +0200)]
concat: Add documentation and integrate into documentation build

9 years agoconcat: Add new element that concatenates multiple streams
Sebastian Dröge [Thu, 7 Aug 2014 12:42:44 +0000 (14:42 +0200)]
concat: Add new element that concatenates multiple streams

https://bugzilla.gnome.org/show_bug.cgi?id=734470

9 years agotests: caps: add check for caps with features intersection
Thiago Santos [Sat, 9 Aug 2014 13:57:56 +0000 (10:57 -0300)]
tests: caps: add check for caps with features intersection

Checks that a caps without features doesn't intersect with
one that has features

9 years agoexamples: controller: fix typo in comments
Tim-Philipp Müller [Thu, 7 Aug 2014 13:54:37 +0000 (14:54 +0100)]
examples: controller: fix typo in comments

9 years agobytereader: use unchecked inline variant for get_remaining in more places
Tim-Philipp Müller [Wed, 6 Aug 2014 12:58:22 +0000 (13:58 +0100)]
bytereader: use unchecked inline variant for get_remaining in more places

We've already done the g_return_*_if_fail (reader != NULL)
dance in those places, so no need to do it again.

9 years agoutils: Ghostpads can be request pads too but check if the pad has a template
Sebastian Dröge [Wed, 6 Aug 2014 12:43:08 +0000 (14:43 +0200)]
utils: Ghostpads can be request pads too but check if the pad has a template

Otherwise we dereference NULL in some cases and crash.

9 years agotests: Add missing unrefs of objects after use
Sebastian Rasmussen [Wed, 6 Aug 2014 10:34:42 +0000 (12:34 +0200)]
tests: Add missing unrefs of objects after use

Unreffing the objects returned by gst_bin_get_by_name() and
gst_pipeline_get_use() were missing in several tests, so add these.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734345

9 years agoutils: Fix unititialized variable compiler warning
Sebastian Dröge [Wed, 6 Aug 2014 10:55:57 +0000 (12:55 +0200)]
utils: Fix unititialized variable compiler warning

9 years agotests: Add test verifying gst_element_link_pads_full()
Sebastian Rasmussen [Sun, 13 Jul 2014 13:31:08 +0000 (15:31 +0200)]
tests: Add test verifying gst_element_link_pads_full()

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119

9 years agoutils: Unref/release pads in error cases when linking pads
Sebastian Rasmussen [Sun, 13 Jul 2014 13:28:32 +0000 (15:28 +0200)]
utils: Unref/release pads in error cases when linking pads

Previously gst_element_link_pads_full() forgot to unreference or release
request pads in several error cases. Also comments were added mentioning
why releasing is not necessary in some places.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119

9 years agogstcheck: add docs for gst_check_setup_src_pad_by_name()
Tiago Cesar Katcipis [Fri, 1 Aug 2014 20:27:39 +0000 (17:27 -0300)]
gstcheck: add docs for gst_check_setup_src_pad_by_name()

https://bugzilla.gnome.org/show_bug.cgi?id=734142

9 years agoMakefile: Add usage of build-checks step
Edward Hervey [Thu, 31 Jul 2014 16:32:03 +0000 (18:32 +0200)]
Makefile: Add usage of build-checks step

Allows building checks without running them

9 years agobufferpool: Add missing error checking to default_alloc_buffer()
Mohammed Sameer [Wed, 30 Jul 2014 12:46:22 +0000 (15:46 +0300)]
bufferpool: Add missing error checking to default_alloc_buffer()

default_alloc_buffer() calls gst_buffer_new_allocate() but does not check for
failed allocation.

This patch makes default_alloc_buffer() return an error (GST_FLOW_ERROR) if
buffer allocation fails.

https://bugzilla.gnome.org/show_bug.cgi?id=733974

9 years agomultiqueue: avoid using infinite buffers limit if finite is requested
Thiago Santos [Tue, 29 Jul 2014 17:21:33 +0000 (14:21 -0300)]
multiqueue: avoid using infinite buffers limit if finite is requested

If the current max-buffers limit it infinite and a finite value is
requested, switch to the MAX (requested, current-value) to set some
limit but not below what we know that we've needed so far.

https://bugzilla.gnome.org/show_bug.cgi?id=733637

https://bugzilla.gnome.org/show_bug.cgi?id=733837

9 years agoparse: Unref reference to enclosing bins
Sebastian Rasmussen [Thu, 24 Jul 2014 20:02:58 +0000 (22:02 +0200)]
parse: Unref reference to enclosing bins

Previously all reference to enclosing bins of an element were leaked
when doing delaying setting a property.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733697

9 years agogst-launch: Support SIGINT (Ctrl+C) on W32
Руслан Ижбулатов [Sun, 27 Jul 2014 02:37:08 +0000 (02:37 +0000)]
gst-launch: Support SIGINT (Ctrl+C) on W32

W32 has no SIGINT, but it does have SetConsoleCtrlHandler(), which sets up
a handler for Ctrl+C.

https://bugzilla.gnome.org/show_bug.cgi?id=733814

9 years agopoll: Prevent false-negative from WAKE_EVENT() on W32
Руслан Ижбулатов [Sun, 27 Jul 2014 03:06:16 +0000 (03:06 +0000)]
poll: Prevent false-negative from WAKE_EVENT() on W32

SetEvent() seems to not call SetLastError(0) internally, so checking last
error after calling SetEvent() may return the error from an earlier W32 API
call. Fix this by calling SetlastError(0) explicitly.

Currently WAKE_EVENT() code is cramped into a macro and doesn't look to be
entirely correct. Particularly, it does not check the return value of
SetEvent(), only the thread-local W32 error value. It is likely that SetEvent()
actually just returns non-zero value, but the code mistakenly thinks that the
call has failed, because GetLastError() seems to indicate so.

https://bugzilla.gnome.org/show_bug.cgi?id=733805

9 years agogst: include atomicqueue.h again in gst.h
Tim-Philipp Müller [Sat, 26 Jul 2014 13:42:54 +0000 (14:42 +0100)]
gst: include atomicqueue.h again in gst.h

It's a public header of gstreamer core, so #include <gst/gst.h>
should make the API available.

9 years agotypefindelement: remove prototype for function that no longer exists
Tim-Philipp Müller [Fri, 25 Jul 2014 10:45:56 +0000 (11:45 +0100)]
typefindelement: remove prototype for function that no longer exists

9 years agobytereader: add gst_byte_reader_masked_scan_uint32_peek
Thiago Santos [Thu, 24 Jul 2014 17:39:11 +0000 (14:39 -0300)]
bytereader: add gst_byte_reader_masked_scan_uint32_peek

Adds gst_byte_reader_masked_scan_uint32_peek just like
GstAdapter has a _peek and non _peek version

Upgraded tests to check that the returned value is correct in the
_peek version

API: gst_byte_reader_masked_scan_uint32_peek

https://bugzilla.gnome.org/show_bug.cgi?id=728356

9 years agobufferlist: pre-allocate buffer array in one go with the buffer list
Tim-Philipp Müller [Thu, 26 Jun 2014 13:09:25 +0000 (14:09 +0100)]
bufferlist: pre-allocate buffer array in one go with the buffer list

We can now create and free a buffer list with one slice alloc/free
call in most cases, instead of one slice alloc/free for the list,
one slice alloc/free for the GArray, and one malloc/free for the
GArray array. In practice we know the max size of our buffer list
from the start, so can avoid reallocs.

https://bugzilla.gnome.org/show_bug.cgi?id=732284

9 years agoprivate: allow internal access to the debug base-time
Stefan Sauer [Wed, 23 Jul 2014 19:27:48 +0000 (21:27 +0200)]
private: allow internal access to the debug base-time

Moving the extern to the head lets us access this from other parts as well. This
is neeed in the tracer branch.

9 years agoscripts: Use git pull --rebase
Arun Raghavan [Tue, 22 Jul 2014 18:45:17 +0000 (00:15 +0530)]
scripts: Use git pull --rebase

No point introducing redundant merge commits.

9 years agoRevert "tests: taglist: add basic test for taglists serialization"
Thiago Santos [Mon, 21 Jul 2014 15:41:08 +0000 (12:41 -0300)]
Revert "tests: taglist: add basic test for taglists serialization"

This reverts commit 85d23d19b7de40541d63b0bc76d8b646c321af26.

There was already a gsttag.c tests file, this test has been merged
in it in the previous commit

9 years agotests: tag: add the empty taglist serialization test
Thiago Santos [Mon, 21 Jul 2014 15:40:47 +0000 (12:40 -0300)]
tests: tag: add the empty taglist serialization test

Adds the test to the appropriate and already existing file.

9 years agotests: taglist: add basic test for taglists serialization
Thiago Santos [Mon, 14 Jul 2014 21:46:54 +0000 (18:46 -0300)]
tests: taglist: add basic test for taglists serialization

Make sure it works with empty taglists

9 years agotests: gststructure: serialization of tag event structure
Thiago Santos [Mon, 14 Jul 2014 21:25:50 +0000 (18:25 -0300)]
tests: gststructure: serialization of tag event structure

Adds a test that checks that the serialization of a tag event structure
works without problems

https://bugzilla.gnome.org/show_bug.cgi?id=733131

9 years agogstvalue: add GstTagList compare function
Thiago Santos [Mon, 14 Jul 2014 21:23:43 +0000 (18:23 -0300)]
gstvalue: add GstTagList compare function

When serializing GstStructures from events in GDP it will add a taglist
as a GstStructure field, having the compare function allows comparison of
GstStructures to check if the serialized/deserialized version matches the
original one, among other cases.

https://bugzilla.gnome.org/show_bug.cgi?id=733131

9 years agofunnel: Fix for racy EOS event handling
Srimanta Panda [Wed, 9 Jul 2014 13:48:10 +0000 (15:48 +0200)]
funnel: Fix for racy EOS event handling

When eos events are forwarded simultaneouly from two sinkpads on
funnel, it doesnot forward the eos to sourcepad. The reason is
sticky events are stored after the event callbacks are returned.
Therefore while one is about to store the sticky events on the its
sinkpad, other sinkpad starts checking for the eos events on all other
sinkpads and assumes eos is not present yet.

https://bugzilla.gnome.org/show_bug.cgi?id=732851

9 years agopipeline: Add unit test for resetting of the start time
Sebastian Dröge [Thu, 17 Jul 2014 14:05:00 +0000 (16:05 +0200)]
pipeline: Add unit test for resetting of the start time

Also check if this properly affects basesink elements to not
report the old start time but the real current position when
setting to PAUSED again.

9 years agopipeline: Reset the start time when going from PAUSED to READY too
Sebastian Dröge [Tue, 15 Jul 2014 16:19:24 +0000 (18:19 +0200)]
pipeline: Reset the start time when going from PAUSED to READY too

9 years agopipeline: Reset start time in READY->PAUSED before chaining up
Sebastian Dröge [Tue, 15 Jul 2014 15:19:10 +0000 (17:19 +0200)]
pipeline: Reset start time in READY->PAUSED before chaining up

Otherwise bin will change the state of the child elements without
distributing the new start time.

9 years agoelements: improve buffer flags to string utility function
Tim-Philipp Müller [Sat, 28 Jun 2014 16:58:26 +0000 (17:58 +0100)]
elements: improve buffer flags to string utility function

Avoid relocations and refactor so that we don't calculate
the fixed and known at compile time maximum string size
every time. Also skip the mini object flags which we are
not going to print anyway.

9 years agoBack to development
Sebastian Dröge [Sat, 19 Jul 2014 16:04:31 +0000 (18:04 +0200)]
Back to development

9 years agoRelease 1.4.0 1.4.0
Sebastian Dröge [Sat, 19 Jul 2014 14:46:41 +0000 (16:46 +0200)]
Release 1.4.0

9 years agoUpdate .po files
Sebastian Dröge [Sat, 19 Jul 2014 14:21:20 +0000 (16:21 +0200)]
Update .po files

9 years agopo: Update translations
Sebastian Dröge [Sat, 19 Jul 2014 10:16:58 +0000 (12:16 +0200)]
po: Update translations

9 years agobaseparse: Return FLOW_FLUSHING when pushing a frame on a pad that has been flushed
Thibault Saunier [Thu, 17 Jul 2014 13:53:53 +0000 (15:53 +0200)]
baseparse: Return FLOW_FLUSHING when pushing a frame on a pad that has been flushed

When going to READY, it is possible that we are still pusing a frame but that
our srcpad has already been set to flushing. In that case we should not
post any error on the bus but instead cleanly return FLOW_FLUSHING.

https://bugzilla.gnome.org/show_bug.cgi?id=733320

9 years agotypefindelement: Propagate input buffer PTS and DTS
Edward Hervey [Thu, 17 Jul 2014 05:07:36 +0000 (07:07 +0200)]
typefindelement: Propagate input buffer PTS and DTS

The initial buffers (that were used for timestamping) might have PTS
and DTS set. In order to forward those properly, get the initial
PTS/DTS from the adapter and set them on the reconstructed output
buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=733291

9 years agodebugutils: Unref pad template after use
Sebastian Rasmussen [Sat, 12 Jul 2014 15:01:23 +0000 (17:01 +0200)]
debugutils: Unref pad template after use

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733121

9 years agogst: init taglist gtype to use it in gstvalue
Thiago Santos [Mon, 14 Jul 2014 21:10:45 +0000 (18:10 -0300)]
gst: init taglist gtype to use it in gstvalue

Otherwise it will have a 0 value and GstTagList won't be found
for GstValue functions (serialization/deserialization)

https://bugzilla.gnome.org/show_bug.cgi?id=733131

9 years agoRelease 1.3.91 1.3.91
Sebastian Dröge [Fri, 11 Jul 2014 08:46:01 +0000 (10:46 +0200)]
Release 1.3.91

9 years agoUpdate .po files
Sebastian Dröge [Fri, 11 Jul 2014 08:41:20 +0000 (10:41 +0200)]
Update .po files

9 years agopo: Update translations
Sebastian Dröge [Fri, 11 Jul 2014 06:51:08 +0000 (08:51 +0200)]
po: Update translations

9 years agodocs: Fix documentation typos and inconsistencies
Sebastian Rasmussen [Sat, 5 Jul 2014 16:29:29 +0000 (18:29 +0200)]
docs: Fix documentation typos and inconsistencies

 * GstGlobalDeviceMonitor was renamed to GstDeviceMonitor
 * Expand GST_MESSAGE_DEVICE to the full enum value names
 * Correct the incorrect references to the GstDeviceProvider interfaces
 * Describe caps arguments for gstcheck interface
 * Add missing docs for GstNetAddressMeta and its add function
 * Add docs for toc helper macros
 * Avoid refering to GstValueList type as done elsewhere

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732786

9 years agodocs: Cleanup interface references in docs
Sebastian Rasmussen [Sat, 5 Jul 2014 15:13:21 +0000 (17:13 +0200)]
docs: Cleanup interface references in docs

 * Delete references to removed interfaces
 * Add missing documentation sections
 * Fix duplicate interface references for GstDevice

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732786

9 years agodocs: There is no decodebin2 anymore, don't pretend otherwise
Sebastian Dröge [Tue, 8 Jul 2014 09:17:41 +0000 (11:17 +0200)]
docs: There is no decodebin2 anymore, don't pretend otherwise

9 years agofdsrc: fix error setting when uri is invalid
Thiago Santos [Mon, 7 Jul 2014 19:14:32 +0000 (16:14 -0300)]
fdsrc: fix error setting when uri is invalid

Elements should always set the GError

9 years agolibs: gstcheck: check that mutex is locked before g_cond_wait*() is called
Tim-Philipp Müller [Sun, 6 Jul 2014 11:13:04 +0000 (12:13 +0100)]
libs: gstcheck: check that mutex is locked before g_cond_wait*() is called

Sanity check to catch problems in unit test.

9 years agolibs: gstcheck: init and clear global mutex and cond variables
Tim-Philipp Müller [Sun, 6 Jul 2014 11:12:20 +0000 (12:12 +0100)]
libs: gstcheck: init and clear global mutex and cond variables

9 years agotests: fix locking in gstpoll unit test
Tim-Philipp Müller [Sun, 6 Jul 2014 11:09:31 +0000 (12:09 +0100)]
tests: fix locking in gstpoll unit test

The mutex needs to be locked when g_cond_wait*() is
called.

9 years agogst-uninstalled: add video and base library paths from -bad
Matthieu Bouron [Sat, 5 Jul 2014 15:24:18 +0000 (16:24 +0100)]
gst-uninstalled: add video and base library paths from -bad

https://bugzilla.gnome.org/show_bug.cgi?id=732770

9 years agotools: suppress GLib warnings when gst-inspecting deprecated properties
Tim-Philipp Müller [Fri, 4 Jul 2014 18:40:28 +0000 (19:40 +0100)]
tools: suppress GLib warnings when gst-inspecting deprecated properties

GLib in git will spew a g_warning() when a property marked as
deprecated via param spec flags is accessed. Suppress this by
setting the appropriate environment variable.

9 years agomessage: Work around g-i/pygobject/gjs bug with ~0 in enums
Sebastian Dröge [Thu, 3 Jul 2014 08:11:02 +0000 (10:11 +0200)]
message: Work around g-i/pygobject/gjs bug with ~0 in enums

GST_MESSAGE_ANY was considered a long by pygobject and gjs, and thus
couldn't be used in gst_bus_poll() and similar APIs as they expect an
int-typed enum.

Just use 0xffffffff instead for now.

https://bugzilla.gnome.org/show_bug.cgi?id=732633