Wim Taymans
565f492af2
Revert "pad: rework pad blocking, first part"
...
This reverts commit 415da89f3c
.
Conflicts:
gst/gstpad.c
2011-05-30 13:40:04 +02:00
Wim Taymans
9f2424123f
pad: improve debugging
2011-05-30 12:27:52 +02:00
Sebastian Dröge
350a2d1ba8
gst-launch: Don't access the GstMessage structure directly
2011-05-30 07:44:50 +02:00
Sebastian Dröge
58302cedfa
Merge branch 'master' into 0.11
2011-05-30 07:41:13 +02:00
Sebastian Dröge
f304196148
caps: Fix subset check for equivalent lists and scalar values
...
For example "{ 1 }" and "1" are not strictly equal but
both are a subset of each other. Also add a unit test
for this.
2011-05-30 07:38:40 +02:00
Tim-Philipp Müller
5442bdf311
docs: fix bugzilla URL
...
htpp -> http
https://bugzilla.gnome.org/show_bug.cgi?id=651362
2011-05-29 19:28:34 +01:00
Stefan Kost
6c2024f881
docs: xrefs more api around GstStateChange and GstStateChangeReturn.
2011-05-28 10:24:37 +03:00
Stefan Kost
dd6a5d81c4
docs: xref the async messages to GstStateChange
2011-05-28 09:52:55 +03:00
Wim Taymans
415da89f3c
pad: rework pad blocking, first part
...
Make pad block call the callback as soon as the pad is not in use. This makes it
possible to make sure that when the callback is called, no activity is happening
on the pad and that no activity will ever happen until the pad is unblocked
again. This makes pad blocking work when there is no dataflow or after EOS and
greatly helps dynamic pipelines.
Move the probe handling right where we wait on the pad block. The two are
related but not the same and the probe can eventually influence the pad
blocking as we'll se later.
Fix up some broken unit tests or tests that fail with the new behaviour.
2011-05-27 17:37:20 +02:00
Wim Taymans
690c81b95d
basesrc: remove deprecated clean shutdown method
2011-05-27 17:28:34 +02:00
Wim Taymans
a96002bb28
tee: deactivate the pad after removing it
...
When releasing the request pad, first remove it from the element and then
deactivate it. If we do it the other way around, a gst_pad_push on the element
might return wrong-state before we had a chance to detect the removed pad in the
chain function.
2011-05-27 17:28:34 +02:00
Tim-Philipp Müller
329b786569
tools: catch and print missing-plugin messages in gst-launch
...
So that users get some feedback if they're using a pipeline
like src ! decodebin2 ! sink and are missing an element.
2011-05-27 15:17:32 +01:00
Sebastian Dröge
26a5a877ff
basesrc: Fix for SEGMENT event API changes
2011-05-27 14:02:37 +02:00
Sebastian Dröge
30a7fd7b4d
Merge branch 'master' into 0.11
2011-05-27 13:58:26 +02:00
Sebastian Dröge
57df188757
caps: Add gst_caps_is_subset_structure()
...
API: gst_caps_is_subset_structure()
This allows to check if a structure is a subset of given
caps without allocating a new caps instance for it.
2011-05-27 13:55:31 +02:00
Sebastian Dröge
da58834884
structure: Add gst_structure_is_subset()
...
API: gst_structure_is_subset()
2011-05-27 13:47:11 +02:00
Sebastian Dröge
d98e9acb0f
caps: Optimize gst_caps_is_subset()
...
..and as a result gst_caps_is_equal() and others.
This now only checks if for every subset structure there is
a superset structure in the superset caps. Previously we were
subtracting one from another, creating completely new caps
and then even simplified them.
The new implemention now is about 1.27 times faster and doesn't
break the -base unit tests are anything anymore.
2011-05-27 13:38:51 +02:00
Sebastian Dröge
0cf2dfd0ba
caps: Fix subset check in gst_caps_merge()
...
Caps A are a subset of caps B even if caps B doesn't
have all fields of caps A.
Also add a unit test for this.
2011-05-27 13:37:06 +02:00
Sebastian Dröge
d706ca0859
Revert "caps: Optimize gst_caps_is_subset()"
...
This reverts commit 32248a9b85
.
This breaks some tests in -base and the failures should
be fixed first.
2011-05-27 12:56:43 +02:00
Sebastian Dröge
32248a9b85
caps: Optimize gst_caps_is_subset()
...
..and as a result gst_caps_is_equal() and others.
This now only checks if for every subset structure there is
a superset structure in the superset caps. Previously we were
subtracting one from another, creating completely new caps
and then even simplified them.
The new implemention now is about 1.27 times faster.
2011-05-27 12:45:59 +02:00
Sebastian Dröge
26ca7546a7
pad: Drop sticky events pushed on flushing srcpads instead of activating them immediately
2011-05-27 11:45:16 +02:00
Sebastian Dröge
7295f3e2f6
basetransform: Pass the complete caps to transform_caps
...
Instead of passing it structure by structure. This allows
better optimized transform_caps functions and allows better
transformation decisions.
See bug #619844 .
2011-05-27 11:37:24 +02:00
Sebastian Dröge
934faf163c
basesrc: Send an update NEWSEGMENT event downstream if the duration changes
...
This allows streaming the complete file for files that have grown since
streaming started.
Fixes bug #647940 .
2011-05-27 09:05:46 +02:00
Wim Taymans
86c8b721b2
pad: refactor _push_event
...
Rework _push_event() a little so that it drops events on blocking pads.
Make sure that events are forwarded when we unblock.
Add counter on the pad to keep track of busy pads.
2011-05-26 19:45:14 +02:00
Wim Taymans
dd9fb5ebfd
pad: refactor pre and post chain code
2011-05-26 18:21:09 +02:00
Wim Taymans
af42e44af5
pad: keep counter for active pads
...
Keep a counter to mark the amount of threads currently pushing data on the pad.
2011-05-26 17:50:15 +02:00
Wim Taymans
40228b4aa5
pad: refactor pre push code
...
Refactor the code that is executed as the first step of a push operation where
we check the probes and blocking and resolve the peer.
2011-05-26 17:39:17 +02:00
Wim Taymans
118e325a03
pad: remove pad cache
...
Remove the pad cache as this is going to be reworked for new pad blocking and
probes.
2011-05-26 17:08:03 +02:00
Wim Taymans
aaba029298
pad: simplify handling of buffer lists
...
Implement a default buffer-list function in case the element doesn't implement
one.
Also pass buffer-lists to the have-data signal, this allows us to remove some
backward compatibility code.
2011-05-26 16:48:14 +02:00
Wim Taymans
f4f4fa5e8f
pad: remove old gst_pad_set_blocked methods
2011-05-26 16:17:31 +02:00
Sebastian Dröge
5076688c1f
pushsrc: Fix infinite recursion in pushsrc query handler
2011-05-26 14:14:13 +02:00
Sebastian Dröge
007b16b024
Merge branch 'master' into 0.11
2011-05-26 13:36:48 +02:00
Tim-Philipp Müller
8a3721a1ca
gst: we can now use GLib 2.24 API unconditionally
2011-05-25 16:02:10 +01:00
Tim-Philipp Müller
430e98413d
configure: bump GLib requirement to >= 2.24
...
http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement
2011-05-25 15:54:01 +01:00
Tim-Philipp Müller
1347cc520f
docs: update release instructions for gnome change
2011-05-25 15:43:44 +01:00
Руслан Ижбулатов
d56b3ec5aa
systemclock: Placate gcc by defining EWOULDBLOCK to something
2011-05-25 12:04:14 +02:00
Руслан Ижбулатов
54a9d8038d
poll: Fix WAKE_EVENT() to behave posixly on Windows
2011-05-25 12:04:14 +02:00
Stefan Kost
e0c92982e9
registrybinary: small cleanups
...
Remove unneeded braces from string define. Small doc improvement.
2011-05-24 20:30:11 +03:00
Stefan Kost
75ba14c79b
preset: use guint for the version number parts
...
Use unsigned integers for extra safety (like we do in plugin version parsing).
2011-05-24 20:30:11 +03:00
Wim Taymans
0d546490f6
remove some more deprecated methods
2011-05-24 18:39:41 +02:00
Wim Taymans
7da32991df
padtemplate: remove unused flag
2011-05-24 18:29:48 +02:00
Wim Taymans
2c221a5729
feature: use object name
...
Remove the name property from the plugin feature and port code to use the object
name instead.
2011-05-24 18:17:24 +02:00
Wim Taymans
65b427bf8e
remove old glib check
2011-05-24 18:16:36 +02:00
Wim Taymans
b0fad063b5
Merge branch 'master' into 0.11
2011-05-24 17:43:36 +02:00
Wim Taymans
7e6d579301
scheduling: port to new scheduling query
2011-05-24 17:39:56 +02:00
Wim Taymans
5fa3082e19
query: add SCHEDULING query
...
Add a new query to replace the checkgetrange function.
2011-05-24 17:39:56 +02:00
Debarshi Ray
f9a4dcd074
check: add fail_unless_equals_int64
...
https://bugzilla.gnome.org/show_bug.cgi?id=650973
2011-05-24 16:21:20 +02:00
Sebastian Dröge
70e276e920
outputselector: Forward sticky events to newly created srcpads
2011-05-24 16:18:38 +02:00
Sebastian Dröge
67e23c26fc
tee: Forward sticky events to newly created srcpads
2011-05-24 16:18:31 +02:00
Sebastian Dröge
0bcb5a421a
pad: Add gst_pad_sticky_events_iterate() function
2011-05-24 16:17:53 +02:00