platform/upstream/gstreamer.git
10 years agobin: Use the new group-id field of the stream-start message for stream-start message...
Sebastian Dröge [Mon, 22 Jul 2013 09:42:18 +0000 (11:42 +0200)]
bin: Use the new group-id field of the stream-start message for stream-start message aggregation

If all stream-start messages had a group id (for backwards compatibility),
we only consider a stream started if all had the same group id.

In 2.0 we should make the group id mandatory.

10 years agogst: Add new group-id field to the stream-start event
Sebastian Dröge [Mon, 22 Jul 2013 09:41:35 +0000 (11:41 +0200)]
gst: Add new group-id field to the stream-start event

All streams that have the same group id are supposed to be played
together, i.e. all streams inside a container file should have the
same group id but different stream ids. The group id should change
each time the stream is started, resulting in different group ids
each time a file is played for example.

10 years agocommon: revert accidental change of common submodule
Tim-Philipp Müller [Thu, 18 Jul 2013 22:29:49 +0000 (23:29 +0100)]
common: revert accidental change of common submodule

10 years agogst: Add some more Since: 1.2
Sebastian Dröge [Thu, 18 Jul 2013 12:39:42 +0000 (14:39 +0200)]
gst: Add some more Since: 1.2

10 years agoinfo: Add some Since: 1.2
Sebastian Dröge [Thu, 18 Jul 2013 12:34:31 +0000 (14:34 +0200)]
info: Add some Since: 1.2

10 years agoinfo: Add debug color mode option
Руслан Ижбулатов [Thu, 18 Jul 2013 11:10:10 +0000 (15:10 +0400)]
info: Add debug color mode option

This allows to explicitely set the debug output color
mode to UNIX on every platform, enable it (use platform
default color mode) or enable it.

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

10 years agoinfo: Fix black and underline coloring on W32
Руслан Ижбулатов [Wed, 18 Apr 2012 10:35:32 +0000 (14:35 +0400)]
info: Fix black and underline coloring on W32

Fixes #674320

10 years agoinfo: Cut down src file names for MinGW too
Руслан Ижбулатов [Wed, 18 Apr 2012 10:12:16 +0000 (14:12 +0400)]
info: Cut down src file names for MinGW too

Fixes #674320

10 years agogst-uninstalled: Fix gst-plugins-gl in uninstalled setup
Nicola Murino [Tue, 16 Jul 2013 15:47:45 +0000 (17:47 +0200)]
gst-uninstalled: Fix gst-plugins-gl in uninstalled setup

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

10 years agoadapter: Take account of the skip in gst_adapter_take_buffer_fast()
Olivier Crête [Tue, 16 Jul 2013 19:35:08 +0000 (15:35 -0400)]
adapter: Take account of the skip in gst_adapter_take_buffer_fast()

Include regression test

10 years agoadapter: Add function to return buffer composed of multiple memories
Olivier Crête [Mon, 15 Jul 2013 19:41:44 +0000 (15:41 -0400)]
adapter: Add function to return buffer composed of multiple memories

API: gst_adapter_take_fast()

10 years agoquery: Don't assert if no context is set in the query
Sebastian Dröge [Tue, 16 Jul 2013 14:24:38 +0000 (16:24 +0200)]
query: Don't assert if no context is set in the query

10 years agobenchmarks: ignore new benchmark binary
Tim-Philipp Müller [Tue, 16 Jul 2013 13:47:05 +0000 (14:47 +0100)]
benchmarks: ignore new benchmark binary

10 years agoquery: sprinkle some Since 1.2 markers in docs
Tim-Philipp Müller [Tue, 16 Jul 2013 13:46:15 +0000 (14:46 +0100)]
query: sprinkle some Since 1.2 markers in docs

10 years agotimeprovider: g-i: allow None as address for gst_net_time_provider_new()
Tim-Philipp Müller [Tue, 16 Jul 2013 13:44:03 +0000 (14:44 +0100)]
timeprovider: g-i: allow None as address for gst_net_time_provider_new()

10 years agoelement: Return an empty GstContext if none was set yet
Sebastian Dröge [Tue, 16 Jul 2013 13:34:57 +0000 (15:34 +0200)]
element: Return an empty GstContext if none was set yet

