Commit graph

12085 commits

Author SHA1 Message Date
Wim Taymans
8914ccad3f plugin: protect against NULL filename in debug
See https://bugzilla.gnome.org/show_bug.cgi?id=689948
2012-12-10 11:56:05 +01:00
Luis de Bethencourt
be4120db9e add gst-editing-services to PKG_CONFIG_PATH 2012-11-27 12:57:43 -05:00
Olivier Crête
eb83421048 Document GST_DEBUG_FILE 2012-11-06 18:31:54 +01:00
Sebastian Dröge
4f311b16e7 info: Don't use GST_DEBUG() in gst_debug_add_log_function() and related functions unconditionally
If GStreamer was not initialized yet this will cause g_warnings().

Conflicts:
	gst/gstinfo.c
2012-10-22 10:27:41 +02:00
Sebastian Dröge
09743e0ac9 element: API: Add GstElement::post_message() vfunc 2012-10-16 12:31:50 +02:00
Tim-Philipp Müller
bbec3d4e2f queue2: fix possible data corruption in ring buffer mode when seeking
Fix race that could cause data corruption when seeking in ring buffer
mode.

In perform_seek_to_offset(), called from the demuxer's pull_range
request, we drop the lock, tell upstream (usually a http source)
to seek to a different offset, then re-acquire the lock before we
do things to the ranges. However, between us sending the seek event
and re-acquiring the lock, the source thread might already have pushed
some data and moved along the range's writing_pos beyond the seek
offset. In that case we don't want to set the writing position back
to the requested seek position, as it would cause data to be written
to the wrong offset in the file or ring buffer.

Reproducible doing seek-emulated fast-forward/backward on 006653.
2012-09-12 12:31:04 +01:00
Tim-Philipp Müller
42b3e5565d tests: fix buffer leak in queue2 unit test 2012-09-12 12:28:06 +01:00
Stefan Sauer
30d11e413a preset: implement child_proxy support
Elements such as the GstIirEqualizerNBands would so far not store the properties
of their children. Now we also grab the properties of child elements and try to
restore them.
2012-08-17 15:01:41 +02:00
Sebastian Rasmussen
955693fc36 gststructure: Set lcopy string const exactly as glib's macro
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679534
2012-07-21 20:26:57 +05:30
Thijs Vermeir
91e6767c59 dataprotocol: also copy the MEDIA flags 2012-07-17 17:46:47 +02:00
Wim Taymans
cce71223d7 pad: don't call pad block callbacks multiple times
Ensure that when multiple threads try to block a pad, only one of the threads
calls the callback. We do this by checking if the callback was already called.
The previous version unconditionally called the callback and then checked if it
was already called...
Also only call the unblock callback once from the first thread that unblocks.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679950
2012-07-16 15:25:46 +02:00
Tim-Philipp Müller
9813876825 toc: remove TOC API again from 0.10
This has undergone significant changes in implementation and
design in 0.11, and we're just not going to backport this to
0.10, so let's just remove it again and continue to fix this
up in master/1.0.
2012-07-12 23:43:16 +01:00
Wim Taymans
68860526e9 basesink: handle step end correctly
when we have a new step event with a -1 amount, make sure that we follow the
regular code path so that the stop_end handler is called as usual. This takes
care of flushing the buffer in case of a flushing step and also posts a step end
message.

See https://bugzilla.gnome.org/show_bug.cgi?id=679378
2012-07-12 16:14:58 +02:00
Tim-Philipp Müller
7932f62891 docs: expand a bit more on GST_DEBUG docs 2012-06-28 14:47:22 +01:00
Javier Jardón
805674eed1 docs/gst/running.xml: Add info about the GST_TRACE environment variable
https://bugzilla.gnome.org/show_bug.cgi?id=679008
2012-06-28 14:34:03 +01:00
Javier Jardón
b348f1daad docs/gst/running.xml: GStreamer supports more debuggins levels
https://bugzilla.gnome.org/show_bug.cgi?id=679008
2012-06-28 14:34:00 +01:00
Idar Tollefsen
e6d6cbf5e3 build: Make sure AC_INCLUDES_DEFAULT is used
Without using AC_INCLUDES_DEFAULT explicitly,
certain platforms will complain that the header
was found, but not usable by the compiler.
This happens for instance on Solaris where certain
headers are needed to pull in proper defines.

Also upgrade to newer autoconf syntax and use proper quoting.

https://bugzilla.gnome.org/show_bug.cgi?id=667293
2012-06-27 21:18:24 +01:00
Lionel Landwerlin
c3ec487098 configure: add --disable-tools and --disable-benchmarks options
Add option to avoid build binaries. When building for platforms like
android, you might want to not link any "final" binary, mostly because
it requires special link flags or other parts of code that aren't
in the C library.

https://bugzilla.gnome.org/show_bug.cgi?id=677621
2012-06-26 23:17:54 +01:00
Wim Taymans
36c61df297 bin: always recurse into bins when doing state changes
Never skip the state change of a bin because it needs to update the base time of
its children when needed.
2012-06-25 12:20:54 -03:00
Thiago Santos
a396ba2bde inputselector: avoid notify-tags holding lock
unlock before issuing this notification to prevent
deadlocks when other elements reacts to new tags.

Fixes #678220
2012-06-21 10:24:46 -03:00
Thiago Santos
dd38990717 gst-uninstalled: add gst-p-bad gst-libs to the path
Makes videoparsers and camerabins from bad usable from an uninstalled
environment at osx
2012-06-21 10:24:29 -03:00
Tim-Philipp Müller
fe83d4aa6a tools: remove pointless get_state() in gst-launch
State changes to NULL state are always sync.
2012-06-20 12:53:04 +01:00
Fabrizio Gennari
377d2363ce win32: update Visual Studio 2005 build files
https://bugzilla.gnome.org/show_bug.cgi?id=672492
2012-06-18 23:33:59 +01:00
David Svensson Fors
70a95ff5c7 gstfunnel: avoid access of freed pad
Save the value of the pad's got_eos in gst_funnel_release_pad,
before calling gst_element_remove_pad. This is because
gst_element_remove_pad may free the pad.

