Commit graph

11413 commits

Author SHA1 Message Date
Andreas Frisch
5368406a57 multiqueue: Set the single queue ID to the ID of the requested pad if one was given by the caller 2011-03-30 10:18:54 +02:00
Sebastian Dröge
b8ea24d466 element: Fix sanity checks for request pad templates without % 2011-03-29 16:22:46 +02:00
Sebastian Dröge
cb3f09a719 element: Add some more sanity checks to the pad name checking of request pads in all cases
Especially check if a pad with that name already exists.
2011-03-29 11:57:58 +02:00
Sebastian Dröge
c9238f6f56 element: Check %u too when trying to find a pad template for a request pad 2011-03-29 11:52:06 +02:00
Fraxinas
86bbc85ab1 multiqueue: Fix arbitrary sink + source pad naming
Use the string provided by the caller for the sinkpad name
if possible. Note that all sanity checking for this name
is already done in GstElement.

Fixes Bug #645931
2011-03-29 11:31:03 +02:00
Sebastian Dröge
b6caaf4ead funnel: Add some more documentation about the behaviour of funnel 2011-03-29 11:20:06 +02:00
Sebastian Dröge
a7b451cc13 funnel: Send a newsegment event after flush-stop 2011-03-29 11:20:06 +02:00
Sebastian Dröge
acb8203e62 funnel: Some random cleanup 2011-03-29 11:20:06 +02:00
Sebastian Dröge
9c9f619f6b funnel: Use a GstPad subclass for the sinkpads instead of using the pad's element private data 2011-03-29 11:20:06 +02:00
Sebastian Dröge
565efa30ea funnel: Integrate into the build system and rename the types 2011-03-29 11:20:05 +02:00
Sebastian Dröge
e5a857e78a funnel: Import funnel element from farsight2 2011-03-29 11:20:05 +02:00
Arun Raghavan
bae67f116c basesrc: Return FALSE if we don't handle an event
basesrc's default event handler returns TRUE regardless of whether the
event is handled or not. This fixes the handler to conform with the
expected behaviour (which is to only return TRUE when the event has
actually benn handled). gst_bin_do_latency_func() depended on this
(incorrect) behaviour, and is now modified as well.

(Remaining 1-liner change in gstbasesrc.c is to keep gst-indent happy)
2011-03-28 21:48:23 +05:30
Sebastian Dröge
33c86b93dd Automatic update of common submodule
From 193b717 to 1ccbe09
2011-03-25 22:08:41 +01:00
Stefan Kost
18db998189 Automatic update of common submodule
From b77e2bf to 193b717
2011-03-25 14:55:39 +02:00
Sebastian Dröge
3e4a080e07 Automatic update of common submodule
From d8814b6 to b77e2bf
2011-03-25 09:27:58 +01:00
Sebastian Dröge
fc6a47a6f6 Automatic update of common submodule
From 6aaa286 to d8814b6
2011-03-25 08:59:37 +01:00
Stefan Kost
54792a3a09 Automatic update of common submodule
From 6aec6b9 to 6aaa286
2011-03-24 18:48:41 +02:00
Stefan Kost
84eafff61b docs: fix some gtk-doc warnings
Document the queue leaky enums.
2011-03-24 18:32:21 +02:00
Stefan Kost
1177a968cc queue2: set max value for to the matching one for the datatype
The property is guint64, so use G_MAXUINT64 instead of G_MAXUINT.
2011-03-24 18:32:20 +02:00
Stefan Kost
02eda0e3d9 docs: cleanup and xref fixes
Deal with the hints from gtk-doc and fix the xrefs. Apply a work-around for ()
precedence over @. Move "MT Safe" text to doc body in many places. Trim eol
whitespaces.
2011-03-24 18:32:20 +02:00
Stefan Kost
71dcd52cc0 basesink: print flow return as a name in debug log 2011-03-24 18:32:20 +02:00
Stefan Kost
3e475c4d33 docs: do xrefs for non installed books too
Get the xrefs from the builddir for the books in the same packages. This fixes
the cross references if one does not have the docs already installed.
2011-03-24 18:32:20 +02:00
Edward Hervey
d979eb3e9e basesrc: Keep downstream caps order when fixating
This allows use to use the first intersecting format prefered by downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=617045
2011-03-24 12:30:42 -03:00
Edward Hervey
0f0a62f316 basetransform: Retain caps order when getting caps
If the element gave us caps in a specific order, let's retain that
by intersecting against the template but retaining the order given
by the element.