10 years agoquery: Add gst_query_has_context_type()
Sebastian Dröge [Tue, 16 Jul 2013 13:16:16 +0000 (15:16 +0200)]
query: Add gst_query_has_context_type()

10 years agomultiqueue: only block serialized query when it's safe
Sebastian Dröge [Tue, 16 Jul 2013 09:36:50 +0000 (11:36 +0200)]
multiqueue: only block serialized query when it's safe

We must be certain that we don't cause a deadlock when blocking the serialized
queries. One such deadlock can happen when we are buffering and downstream is
blocked in preroll and a serialized query arrives. Downstream will not unblock
(and allow our query to execute) until we complete buffering and buffering will
not complete until we can answer the query..

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

10 years agopad: A newly activated pad should be marked as needing reconfiguration
Sebastian Dröge [Mon, 15 Jul 2013 09:36:18 +0000 (11:36 +0200)]
pad: A newly activated pad should be marked as needing reconfiguration

10 years agoRevert "pad: Don't consider flushing pads as needing reconfiguration"
Sebastian Dröge [Mon, 15 Jul 2013 09:32:54 +0000 (11:32 +0200)]
Revert "pad: Don't consider flushing pads as needing reconfiguration"

This reverts commit 948a9d2f2b728f5fb60be45d47a818cebeb60c7d.

This is racy and trying to reconfigure and fail is still better
than not trying to reconfigure at all.

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

10 years agobasesrc: Leave the loop function faster if we're flushing
Sebastian Dröge [Mon, 15 Jul 2013 09:32:10 +0000 (11:32 +0200)]
basesrc: Leave the loop function faster if we're flushing

Especially don't even try to send stream-start event or try
to negotiate.

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

11 years agoinputselector: Deactivate and remove pad without the inputselector lock
Sebastian Dröge [Fri, 12 Jul 2013 08:08:26 +0000 (10:08 +0200)]
inputselector: Deactivate and remove pad without the inputselector lock

Otherwise we might get deadlocks caused by lock order inversion:
During the chain function the stream lock is first locked and then the
inputselector lock. During pad release we first locked the inputselector
lock and then deactivating the pad would lock the stream lock.

There's no reason why the inputselector lock should be required while
deactivating and removing the pad, it's only needed before.

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

11 years agoBack to development
Sebastian Dröge [Thu, 11 Jul 2013 14:57:06 +0000 (16:57 +0200)]
Back to development

11 years agoRelease 1.1.2 1.1.2
Sebastian Dröge [Thu, 11 Jul 2013 13:12:39 +0000 (15:12 +0200)]
Release 1.1.2

11 years agoUpdate .po files
Sebastian Dröge [Thu, 11 Jul 2013 13:11:27 +0000 (15:11 +0200)]
Update .po files

11 years agobin: Always forward clock-lost message if we're not a top-level bin
Sebastian Dröge [Wed, 10 Jul 2013 13:52:10 +0000 (15:52 +0200)]
bin: Always forward clock-lost message if we're not a top-level bin

This makes sure that no bin misses the clock-lost messages, independent
of the state, and could return an old, non-working clock from
gst_bin_provide_clock_func().

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

11 years agoinputselector: Keep previous active sinkpad around until we're done with it
Sebastian Dröge [Wed, 10 Jul 2013 12:30:31 +0000 (14:30 +0200)]
inputselector: Keep previous active sinkpad around until we're done with it

Otherwise we'll send a new segment event downstream for each buffer.

11 years agoallocator: fix type of gst_memory_alignment to match declaration
Tim-Philipp Müller [Mon, 8 Jul 2013 14:26:38 +0000 (15:26 +0100)]
allocator: fix type of gst_memory_alignment to match declaration

Fixes compiler warnings such as
gstallocator.c:61:8: error: conflicting types for 'gst_memory_alignment'
../gst/gstallocator.h:52:18: note: previous declaration of 'gst_memory_alignment' was here

11 years agopo: update POTFILES.in
Piotr Drąg [Fri, 5 Jul 2013 19:36:27 +0000 (21:36 +0200)]
po: update POTFILES.in

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

