platform/upstream/gstreamer.git
10 years agodocs: add docs for various GstPad macros
Showayb Zahda [Sat, 26 Apr 2014 16:02:18 +0000 (17:02 +0100)]
docs: add docs for various GstPad macros

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

10 years agobin: When going to READY make sure to always deactivate pads
Sebastian Dröge [Fri, 25 Apr 2014 13:38:39 +0000 (15:38 +0200)]
bin: When going to READY make sure to always deactivate pads

We might not have reached PAUSED yet because of an async error,
but nonetheless we want to make sure that the pads are always
deactivated in READY state.

10 years agobin: Don't left-shift into the sign bit, the result is undefined
Sebastian Dröge [Tue, 22 Apr 2014 16:23:15 +0000 (18:23 +0200)]
bin: Don't left-shift into the sign bit, the result is undefined

10 years agovalue: Use an unsigned 64 bit integer as a mask
Sebastian Dröge [Tue, 22 Apr 2014 16:16:10 +0000 (18:16 +0200)]
value: Use an unsigned 64 bit integer as a mask

We shift the mask to the right later and shifting the result
of shifting over the sign bit is undefined.

10 years agobasesrc: Make sure to always hold the LIVE_LOCK when going to the flushing label
Sebastian Dröge [Sun, 20 Apr 2014 09:59:02 +0000 (11:59 +0200)]
basesrc: Make sure to always hold the LIVE_LOCK when going to the flushing label

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

10 years agofunnel: Handle end of stream event on sink pad
Srimanta Panda [Fri, 11 Apr 2014 17:52:02 +0000 (19:52 +0200)]
funnel: Handle end of stream event on sink pad

Handle end of stream events on sink pad. Check all the sink pad
has received eos before forwarding to source pad.

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

10 years agogstvalue: Prevent division or modulo by zero
Edward Hervey [Sat, 5 Apr 2014 09:37:53 +0000 (11:37 +0200)]
gstvalue: Prevent division or modulo by zero

The step can end up being zero if the underlying value isn't a valid
range GValue.

In those cases, return FALSE.

We don't use g_return*_if_fail since it will already have been triggered
by the above-mentionned _get_step() functions.

CID #1037132

10 years agolibs: g-ir-scanner: do not hardcode libtool path
Antoine Jacoutot [Wed, 9 Apr 2014 14:44:07 +0000 (16:44 +0200)]
libs: g-ir-scanner: do not hardcode libtool path

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

10 years agomemory/buffer: Initialise GstMapInfo to zeroes if mapping fails
Sebastian Dröge [Wed, 16 Apr 2014 17:49:56 +0000 (19:49 +0200)]
memory/buffer: Initialise GstMapInfo to zeroes if mapping fails

This should allow for more meaningful errors. Dereferencing NULL
is more useful information than dereferencing a random address
happened to be on the stack.

10 years agopreset: Unref return value of gst_child_proxy_get_child_by_index() instead of leaking it
Sebastian Dröge [Wed, 16 Apr 2014 15:49:06 +0000 (17:49 +0200)]
preset: Unref return value of gst_child_proxy_get_child_by_index() instead of leaking it

10 years agopreset: Automatic code style fixes
Sebastian Dröge [Wed, 16 Apr 2014 15:48:57 +0000 (17:48 +0200)]
preset: Automatic code style fixes

10 years agoqueue2: fix event/preroll deadlock differently
Vincent Penquerc'h [Wed, 16 Apr 2014 14:17:04 +0000 (15:17 +0100)]
queue2: fix event/preroll deadlock differently

The qlock is released between popping a buffer from the queue
and pushing it. When this buffer causes the sink to wait in
preroll, this lets a query see that the queue is empty, and
push the query then wait for it to be serviced. However, this
will not be done till after peroll, and this will thus block.
If upstream was waiting on buffering to reach 100% before
switching to PLAYING, a deadlock would ensue.

This had been fixed recently by failing queries when the
queue2 was buffering, but this happens to break some other
case (playbin on a local http server and matroska), while
this patch works for both.

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

10 years agocheck: Fix exported symbol name
Edward Hervey [Wed, 16 Apr 2014 05:59:27 +0000 (07:59 +0200)]
check: Fix exported symbol name

it's _template and not _templ

10 years agopad: Add missing space in debug output
Sebastian Dröge [Tue, 15 Apr 2014 19:16:06 +0000 (21:16 +0200)]
pad: Add missing space in debug output