https://bugzilla.gnome.org/show_bug.cgi?id=617045
2011-03-24 11:47:32 -03:00
Thiago Santos
0e1a561467 tests: caps: Tests for the new caps intersection mode
Adds test cases for the caps 'first' intersect mode
Adds another test for the 'zigzag' mode

Fixes #617045
2011-03-24 11:38:26 -03:00
Edward Hervey
09d83e589a gstcaps: new API : gst_caps_intersect_full
Just like gst_caps_intersect, but adds a new parameter 'mode'
that allows selecting the intersection algorithm to use.

Currently we have GST_CAPS_INTERSECT_MODE_ZIG_ZAG (default) and
GST_CAPS_INTERSECT_MODE_FIRST.

API: gst_caps_intersect_full
API: GstCapsIntersectMode
API: GST_CAPS_INTERSECT_MODE_ZIG_ZAG
API: GST_CAPS_INTERSECT_MODE_FIRST

https://bugzilla.gnome.org/show_bug.cgi?id=617045
2011-03-24 11:14:18 -03:00
Tim-Philipp Müller
f9558b163f tests: add libscpp unit test to make sure g++ likes our library headers 2011-03-23 20:53:00 +00:00
Tim-Philipp Müller
5300a5e73b bytereader, bytewriter: fix up inline functions to make g++ happy
gstbytereader.h: In function ‘guint8* gst_byte_reader_dup_data_unchecked(GstByteReader*, guint)’:
gstbytereader.h:249:75: error: invalid conversion from ‘void*’ to ‘guint8*’
gstbytewriter.h: In function ‘gboolean _gst_byte_writer_ensure_free_space_inline(GstByteWriter*, guint)’:
gstbytewriter.h:196:75: error: invalid conversion from ‘void*’ to ‘guint8*’

https://bugzilla.gnome.org/show_bug.cgi?id=645595
2011-03-23 20:52:44 +00:00
Thiago Santos
2f0dab0f44 gstelement: Fix typo in the docs
GST_ELEMENT_INFO will post a INFO message, not a WARNING
2011-03-22 16:27:35 -03:00
Thiago Santos
4b322b215a tagsetter: Removing unused debug category
tagsetter's debug category had a typo and was unused. Removing it.
2011-03-22 16:27:35 -03:00
Luis de Bethencourt
1be2076922 autogen: wingo signed comment 2011-03-22 13:26:12 +01:00
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
27c0a2b9b1 event: Add since marker to GST_EVENT_SINK_MESSAGE 2011-03-19 10:39:28 +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
Tim-Philipp Müller
02d27de048 task: fix GST_TASK_BROADCAST
Surprisingly enough, you can't "breadcast" on a GCond.

Spotted by Rune Sætre.

https://bugzilla.gnome.org/show_bug.cgi?id=645022
2011-03-17 23:42:48 +00: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
Sebastian Dröge
b8d83f4e01 pad: Document that pad blocks only make sense for sink pads in pull mode and src pads in push mode
See bug #644907.
2011-03-16 12:01:21 +01:00
Sebastian Dröge
256e7238b4 ghostpad: The internally linked pad of the proxypad is the ghostpad
Previously we were returning the peerpad, which is the target
of the ghostpad.
2011-03-16 11:53:53 +01:00
Jonas Holmberg
c4c06a2b88 bufferlist: Use a GQueue instead of a GList
Adding a buffer to the end of a GstBufferList is supposed to be a fast
operation, but it was not since the iterator does not advance its
nextpointer when adding buffers and GList does not have a tail pointer.
Using a GQueue to store the buffers makes it easier to add buffers to
the end of the list and this operation will now be much more efficient.

Adding an entire GList of buffers using
gst_buffer_list_iterator_add_list() will however have to iterate over
the list being added to be able to update the tail pointer in the
GQueue.
2011-03-11 14:31:14 +01:00
Tim-Philipp Müller
90b4dc4869 utils: fix ABI break when compiling gstreamer with -DGST_DISABLE_DEPRECATED
GST_DISABLE_DEPRECATED should only affect visibility of declarations in headers,
not actually remove symbols. See GitDeveloperGuidelines and DeprecatingAPI
pages in wiki.

https://bugzilla.gnome.org/show_bug.cgi?id=402141
2011-03-10 17:50:51 +00:00
Edward Hervey
430e83ca2a win32: Update .def file for API addition 2011-03-10 16:46:04 +01:00