11 years agobasesrc: Do not lock a mutex that does not exist
Thibault Saunier [Fri, 5 Jul 2013 00:39:26 +0000 (20:39 -0400)]
basesrc: Do not lock a mutex that does not exist

The GST_LIVE_LOCK is on GstBaseSrc, not on its source pad.

11 years agobaseparse: reset PTS after seek
Wim Taymans [Wed, 3 Jul 2013 19:23:44 +0000 (21:23 +0200)]
baseparse: reset PTS after seek

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

11 years agoAdd few missing allow-none annotation
Nicolas Dufresne [Wed, 3 Jul 2013 17:03:49 +0000 (13:03 -0400)]
Add few missing allow-none annotation

11 years agogst-uninstalled: add new -bad mpegts lib
Tim-Philipp Müller [Wed, 3 Jul 2013 08:27:13 +0000 (09:27 +0100)]
gst-uninstalled: add new -bad mpegts lib

And remove signalprocessor/video libs from -bad which have gone
away or were merged into -base.

11 years agofunnel: Re-push all sticky events when buffers come from a different pad
Olivier Crête [Tue, 2 Jul 2013 00:35:21 +0000 (20:35 -0400)]
funnel: Re-push all sticky events when buffers come from a different pad

Don't special case segment/caps, just push all sticky events when they are
received on the currently active pad or when the active pad changes.

11 years agofunnel: Use default pad function for upstream event/queries
Olivier Crête [Tue, 2 Jul 2013 00:21:10 +0000 (20:21 -0400)]
funnel: Use default pad function for upstream event/queries

The default functions in 1.x already do the right thing

11 years agotests: Remove funnel pad_alloc test
Olivier Crête [Tue, 2 Jul 2013 00:18:58 +0000 (20:18 -0400)]
tests: Remove funnel pad_alloc test

11 years agocheck: Change stream_id parameter name to match GtkDoc
Olivier Crête [Tue, 2 Jul 2013 00:07:03 +0000 (20:07 -0400)]
check: Change stream_id parameter name to match GtkDoc

11 years agocheck: Added gst_check_setup_events_with_stream_id()
Jonas Holmberg [Mon, 1 Jul 2013 09:10:00 +0000 (11:10 +0200)]
check: Added gst_check_setup_events_with_stream_id()

Added a new function gst_check_setup_events_with_stream_id(), since
gst_check_setup_events() does not work with multiple pads.

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

11 years agopad: Don't consider flushing pads as needing reconfiguration
Sebastian Dröge [Sun, 30 Jun 2013 16:39:03 +0000 (18:39 +0200)]
pad: Don't consider flushing pads as needing reconfiguration

Renegotiation and reconfiguration will fail because all queries
and events won't be accepted by the pad if it's flushing. In the
best case this just causes unneeded work and spurious warnings in
the debug logs, in the worst case it causes elements to fail completely.

11 years agoqueue2: only block serialized query when it's safe
Wim Taymans [Mon, 24 Jun 2013 21:25:51 +0000 (23:25 +0200)]
queue2: only block serialized query when it's safe

We must be certain that we don't cause a deadlock when blocking the serialized
queries. One such deadlock can happen when we are buffering and downstream is
blocked in preroll and a serialized query arrives. Downstream will not unblock
(and allow our query to execute) until we complete buffering and buffering will
not complete until we can answer the query..

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

11 years agopad: Add a filter to the caps_query done by acceptcaps
Sjoerd Simons [Wed, 19 Jun 2013 10:30:47 +0000 (12:30 +0200)]
pad: Add a filter to the caps_query done by acceptcaps

Use the caps that the pad is asked to accept as filter for the query

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

11 years agobasetransform: optimize default acceptcaps implementation
Sjoerd Simons [Wed, 19 Jun 2013 10:19:02 +0000 (12:19 +0200)]
basetransform: optimize default acceptcaps implementation

Pass the fixed caps we're asked to accept as a filter for the caps
query, so we don't get a fully-expanded set of caps back (which we don't
need and can take a lot of time for intersection).

This reduces the time for camerabin to produce a second frame on a
logitech C910 camera from around 52 seconds to a bit less then 16
seconds on my system.

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