10 years agocheck: Add new API to set up pads from non-static pad templates
Sebastian Dröge [Tue, 15 Apr 2014 10:58:59 +0000 (12:58 +0200)]
check: Add new API to set up pads from non-static pad templates

10 years agocollectpads: Fix memory leak in unit test
Sebastian Dröge [Mon, 14 Apr 2014 19:35:52 +0000 (21:35 +0200)]
collectpads: Fix memory leak in unit test

10 years agotestclock: replace newly-added GstTestClockIDList structure with a simple GList
Tim-Philipp Müller [Sat, 12 Apr 2014 14:22:35 +0000 (15:22 +0100)]
testclock: replace newly-added GstTestClockIDList structure with a simple GList

Keep it simple. Likely also makes things easier for bindings,
and efficiency clearly has not been a consideration given how
the existing code handled these lists.

10 years agodocs: testclock: fix up Since markers
Tim-Philipp Müller [Sat, 12 Apr 2014 13:30:43 +0000 (14:30 +0100)]
docs: testclock: fix up Since markers

10 years agotestclock: add back gst_test_clock_wait_for_pending_id_count()
Tim-Philipp Müller [Fri, 11 Apr 2014 23:28:51 +0000 (00:28 +0100)]
testclock: add back gst_test_clock_wait_for_pending_id_count()

.. but deprecate it. ABI stability and all that.
It's a dangerous and racy function to use.

10 years agotestclock: remove unused variable
Tim-Philipp Müller [Sun, 23 Mar 2014 15:08:26 +0000 (15:08 +0000)]
testclock: remove unused variable

Fixes compiler warning.

10 years agotestclock: add support for waiting and releasing multiple GstClockIDs
Havard Graff [Mon, 16 Dec 2013 09:01:37 +0000 (10:01 +0100)]
testclock: add support for waiting and releasing multiple GstClockIDs

In order to be deterministic, multiple waiting GstClockIDs needs to be
released at the same time, or else one can get into the situation that
the one being released first can add itself back again before the next
one waiting is released.

Test added for new API and old tests rewritten to comply.

10 years agopad: don't access unowned and possibly already freed event
Linus Svensson [Tue, 1 Apr 2014 13:38:54 +0000 (15:38 +0200)]
pad: don't access unowned and possibly already freed event

Don't print the name of the event when ownership is given away.

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

10 years agoinspect: print structure values of properties
Wim Taymans [Sat, 12 Apr 2014 05:13:02 +0000 (07:13 +0200)]
inspect: print structure values of properties

10 years agoinput-selector: Hold pad object lock when changing tags
Jan Schmidt [Fri, 11 Apr 2014 12:38:25 +0000 (22:38 +1000)]
input-selector: Hold pad object lock when changing tags

Avoid spurious crashes when tags are retrieved just as
new ones arrive.

10 years agogstbuffer: Fix range iteration
Edward Hervey [Fri, 11 Apr 2014 11:45:21 +0000 (13:45 +0200)]
gstbuffer: Fix range iteration

We want to iterate over items idx to idx + length

We use the len variable as the corrected number of memory to iterate
and then properly go over all items.

Fixes the issue where specifying any idx different from 0 had no effect

Spotted by clang static analyzer

10 years agostructure: error out when trying to fixate a fraction near an invalid target
Vincent Penquerc'h [Wed, 9 Apr 2014 16:01:01 +0000 (17:01 +0100)]
structure: error out when trying to fixate a fraction near an invalid target

10 years agoevent: Update running time in QoS based on the pad offsets
Sebastian Dröge [Fri, 4 Apr 2014 15:28:23 +0000 (17:28 +0200)]
event: Update running time in QoS based on the pad offsets

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

10 years agopad: Apply pad offsets on all events, not just segment events
Sebastian Dröge [Fri, 4 Apr 2014 15:15:25 +0000 (17:15 +0200)]
pad: Apply pad offsets on all events, not just segment events

10 years agoevent: Add running-time-offset field to all events
Sebastian Dröge [Fri, 4 Apr 2014 15:06:18 +0000 (17:06 +0200)]
event: Add running-time-offset field to all events

Events passing through #GstPads that have a running time
offset set via gst_pad_set_offset() will get their offset
adjusted according to the pad's offset.