https://bugzilla.gnome.org/show_bug.cgi?id=678017
2012-06-14 14:09:57 +01:00
Vincent Penquerc'h
321af1ccb8 element: fix pad transfer annotation from none to full
since the pad will be unreffed.
2012-06-14 14:05:15 +01:00
Stefan Sauer
11c8ffb6fb childproxy: add a few more comments 2012-06-12 11:07:13 +02:00
Stefan Sauer
b3132da8c8 childproxy: no need to do expensive casts here 2012-06-11 21:17:24 +02:00
Edward Hervey
a1a1b144fb gstutils: Faster read macros
On platforms that can do unaligned read/write, we can read/write much faster
by just casting.

https://bugzilla.gnome.org/show_bug.cgi?id=599546
2012-06-08 14:15:51 +02:00
Edward Hervey
d58b0c4192 Update common submodule 2012-06-08 14:15:51 +02:00
Sebastian Dröge
36b8bee85e ghostpad: Add a fixed unit test for caps propagation and notify::caps events 2012-06-08 12:55:51 +02:00
Sebastian Dröge
d563379085 ghostpad: Don't change the ghostpad caps immediately when the peer caps change
This should only happen during data-flow.
2012-06-08 11:16:31 +02:00
Wim Taymans
6cdc416273 basesrc: release the object lock sooner
Release the object lock before we get the time of the clock because that code
might take other locks.
Fix potential clock refcount error because we released the object lock but
didn't ref the clock.
2012-06-07 15:33:47 +02:00
Edward Hervey
fa9f28ac12 check: Add a test for GST_READ_* macros 2012-06-07 14:02:59 +02:00
Edward Hervey
15385a681e Use the right common branch
Accidently used the master (and not 0.10) branch
2012-06-06 18:16:01 +02:00
Edward Hervey
d96ce2a6a7 registry: We name the registry after the target cpu
And not the host cpu
2012-06-06 18:11:50 +02:00
Edward Hervey
a68b0ded3e Switch to new master common for target cpu defines 2012-06-06 18:11:50 +02:00
Havard Graff
a4b9b79c96 Make sure that unlinked pads do not cause a return false on latency events.
Context: Latency configuration should not be
messed up because of not-linked pads. In general,
one return FALSE on latency distribution causes
the "overall" pipeline latency configuration to
fail. This shows up as noise in logs (warning).
2012-06-06 13:22:19 +02:00
Sebastian Dröge
9760c012f6 Revert "pad: Check via gst_pad_accept_caps() if a sinkpad accepts caps"
This reverts commit 7558fd21ee.

Many elements, like ac3parse, depend on the broken behaviour and
stop working after this change.
2012-06-05 08:33:28 +02:00
Sebastian Dröge
7558fd21ee pad: Check via gst_pad_accept_caps() if a sinkpad accepts caps
instead of just checking if the pad template caps would allow the caps.

The actually supported caps can be far more restrictive than the
template caps and only checking for the template caps can cause
incompatible caps to be set on a pad.

Fixes bug #677335.
2012-06-04 09:31:07 +02:00
Sebastian Dröge
1c0764f764 ghostpad: Don't propagate setcaps() calls to the target pads
The core will do this during dataflow already and additionally
does compatibility checks then. Let it be handled by the core
as for every other pad too.

Fixes bug #677335.
2012-06-04 09:29:22 +02:00
Andre Moreira Magalhaes (andrunko)
2424d9896c inputselector: Correctly get current running time when syncing to the segment information
Fixes bug #677263.
2012-06-01 16:36:19 +02:00
Edward Hervey
c981f99df1 Automatic update of common submodule
From 96f075b to b098abb
2012-06-01 10:20:51 +02:00
Olivier Crête
5431af5415 funnel: Release object lock before pushing EOS event
When releasing a pad, if all other pads are EOS, then release
the object lock before sending an EOS.
2012-05-31 13:24:08 -04:00
Mike Ruprecht
f3b2dd6fa1 tests: Add funnel test to cover EOS event handling 2012-05-31 12:58:00 -04:00
Mike Ruprecht
d397ea972d funnel: Only emit EOS event if all sinkpads have received one
If multiple sources are plugged into the funnel and one of the
sources emits an EOS, that event is propogated through the funnel
even though other sources connected to the funnel may still be
pushing data. This patch waits to send an EOS event until the
funnel has received an EOS event on each sinkpad.
2012-05-31 12:58:00 -04:00
Mike Ruprecht
2737bf1dd6 tests: Fix invalid read when releasing request pads in funnel tests 2012-05-31 12:58:00 -04:00
Mike Ruprecht
03ce735b07 funnel: Fix buffer leak 2012-05-31 12:58:00 -04:00
Andre Moreira Magalhaes (andrunko)
8f267451f4 inputselector: Don't try to sync on the segment if it has no TIME format
...and wait until it is actually configured and has a format before
trying to sync.
2012-05-31 17:45:29 +02:00
Sebastian Dröge
e8e9c45c21 inputselector: No need to broadcast the signal in flush-stop
Everything stopped at this point already.
2012-05-31 17:03:54 +02:00
Bastien Nocera
cdb3087746 queue2: Fix property name in the docs
temp-template, not temp-tmpl

https://bugzilla.gnome.org/show_bug.cgi?id=677170
2012-05-31 12:56:47 +02:00