11 years agotaglist: Avoid combinatorial explosion when merging tags
Edward Hervey [Wed, 19 Jun 2013 07:19:53 +0000 (09:19 +0200)]
taglist: Avoid combinatorial explosion when merging tags

When appending/prepending tags, avoid re-creating (and copying) lists if we already
have one and instead just append/prepend the GValue to the list.

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

11 years agoqueue: Don't hold the queue mutex while doing serialized queries downstream
Sebastian Dröge [Wed, 19 Jun 2013 08:53:21 +0000 (10:53 +0200)]
queue: Don't hold the queue mutex while doing serialized queries downstream

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

11 years agobuffer: Add unit test for map_range()
Sebastian Dröge [Wed, 19 Jun 2013 08:45:45 +0000 (10:45 +0200)]
buffer: Add unit test for map_range()

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

11 years agobuffer: Fix wrong size/index handling when merging memory
Paul HENRYS [Wed, 19 Jun 2013 06:36:22 +0000 (08:36 +0200)]
buffer: Fix wrong size/index handling when merging memory

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

11 years agodocs: add missing file for doc-link check
Stefan Sauer [Tue, 18 Jun 2013 09:39:55 +0000 (11:39 +0200)]
docs: add missing file for doc-link check

11 years agotests: add stress test for buffers and pools
Wim Taymans [Mon, 17 Jun 2013 09:12:51 +0000 (11:12 +0200)]
tests: add stress test for buffers and pools

11 years agobasesink: call state change in all cases
Wim Taymans [Mon, 17 Jun 2013 08:25:20 +0000 (10:25 +0200)]
basesink: call state change in all cases

When we asynchronously go from READY to PLAYING, also call the
state change function so that subclasses can update their state for PLAYING.
Because the PREROLL lock is not recursive, we can't make this without
races and we must assume for now that the subclass can handle concurrent calls
to PAUSED->PLAYING and PLAYING->PAUSED. We can make this assumption because not
many elements actually do something in those state changes and the ones that
did would be broken even more without this change.

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

11 years agodocs: fix some external links
Stefan Sauer [Sun, 16 Jun 2013 13:07:35 +0000 (15:07 +0200)]
docs: fix some external links

11 years agodocs: check for broken links in docs
Stefan Sauer [Sun, 16 Jun 2013 12:45:08 +0000 (14:45 +0200)]
docs: check for broken links in docs

The check is done using curl (if available). It lists the curl exit code + http
status code (for those > 399) together with the use of the url in the code. The
check is not fatal.

11 years agodocs: change https to http urls
Stefan Sauer [Sun, 16 Jun 2013 11:05:21 +0000 (13:05 +0200)]
docs: change https to http urls

Thank you browser for needlessly changing to https for static doc pages.

11 years agodocs: update links to developer.gnome.org
Stefan Sauer [Sun, 16 Jun 2013 09:41:52 +0000 (11:41 +0200)]
docs: update links to developer.gnome.org

The URL layout has changed. Fix the links and comment out one paragraph where
the doc is gone.
Fixes #702135

11 years agostructure: Add gst_structure_new_from_string()
Sebastian Dröge [Fri, 14 Jun 2013 11:05:38 +0000 (13:05 +0200)]
structure: Add gst_structure_new_from_string()

Convenience API for bindings, gst_structure_from_string() returns
a tuple (structure, end_ptr) in bindings and is unintuitive to use
because of that.

11 years agogst: Don't intercept --help in gst_init()
Hans de Goede [Thu, 13 Jun 2013 06:36:23 +0000 (08:36 +0200)]
gst: Don't intercept --help in gst_init()

Before this patch gst_init would intercept --help, causing for example
cheese's --help to look like this:

[hans@shalem cheese]$ cheese --help
Usage:
  cheese [OPTION...] - GStreamer initialization

Help Options:
  -h, --help                        Show help options
  --help-all                        Show all help options
  --help-gst                        Show GStreamer Options

gst_init is the only gfoo_init function which does this.

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