If the event contains any information that related to the
running time, this information will need to be updated
before usage with this offset.

10 years agoutils: avoid dividing by zero when multiplying y/z by 0/x
Vincent Penquerc'h [Wed, 9 Apr 2014 15:40:27 +0000 (16:40 +0100)]
utils: avoid dividing by zero when multiplying y/z by 0/x

The gcd of 0/x is 0, and this is then used as a denominator.

10 years agomultiqueue: And actually run the other tests again
Sebastian Dröge [Wed, 9 Apr 2014 14:01:09 +0000 (16:01 +0200)]
multiqueue: And actually run the other tests again

10 years agomultiqueue: Wake up the queues if limits are changing in a way that would unblock...
Sebastian Dröge [Wed, 9 Apr 2014 13:57:35 +0000 (15:57 +0200)]
multiqueue: Wake up the queues if limits are changing in a way that would unblock the queue

10 years agomultiqueue: Add test for checking if pads are waked up when limits are changed
Sebastian Dröge [Wed, 9 Apr 2014 13:42:48 +0000 (15:42 +0200)]
multiqueue: Add test for checking if pads are waked up when limits are changed

10 years agobaseparse: Fix memory leak
Jose Antonio Santos Cadenas [Wed, 9 Apr 2014 08:15:33 +0000 (10:15 +0200)]
baseparse: Fix memory leak

Queued frames were not released after being pushed, this
caused a leak of the GstBaseParseFrame structure.

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

10 years agoqueue2: use g_strerror() instead of strerror()
Tim-Philipp Müller [Mon, 7 Apr 2014 16:49:14 +0000 (17:49 +0100)]
queue2: use g_strerror() instead of strerror()

Need UTF-8 encoding.

10 years agoRevert "check: only call setpgid on valid child PIDs"
Tim-Philipp Müller [Mon, 7 Apr 2014 16:47:30 +0000 (17:47 +0100)]
Revert "check: only call setpgid on valid child PIDs"

This reverts commit b9313afc75b68d986e473b76b55543456857912b.

This should be fixed in upstream libcheck instead. We want
to keep diff of our local copy to upstream libcheck
to a minimum.

10 years agoqueue2: warn if we can't remove our temporary file
Vincent Penquerc'h [Mon, 7 Apr 2014 16:33:34 +0000 (17:33 +0100)]
queue2: warn if we can't remove our temporary file

It's not fatal though, so do not error out.

Coverity 1037121

10 years agocheck: only call setpgid on valid child PIDs
Vincent Penquerc'h [Mon, 7 Apr 2014 14:38:09 +0000 (15:38 +0100)]
check: only call setpgid on valid child PIDs

Coverity 206186

10 years agofilesrc: no need for a translated message for impossible error cases
Tim-Philipp Müller [Mon, 7 Apr 2014 14:38:17 +0000 (15:38 +0100)]
filesrc: no need for a translated message for impossible error cases

The message is too technical anyway, the default message works
just fine here as well.

10 years agofilesrc: catch failure to seek back to zero after seek test
Vincent Penquerc'h [Mon, 7 Apr 2014 14:18:32 +0000 (15:18 +0100)]
filesrc: catch failure to seek back to zero after seek test

This should never happen theoretically, but since a transient
failure would get us to silently read wrong data, it's worth
erroring out. And it silence this:

Coverity 206034

10 years agoparse: Don't dist the bison and flex generated headers
Sebastian Dröge [Mon, 7 Apr 2014 09:36:58 +0000 (11:36 +0200)]
parse: Don't dist the bison and flex generated headers

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

10 years agodebugutils: Handle caps field values being NULL
Sebastian Rasmussen [Sun, 6 Apr 2014 09:23:34 +0000 (11:23 +0200)]
debugutils: Handle caps field values being NULL

GST_DEBUG_BIN_TO_DOT_FILE() would cause a segfault whenever it encountered an
element's caps that had a field value being NULL. Such fields are successfully
handled e.g. by GST_*_OBJECT(), and with this patch so does
GST_DEBUG_BIN_TO_DOT_FILE(). Even if string fields with a NULL value are
not supposed to be valid in caps, such caps can be created.

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

10 years agobaseparse: Remove always-true-checks
Edward Hervey [Sat, 5 Apr 2014 09:44:01 +0000 (11:44 +0200)]
baseparse: Remove always-true-checks

