Sebastian Dröge
489b94444e
multiqueue: Don't leak objects when flushing after dequeueing and before pushing the object
2011-03-22 11:04:20 +01:00
Sebastian Dröge
65fbc9398a
multiqueue: Really remove unused variable
2011-03-21 17:54:10 +01:00
Sebastian Dröge
383cac91b1
multiqueue: Increment unique item counter with atomic operations
...
Before it was only protected by the stream lock but every pad
has its own stream lock, making the protection rather useless.
2011-03-21 17:52:59 +01:00
Sebastian Dröge
9e36a51bac
multiqueue: Unblock all waiting pads when shutting down
2011-03-21 17:17:22 +01:00
Sebastian Dröge
5b48fd5b24
multiqueue: Remove unused variable
2011-03-21 16:34:19 +01:00
Sebastian Dröge
14eb517849
multiqueue: Exit loop function if the pad is flushing
...
Fixes possible deadlocks when flushing an unlinked pad that waits
for other pads to advance.
2011-03-21 16:29:40 +01:00
Jason D. Clinton
a789096c04
build: fix build with -Werror with GCC 4.6.0
...
This touches three areas of code, removes unused variables and discards
return values from two functions with (void).
https://bugzilla.gnome.org/show_bug.cgi?id=645267
2011-03-21 09:29:19 +01:00
Sebastian Dröge
69e81448c1
inputselector: Stop waiting for a pad switch when the pad is flushing
2011-03-19 08:57:06 +01:00
Sebastian Dröge
d41fe48ce3
inputselector: Move locking and signalling macros from the header to the source file
2011-03-19 08:57:06 +01:00
Sebastian Dröge
c8ecd6e9eb
inputselector: Hold the selector lock while reading properties of the active pad
2011-03-17 14:21:17 +01:00
Sebastian Dröge
5e60a80268
inputselector: Make sure that EOS is always sent downstream for the active pad
...
It can happen that the currently active pad got the EOS event
before it was activated and the previously active pad got the
EOS event after it was deactivated. In that case we have to
send the EOS event from an inactive pad downstream.
2011-03-17 14:10:49 +01:00
Sebastian Dröge
f19bb850ac
inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream
...
This makes sure that during switches at no point in time all pads
have returned not-linked, which can happen when playing an audio-only
file with playbin2 and switching between the streams for example.
Fixes bug #644935 .
2011-03-17 12:06:39 +01:00
Tim-Philipp Müller
1f59906ec1
filesrc, filesink: fix URI creation regression for non-absolute locations
...
Passing e.g. location=foo would lead to warnings because g_filename_to_uri()
wants an absolute file path and returns NULL otherwise. Use brand-new
gst_filename_to_uri() instead, which will try harder to create a proper
URI for us.
Also add unit test.
2011-02-24 15:36:53 +00:00
Tim-Philipp Müller
5ab1ee11ad
fakesink: print new MEDIA4 flag as well
2011-02-21 12:44:05 +00:00
David Schleef
7caf301d3f
fakesink: print buffer flags
2011-02-17 19:14:19 -08:00
Sebastian Dröge
c4be9526eb
filesink: Fix escaping of URIs
...
Especially don't escape / as path separators
2011-02-15 22:57:28 +01:00
Andoni Morales Alastruey
df9f72e78c
filesrc: Fix escaping of file uris
...
Fixes bug #642393 .
2011-02-15 22:57:28 +01:00
Mark Nauwelaerts
8bf4c1e1a8
queue2: don't read beyond the end of file upstream in pull mode
...
... which could lead to a premature eos being reported downstream,
rather than a successful partial read which would result when
performed directly on e.g. basesrc.
2011-02-15 14:51:20 +01:00
Mark Nauwelaerts
e14c133587
queue2: properly identity dequeued event as such
...
... which avoids terminating with ERROR rather than UNEXPECTED.
2011-02-02 15:37:38 +01:00
Olivier Crête
2cfc7adcb1
valve: Only set discont on the first buffer after drops
...
Reset the discont member after setting discont on the first buffer after
dropping.
2011-01-28 15:38:17 -05:00
Tim-Philipp Müller
5c778e25a5
identity: print unset buffer timestamps or durations as 'none'
...
Like fakesink and fakesrc do.
2011-01-28 19:59:47 +00:00
Stefan Kost
c5a57190ee
typefind: don't take object lock for reading the found caps
...
Once we switch to normal mode, we're not typefinding anymore and thus the caps
will not change. Therefore can avoid the object lock in the data-flow path.
The locking was added in order to fix bug #608877 .
2011-01-28 11:17:48 +02:00
Tim-Philipp Müller
af0642b6e8
docs: flesh out typefindelement docs some more
...
Mention that have-type signal may be emitted from streaming
thread or application thread, and fix a typo.
2011-01-25 18:48:40 +00:00
Stefan Kost
eed2a350cb
typefind: code and comment cleanups
...
Make code two places of the code the pushes the buffer store more similar. More
comments and debug logging.
2011-01-25 16:25:43 +02:00
Stefan Kost
740e4999b3
typefind: canonicalize signal name
2011-01-25 16:17:14 +02:00
Stefan Kost
c91c3d41fe
docs: mention have-type signal in the docs.
2011-01-25 16:17:14 +02:00
Mart Raudsepp
b387daa6ff
docs: Fix GstQueue2:ring-buffer-max-size property Since tag (0.10.31, not 0.10.30)
2011-01-24 14:38:36 +00:00
Stefan Kost
6090f22161
valve: fixe the property link and the sice docs
2011-01-11 15:14:04 +02:00
Thiago Santos
f552659504
outputselector: Improve get and set caps functions
...
Improve sink pad getcaps and setcaps by handling the case where
no src pads exist yet
2011-01-10 14:52:05 -03:00
Thiago Santos
757dc90faa
output-selector: Add pad-negotiation-mode property
...
Adds getcaps/setcaps to output-selector and adds a property
to select which type of negotiation should be done.
The available modes are:
* none: no negotiation (current behavior), getcaps return ANY and
setcaps aren't set on any of the peers
* all: use all pads (default), getcaps returns the intersection of
peer pads and setcaps is set on all peers
* active: getcaps and setcaps are proxied to the active pad
https://bugzilla.gnome.org/show_bug.cgi?id=638381
2011-01-06 18:42:29 +00:00
Tim-Philipp Müller
c8ffd4e395
docs: mention extra input-selector pad properties
...
https://bugzilla.gnome.org/show_bug.cgi?id=638381
2011-01-06 18:18:29 +00:00
Tim-Philipp Müller
c57934d7bf
inputselector: remove "select-all" property
...
select-all mode is a bit broken (e.g. newsegment event
handling), so remove that for now. The funnel element
in farsight provides similar functionality.
https://bugzilla.gnome.org/show_bug.cgi?id=539042
https://bugzilla.gnome.org/show_bug.cgi?id=638381
2011-01-05 15:53:28 +00:00
Tim-Philipp Müller
7f7721511c
inputselector: make pad's get_type function thread-safe
2010-12-31 12:08:19 +00:00
Tim-Philipp Müller
07e2428afd
coreelements: remove unused files
2010-12-31 11:37:56 +00:00
Sebastian Dröge
3f89954c27
inputselector: Protected g_object_notify() calls for the active-pad with a recursive mutex
...
This works around a thread safety problem in GLib < 2.26.0 and should
be removed when we depend on 2.26.0.
Fixes bug #607513 .
2010-12-31 12:27:45 +01:00
Zhang Wanming
8a723cfc93
gstfdsink: fix typo
...
Signed-off-by: Zhang Wanming <Wanming.Zhang@tieto.com>
2010-12-31 12:20:45 +01:00
Tim-Philipp Müller
d692735f49
coreelements: GST_BOILERPLATE already sets parent_class
2010-12-31 00:56:11 +00:00
Tim-Philipp Müller
fdd65e382d
input-selector, output-selector: minor clean-ups
2010-12-31 00:56:11 +00:00
Tim-Philipp Müller
52617c91f3
coreelements: move input-selector and output-selector to core
...
Moved to core from gst-plugins-bad.
https://bugzilla.gnome.org/show_bug.cgi?id=614306
2010-12-31 00:55:19 +00:00
Thiago Santos
0cb6c9230d
outputselector: Avoid losing the last_buffer when switching
...
This patch makes outputselector take an extra ref when pushing
the last_buffer to avoid it losing it during the switch function.
This makes resend-latest properly work if the active-pad is changed
during the switch function buffer pushing (on a pad probe, for example).
https://bugzilla.gnome.org/show_bug.cgi?id=629917
2010-12-31 00:54:05 +00:00
Thiago Santos
974ca7713a
outputselector: Recheck pending switch after pushing buffer
...
This patch makes output-selector always recheck if there's a
pending pad switch after pushing a buffer, preventing that
it pushes a buffer on the 'wrong' pad.
https://bugzilla.gnome.org/show_bug.cgi?id=629917
2010-12-31 00:54:05 +00:00
Stefan Kost
246bb32dc5
inputselector: log times in human readable form
2010-12-31 00:54:05 +00:00
Stefan Kost
64beb26a56
inputselector: move reoccuring logs to LOG and remove a double info
...
Less debug spew in DEBUG category. No need to log pad again if we use
GST_LOG_OBJECT(pad,...).
2010-12-31 00:54:05 +00:00
Stefan Kost
d86c6f1956
various (gst): add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed.
2010-12-31 00:54:05 +00:00
Stefan Kost
04c4e4fb9e
inputselector: sync with copy in -base
...
Use _get_caps_reffed to avoid copies.
2010-12-31 00:54:05 +00:00
Stefan Kost
d18e7d25f8
outputselector: move the debug init to the boilerplate macro
2010-12-31 00:54:05 +00:00
Stefan Kost
0da59d0795
inputselector: use GST_BOILERPLATE macro
2010-12-31 00:54:04 +00:00
Benjamin Otte
0b37d8bf36
gst_element_class_set_details => gst_element_class_set_details_simple
2010-12-31 00:54:04 +00:00
Sebastian Dröge
9d21103d42
Revert "inputselector: Protect g_object_notify() with the object's mutex"
...
This reverts commit 7e067615ff
, it's causing
deadlocks with playbin2.
2010-12-31 00:54:04 +00:00
Kipp Cannon
15b1ee56d4
inputselector: Protect g_object_notify() with the object's mutex
...
This works around the thread unsafety of g_object_notify()
Fixes bug #607513 .
2010-12-31 00:54:04 +00:00