11 years agogst-uninstalled: add uridownloader lib in -bad to search paths
Tim-Philipp Müller [Wed, 12 Jun 2013 08:45:56 +0000 (09:45 +0100)]
gst-uninstalled: add uridownloader lib in -bad to search paths

Even if it might not be around for long.

11 years agogst-launch: Remove unref that should not be there
Sebastian Dröge [Tue, 11 Jun 2013 08:25:02 +0000 (10:25 +0200)]
gst-launch: Remove unref that should not be there

We keep a reference to the context around all the time.

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

11 years agogst-launch: Improve GstContext handling
Sebastian Dröge [Sun, 9 Jun 2013 15:20:22 +0000 (17:20 +0200)]
gst-launch: Improve GstContext handling

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

11 years agowin32: Don't include gstcollectpads.c twice
Kim Lam [Fri, 7 Jun 2013 11:07:37 +0000 (13:07 +0200)]
win32: Don't include gstcollectpads.c twice

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

11 years agoinput-selector: send notify::active signal for input-selector pads.
Brendan Long [Fri, 31 May 2013 15:39:55 +0000 (09:39 -0600)]
input-selector: send notify::active signal for input-selector pads.

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

11 years agobasesrc: Only force-update the duration for dynamic sources when doing the DURATION...
Sebastian Dröge [Thu, 6 Jun 2013 14:46:12 +0000 (16:46 +0200)]
basesrc: Only force-update the duration for dynamic sources when doing the DURATION query

Doing it after every single create() is not very efficient and not necessary.
Especially on network file systems fstat() is not cached and causes network
traffic, making the source possibly unusable slow.

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

11 years agoBack to development
Sebastian Dröge [Wed, 5 Jun 2013 16:36:40 +0000 (18:36 +0200)]
Back to development

11 years agoRelease 1.1.1 1.1.1
Sebastian Dröge [Wed, 5 Jun 2013 15:58:51 +0000 (17:58 +0200)]
Release 1.1.1

11 years agoUpdate .po files
Sebastian Dröge [Wed, 5 Jun 2013 14:06:35 +0000 (16:06 +0200)]
Update .po files

11 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 5 Jun 2013 13:14:14 +0000 (15:14 +0200)]
Automatic update of common submodule

From 098c0d7 to 01a7a46

11 years agogstvalue: Add _append_and_take_value() public variants
Edward Hervey [Wed, 5 Jun 2013 09:02:50 +0000 (11:02 +0200)]
gstvalue: Add _append_and_take_value() public variants

API: gst_value_array_append_and_take_value
API: gst_value_list_append_and_take_value

We were already using this internally, this makes it public for code
which frequently appends values which are expensive to copy (like
structures, arrays, caps, ...).

Avoids copies of the values for users. The passed GValue will also
be 0-memset'ed for re-use.

New users can replace this kind of code:
gst_value_*_append_value(mycontainer, &myvalue);
g_value_unset(&myvalue);

by:

gst_value_*_append_and_take_value(mycontainer, &myvalue);

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

11 years agogstbuffer: Use internal function for buffer_new_wrapped
Edward Hervey [Wed, 29 May 2013 15:20:34 +0000 (17:20 +0200)]
gstbuffer: Use internal function for buffer_new_wrapped

Shaves ~10% instruction calls from the total cost

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

11 years agoinput-selector: return FALSE for "active" property if selector is NULL
Brendan Long [Fri, 31 May 2013 04:57:49 +0000 (22:57 -0600)]
input-selector: return FALSE for "active" property if selector is NULL

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

11 years agomanual: update elements to match the rest of "Boost priority of a thread" section
Andrzej Bieniek [Sat, 1 Jun 2013 13:00:22 +0000 (14:00 +0100)]
manual: update elements to match the rest of "Boost priority of a thread" section

11 years agomanual: fix comment in effectswitch example
Andrzej Bieniek [Sat, 1 Jun 2013 12:55:50 +0000 (13:55 +0100)]
manual: fix comment in effectswitch example

11 years agomanual: fix a typo in "Inserting data with appsrc" section
Andrzej Bieniek [Sat, 1 Jun 2013 12:49:18 +0000 (13:49 +0100)]
manual: fix a typo in "Inserting data with appsrc" section