a gsize is guaranteed to be positive on all systems since it's an
unsigned value.

CID #1037147

10 years agoadapter: Remove always-true-checks
Edward Hervey [Sat, 5 Apr 2014 09:44:01 +0000 (11:44 +0200)]
adapter: Remove always-true-checks

a gsize is guaranteed to be positive on all systems since it's an
unsigned value.

CID #1037145
CID #1037146

10 years agogstvalue: Prevent division or modulo by zero
Edward Hervey [Sat, 5 Apr 2014 09:37:53 +0000 (11:37 +0200)]
gstvalue: Prevent division or modulo by zero

The step can end up being zero if the underlying value isn't a valid
range GValue.

In those cases, return FALSE.

We don't use g_return*_if_fail since it will already have been triggered
by the above-mentionned _get_step() functions.

Spotted by Coverity.

10 years agogstvalue: Fix comparison of int/int64 range
Haakon Sporsheim [Tue, 25 Mar 2014 11:23:32 +0000 (12:23 +0100)]
gstvalue: Fix comparison of int/int64 range

Checking step three times seems unnecessary.
A similar bug was fixed for double range in
commit 3ea6b04c10b10fde9d62190068f274b940edef07

10 years agoinputselector: fix build with debug cached buffers enabled
Thiago Santos [Thu, 3 Apr 2014 21:17:03 +0000 (18:17 -0300)]
inputselector: fix build with debug cached buffers enabled

gstinputselector.c:818:5: error: format not a string literal
and no format arguments [-Werror=format-security]

10 years agobaseparse: Make sure to set the DISCONT flag on the first buffer of each GOP in rever...
Sebastian Dröge [Thu, 3 Apr 2014 18:31:16 +0000 (20:31 +0200)]
baseparse: Make sure to set the DISCONT flag on the first buffer of each GOP in reverse playback mode

10 years agobasesrc: removing duplicated inner if
Thiago Santos [Thu, 3 Apr 2014 16:20:11 +0000 (13:20 -0300)]
basesrc: removing duplicated inner if

The inner if replicates the same code of the outer and is useless
as flag_segment will always be true.

Found by coverity.

10 years agogst-launch.1: Playbin2 is dead, long live playbin
Edward Hervey [Thu, 3 Apr 2014 05:36:03 +0000 (07:36 +0200)]
gst-launch.1: Playbin2 is dead, long live playbin

Looks like that was the last remaining mention in core ...

10 years agogst-inspect: Add missing \n in output
Sebastian Dröge [Wed, 2 Apr 2014 21:52:10 +0000 (23:52 +0200)]
gst-inspect: Add missing \n in output

10 years agoscripts: gst-uninstalled: gst-plugins-gl libs got merged into -bad
Tim-Philipp Müller [Tue, 1 Apr 2014 14:35:24 +0000 (15:35 +0100)]
scripts: gst-uninstalled: gst-plugins-gl libs got merged into -bad

10 years agopad: Include event type in debug output when delaying a sticky event because of not...
Sebastian Dröge [Sat, 29 Mar 2014 09:18:34 +0000 (10:18 +0100)]
pad: Include event type in debug output when delaying a sticky event because of not-linked

10 years agobaseparse: Fix splitting and reversing of GOPs in reverse playback mode
Sebastian Dröge [Sat, 29 Mar 2014 09:16:12 +0000 (10:16 +0100)]
baseparse: Fix splitting and reversing of GOPs in reverse playback mode

We iterate the current discont group backwards and push each GOP forwards,
starting from the last one. However if the first buffer in the current
discont group is a keyframe, we will keep it around until next time,
which is far from ideal. Just push it.

10 years agolaunch: place the deep-notify on the right pipeline
Wim Taymans [Tue, 25 Mar 2014 11:38:07 +0000 (12:38 +0100)]
launch: place the deep-notify on the right pipeline

If the toplevel bin is not not a pipeline, we place the bin in a
pipeline. Also make sure that we connect to the deep-notify of this new
pipeline because we will g_signal_handler_disconnect() from it later.

10 years agobasesink: copy last_sample on DRAIN
Wim Taymans [Mon, 24 Mar 2014 15:34:27 +0000 (16:34 +0100)]
basesink: copy last_sample on DRAIN

Make sure we don't hold a ref to a buffer from before the DRAIN query by
making a copy of the last_buffer.

10 years agobuffer: don't clear TAG on NULL buffer
Wim Taymans [Mon, 24 Mar 2014 15:11:30 +0000 (16:11 +0100)]
buffer: don't clear TAG on NULL buffer

When the buffer fails to copy, don't clear the TAG on the NULL pointer.

10 years agoqueue2: fix event/preroll deadlock
Vincent Penquerc'h [Thu, 20 Mar 2014 10:14:33 +0000 (06:14 -0400)]
queue2: fix event/preroll deadlock

The qlock is released between popping a buffer from the queue
and pushing it. When this buffer causes the sink to wait in
preroll, this lets a query see that the queue is empty, and
push the query then wait for it to be serviced. However, this
will not be done till after peroll, and this will thus block.
If upstream was waiting on buffering to reach 100% before
switching to PLAYING, a deadlock would ensue.

We fix it by refusing the query when buffering, as per Wim's
recommendation on IRC.

10 years agotests: make netclientclock test faster and less flaky
Tim-Philipp Müller [Sun, 23 Mar 2014 12:53:55 +0000 (12:53 +0000)]
tests: make netclientclock test faster and less flaky

10 years agogst: init new flag types to pass make check
Wim Taymans [Fri, 21 Mar 2014 11:16:54 +0000 (12:16 +0100)]
gst: init new flag types to pass make check

10 years agoqueue2: Update buffering status and maybe post buffering message right when enabling...
Sebastian Dröge [Wed, 19 Mar 2014 08:33:53 +0000 (09:33 +0100)]
queue2: Update buffering status and maybe post buffering message right when enabling buffering

10 years agomultiqueue: Update buffering status and maybe post buffering message right when enabl...
Sebastian Dröge [Wed, 19 Mar 2014 08:32:45 +0000 (09:32 +0100)]
multiqueue: Update buffering status and maybe post buffering message right when enabling buffering

10 years agofakesink: Update positions we're checking for after a state is lost
Sebastian Dröge [Tue, 18 Mar 2014 17:12:16 +0000 (18:12 +0100)]
fakesink: Update positions we're checking for after a state is lost

10 years agobasesink: Update start time when we lose our state
Sebastian Dröge [Tue, 18 Mar 2014 17:11:15 +0000 (18:11 +0100)]
basesink: Update start time when we lose our state

Otherwise we report not the correct position while the state is lost.

10 years agobasesink: Don't clip the reported position in PAUSED to after the last buffer end...
Sebastian Dröge [Tue, 18 Mar 2014 15:47:42 +0000 (16:47 +0100)]
basesink: Don't clip the reported position in PAUSED to after the last buffer end timestamp

Otherwise we jump forward when pausing, and go backwards a bit again
when resuming playback.

10 years agowin32: Update exports for GstToc loop
Edward Hervey [Mon, 17 Mar 2014 09:05:31 +0000 (10:05 +0100)]
win32: Update exports for GstToc loop

10 years agowin32: Update export for gst*device symbols
Edward Hervey [Mon, 17 Mar 2014 09:05:18 +0000 (10:05 +0100)]
win32: Update export for gst*device symbols

10 years agodevicemonitor: Use local includes and use gst_private before anything
Edward Hervey [Mon, 17 Mar 2014 08:51:45 +0000 (09:51 +0100)]
devicemonitor: Use local includes and use gst_private before anything

Should fix build issues on BSD

10 years agogst-inpect: Print device monitor
Olivier Crête [Mon, 17 Mar 2014 00:50:53 +0000 (20:50 -0400)]
gst-inpect: Print device monitor

10 years agodevice: Add "klass" to GstDevices
Olivier Crête [Sun, 16 Mar 2014 19:56:59 +0000 (15:56 -0400)]
device: Add "klass" to GstDevices

10 years agodevicemonitor: Make classes into pure strings
Olivier Crête [Sun, 16 Mar 2014 22:02:56 +0000 (18:02 -0400)]
devicemonitor: Make classes into pure strings

Instead of having strings & flags, make them just strings

10 years agoFix extended message handling with gst_bus_pop_timed_filtered()
Jan Schmidt [Sun, 16 Mar 2014 19:29:27 +0000 (06:29 +1100)]
Fix extended message handling with gst_bus_pop_timed_filtered()

Make sure extended message types don't get accidentally matched
when not asked for in the mask