11 years agopwg: fix a few typos
Andrzej Bieniek [Sat, 1 Jun 2013 12:22:22 +0000 (13:22 +0100)]
pwg: fix a few typos

11 years agodocs: remove double "the"
Andrzej Bieniek [Fri, 31 May 2013 22:37:07 +0000 (23:37 +0100)]
docs: remove double "the"

11 years agoscripts: improve git-update.sh status message
Krzysztof Konopko [Tue, 28 May 2013 22:34:54 +0000 (23:34 +0100)]
scripts: improve git-update.sh status message

By default when the script is about to exit (normally or due to an error),
it checks whether $ERROR_LOG file exists.  If the log file exists, the
script prints a "Failures: " message prefix and dumps the log file to the
output.

Apparently the log file is always created and if the update/build is
successful, the script finishes with a bit misleading "Failures: " message.

An improvement provided with this change lets the log file to be created as
needed, i.e. if there's an error message to be printed.  If the file
doesn't exists, the script prints a "Update done" message which clearly
indicates success.

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

11 years agocheck: fix position unit test
Wim Taymans [Thu, 30 May 2013 05:03:40 +0000 (07:03 +0200)]
check: fix position unit test

11 years agobasesink: improve position reporting without clock
Wim Taymans [Thu, 30 May 2013 04:51:24 +0000 (06:51 +0200)]
basesink: improve position reporting without clock

When no base time or when sync is disabled, use the same logic as
in paused to report position. The logic in PLAYING assumes we use the
clock.

11 years agopad: Fix memory leak in the unit test
Sebastian Dröge [Wed, 29 May 2013 09:36:38 +0000 (11:36 +0200)]
pad: Fix memory leak in the unit test

11 years agoelementfactory: Add support for checking subtitle/metadata factory types
Sebastian Dröge [Tue, 28 May 2013 10:44:19 +0000 (12:44 +0200)]
elementfactory: Add support for checking subtitle/metadata factory types

11 years agoelementfactory: Add support for checking only the media type of a factory
Sebastian Dröge [Tue, 28 May 2013 10:41:27 +0000 (12:41 +0200)]
elementfactory: Add support for checking only the media type of a factory

And while at it also add Metadata and Subtitle media types.

11 years ago(multi)queue: Don't access query items during flushing
Sebastian Dröge [Mon, 27 May 2013 14:38:18 +0000 (16:38 +0200)]
(multi)queue: Don't access query items during flushing

11 years agomultiqueue: Don't do serialized queries when we're flushing
Sebastian Dröge [Mon, 27 May 2013 14:22:00 +0000 (16:22 +0200)]
multiqueue: Don't do serialized queries when we're flushing

Just immediately fail the query, otherwise we would wait forever
for the query to be answered.

11 years agoqueue2: First set query result, then signal GCond
Sebastian Dröge [Mon, 27 May 2013 14:08:39 +0000 (16:08 +0200)]
queue2: First set query result, then signal GCond

11 years agoqueue: Fix handling of serialized queries
Sebastian Dröge [Mon, 27 May 2013 13:59:07 +0000 (15:59 +0200)]
queue: Fix handling of serialized queries

During FLUSH_START the query needs to be unblocked already, otherwise
it can lead to deadlocks if the FLUSH_START is the result of something
done from the streaming thread of the srcpad (the queue will never be
emptied!).

11 years agoqueue2: Unblock any waiting serialize queries on FLUSH_START
Sebastian Dröge [Mon, 27 May 2013 13:41:14 +0000 (15:41 +0200)]
queue2: Unblock any waiting serialize queries on FLUSH_START

Fixes some deadlocks during flushing.

And store queue items differently to not accidentially read
already unreffed queries when flushing. Queries are owned by
upstream and not us.

11 years agoqueue/queue2/multiqueue: When flushing, make sure to not lose any sticky events
Sebastian Dröge [Mon, 27 May 2013 11:01:43 +0000 (13:01 +0200)]
queue/queue2/multiqueue: When flushing, make sure to not lose any sticky events

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

11 years agopad: Store sticky events even if the pad is flushing
Sebastian Dröge [Mon, 27 May 2013 10:40:50 +0000 (12:40 +0200)]
pad: Store sticky events even if the pad is flushing