10 years agogstbin: Avoid pointless object lock forwarding messages.
Jan Schmidt [Sun, 16 Mar 2014 18:24:12 +0000 (05:24 +1100)]
gstbin: Avoid pointless object lock forwarding messages.

Every instance of calling bin_do_message_forward() first took the
object lock, so that bin_do_message_forward() could drop it and
then reclaim. Instead, only take the object lock afterward where
needed.

10 years agocollectpads: When seek flushed, immediately set eospads to 0
Mathieu Duponchelle [Wed, 19 Feb 2014 01:27:36 +0000 (02:27 +0100)]
collectpads: When seek flushed, immediately set eospads to 0

This prevents situations where a first branch would get seeked and
receive a buffer before all branches got seeked, and thus collected
would get called based on EOS from the previous segment.

As a consequence, during the process of seeking, don't decrease
the eospads number when a FLUSH_STOP is received.

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

10 years agocollectpads: Unref peer pad
Sebastian Dröge [Sun, 16 Mar 2014 16:47:06 +0000 (17:47 +0100)]
collectpads: Unref peer pad

10 years agocollectpads: Forward seek events to the peer directly
Mathieu Duponchelle [Sun, 16 Feb 2014 19:35:09 +0000 (20:35 +0100)]
collectpads: Forward seek events to the peer directly

Taken from the adder seek handling code.

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

10 years agotoc: expand GstTocEntry with loop fields
Stefan Sauer [Thu, 2 Jan 2014 21:30:11 +0000 (22:30 +0100)]
toc: expand GstTocEntry with loop fields

Add loop_type and repeat_count fields to GstTocEntry plus setters and getters.
This allows to represent edit-lists in a toc as well as loops in instruemnts (wav, xi).

API: gst_toc_entry_set_loop
API: gst_toc_entry_get_loop

10 years agoglobaldevicemonitor: update for new message API
Tim-Philipp Müller [Sun, 16 Mar 2014 15:19:49 +0000 (15:19 +0000)]
globaldevicemonitor: update for new message API

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

10 years agoglobaldevicemonitor: Add device monitor aggregator
Olivier Crête [Wed, 9 Jan 2013 02:30:44 +0000 (21:30 -0500)]
globaldevicemonitor: Add device monitor aggregator

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

10 years agotests: add test for extended message types and gst_bus_timed_pop_filtered
Tim-Philipp Müller [Sun, 16 Mar 2014 14:08:45 +0000 (14:08 +0000)]
tests: add test for extended message types and gst_bus_timed_pop_filtered

10 years agomessage, bus: do extended message types slightly differently
Tim-Philipp Müller [Sun, 16 Mar 2014 14:08:00 +0000 (14:08 +0000)]
message, bus: do extended message types slightly differently

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

10 years agogst: fix indentation
Tim-Philipp Müller [Sun, 16 Mar 2014 14:07:35 +0000 (14:07 +0000)]
gst: fix indentation

10 years agodevicemonitor: Add GstDeviceMonitor and related
Olivier Crête [Tue, 16 Oct 2012 16:27:04 +0000 (12:27 -0400)]
devicemonitor: Add GstDeviceMonitor and related

Also add GstDevice and GstDeviceMonitorFactory
And add code to the registry to save them

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

10 years agomessage: Add GST_MESSAGE_EXTENDED
Olivier Crête [Wed, 14 Aug 2013 19:56:11 +0000 (15:56 -0400)]
message: Add GST_MESSAGE_EXTENDED

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

10 years agopad: actually return data.ret
Stefan Sauer [Sun, 16 Mar 2014 10:05:56 +0000 (11:05 +0100)]
pad: actually return data.ret

The return value from gst_pad_forward() is the aggregated return value from the callback and the callback returns FALSE to continue iterating.

10 years agopad: forward return value from gst_pad_forward
Stefan Sauer [Sat, 15 Mar 2014 14:54:33 +0000 (15:54 +0100)]
pad: forward return value from gst_pad_forward

Instead of ignoring the return value and always return TRUE pass the already agregated result back.

10 years agowin32: fix make-check by running 'make update-exports'
Thiago Santos [Sat, 15 Mar 2014 16:57:19 +0000 (13:57 -0300)]
win32: fix make-check by running 'make update-exports'

10 years agotests: multiqueue: fix eos count on test for not-linked case
Thiago Santos [Fri, 14 Mar 2014 16:32:17 +0000 (13:32 -0300)]
tests: multiqueue: fix eos count on test for not-linked case

From the test case:

/* This test creates a multiqueue with 2 streams. One receives
 * a constant flow of buffers, the other only gets one buffer, and then
 * new-segment events, and returns not-linked. The multiqueue should not fill.
 */

If one of the queues goes EOS and the other returns NOT_LINKED the stream
can be considerered EOS as a NOT_LINKED means that one of the branches has no
sink downstream that will block the EOS message posting.

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

10 years agoadapter: Adapt gst_adapter_copy() for bindings
Sebastian Rasmussen [Sat, 1 Mar 2014 22:18:44 +0000 (23:18 +0100)]
adapter: Adapt gst_adapter_copy() for bindings

This is done by introducing a new gst_adapter_copy_bytes() call that
returns a GBytes structure.

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

10 years agodocs: fix multiqueue docs for new template names foo_%d -> foo_%u
Tim-Philipp Müller [Fri, 14 Mar 2014 18:40:31 +0000 (18:40 +0000)]
docs: fix multiqueue docs for new template names foo_%d -> foo_%u

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

10 years agodocs: update plugin docs
Tim-Philipp Müller [Tue, 11 Mar 2014 21:55:46 +0000 (21:55 +0000)]
docs: update plugin docs

10 years agopad: simplify gst_pad_link_get_name() and fix Since marker
Tim-Philipp Müller [Tue, 11 Mar 2014 21:44:39 +0000 (21:44 +0000)]
pad: simplify gst_pad_link_get_name() and fix Since marker

Has added benefit that compiler might warn if more values
are added to the enum.

10 years agopad: add debug helper for GstPadLinkReturn names
Stefan Sauer [Tue, 11 Mar 2014 20:46:14 +0000 (21:46 +0100)]
pad: add debug helper for GstPadLinkReturn names

Add a helper like gst_flow_get_name() for GstPadLinkReturn. Use this in core.
API: gst_pad_link_get_name()

10 years agotee: use store_sticky events add add more logging
Stefan Sauer [Tue, 11 Mar 2014 20:12:15 +0000 (21:12 +0100)]
tee: use store_sticky events add add more logging

Use the pad as object for logging to get more context. Use
gst_pad_store_sticky_event() instead of sending the event. This avoids a warning
as here the pad is not yet linked and we actually don't want to send anyway.

10 years agoqueue2: if buffering is disabled while buffering, post 100% message
Thiago Santos [Mon, 10 Mar 2014 13:00:28 +0000 (10:00 -0300)]
queue2: if buffering is disabled while buffering, post 100% message

Avoids stall waiting for buffering to reach 100%

10 years agoqueue2: remove unused variable
Thiago Santos [Mon, 10 Mar 2014 12:49:09 +0000 (09:49 -0300)]
queue2: remove unused variable

buffering_iteration was never used

10 years agoqueue: queue2: preserve last flow result when pushing events
Thiago Santos [Mon, 10 Mar 2014 12:49:07 +0000 (09:49 -0300)]
queue: queue2: preserve last flow result when pushing events

Avoids mistakenly returning _OK when downstream is still
_NOT_LINKED on subsequent received pad pushes

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

10 years agomultiqueue: if buffering is disabled while buffering, post 100% message
Thiago Santos [Mon, 10 Mar 2014 12:49:05 +0000 (09:49 -0300)]
multiqueue: if buffering is disabled while buffering, post 100% message

Avoids stall waiting for buffering to reach 100%

10 years agomultiqueue: do not reset last push result when pushing events
Thiago Santos [Mon, 10 Mar 2014 12:48:58 +0000 (09:48 -0300)]
multiqueue: do not reset last push result when pushing events

Use the last result as a default when pushing a item from a single queue,
otherwise the status gets reset to _OK when pushing events.

This causes problems when mistakenly activating a not-linked stream
that is being ignored upstream as it is not being used (adaptive
scenarios), it will make the multiqueue post a buffering message
on a pad that won't receive buffers

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

10 years agobuffer: invert meaning of GST_BUFFER_FLAG_TAG_MEMORY
Tim-Philipp Müller [Fri, 7 Mar 2014 20:43:44 +0000 (20:43 +0000)]
buffer: invert meaning of GST_BUFFER_FLAG_TAG_MEMORY

It's nicer to only have it set when something noteworthy
happened and otherwise unset.

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