But do this only for events that are not dropped by flushing,
i.e. do it only for everything except SEGMENT and EOS.

Without this we might drop a CAPS event if flushing happens
at an unfortunate time and nobody is resending the CAPS event.

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

11 years agovalve: Don't read sticky flag from unrefed event
Nicolas Dufresne [Sun, 26 May 2013 02:03:53 +0000 (22:03 -0400)]
valve: Don't read sticky flag from unrefed event

11 years agotee: fix property description for now-unused "alloc-pad" property
Tim-Philipp Müller [Fri, 24 May 2013 22:28:04 +0000 (23:28 +0100)]
tee: fix property description for now-unused "alloc-pad" property

Should probably proxy ALLOCATION queries on that though, if set.
But what else? CAPS and ACCEPT_CAPS too?

11 years agobasetransform: remove 0.10-ism from docs
Tim-Philipp Müller [Fri, 24 May 2013 22:01:09 +0000 (23:01 +0100)]
basetransform: remove 0.10-ism from docs

gst_buffer_pad_alloc() never existed, and gst_pad_alloc_buffer()
doesn't exist any more either, so don't mention it in the docs.

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

11 years agoqueue2: Add support for serialized queries if using a memory queue
Sebastian Dröge [Fri, 24 May 2013 17:22:22 +0000 (19:22 +0200)]
queue2: Add support for serialized queries if using a memory queue

11 years agoqueue: Set the last serialized query result to FALSE when flushing
Sebastian Dröge [Fri, 24 May 2013 16:47:24 +0000 (18:47 +0200)]
queue: Set the last serialized query result to FALSE when flushing

11 years agomultiqueue: Initialize all GstMultiQueueItem fields in both code paths
Sebastian Dröge [Fri, 24 May 2013 16:42:55 +0000 (18:42 +0200)]
multiqueue: Initialize all GstMultiQueueItem fields in both code paths

11 years agomultiqueue: Don't access the query after signalling the waiting thread
Sebastian Dröge [Fri, 24 May 2013 16:38:40 +0000 (18:38 +0200)]
multiqueue: Don't access the query after signalling the waiting thread

It might've free'd the query already.

11 years agomultiqueue: Make sure to always signal any possible pending serialized queries
Sebastian Dröge [Fri, 24 May 2013 16:30:44 +0000 (18:30 +0200)]
multiqueue: Make sure to always signal any possible pending serialized queries

And don't unref them when flushing the queue, they're owned by the caller!

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

11 years agobasetransform: Return GST_FLOW_ERROR if the allocator did not allow to allocate a...
Sebastian Dröge [Fri, 24 May 2013 12:37:19 +0000 (14:37 +0200)]
basetransform: Return GST_FLOW_ERROR if the allocator did not allow to allocate a buffer

11 years agodocs: Remove mention of gconf* elements
Olivier Crête [Fri, 24 May 2013 07:24:10 +0000 (16:24 +0900)]
docs: Remove mention of gconf* elements

Instead recommend pulsesrc/sink for audio, there is nothing GNOME
specific for video.

11 years agotypefind: Handle the force-caps property more similar to all typefinding code flow
Sebastian Dröge [Wed, 15 May 2013 11:22:04 +0000 (13:22 +0200)]
typefind: Handle the force-caps property more similar to all typefinding code flow

This makes sure that events happen in order and simplifies the code a bit.

11 years agocheck: Fix event handling in gst_check_element_push_buffer_list()
Sebastian Dröge [Wed, 15 May 2013 09:21:46 +0000 (11:21 +0200)]
check: Fix event handling in gst_check_element_push_buffer_list()

11 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 15 May 2013 08:51:01 +0000 (10:51 +0200)]
Automatic update of common submodule

From 5edcd85 to 098c0d7

11 years agopad: Only check if we get buffers before stream-start/segment if compiling without...
Sebastian Dröge [Fri, 10 May 2013 14:03:34 +0000 (16:03 +0200)]
pad: Only check if we get buffers before stream-start/segment if compiling without G_DISABLE_ASSERT

In releases this is set usually.