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
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
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
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
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
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
Руслан Ижбулатов
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
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
Sebastian Dröge
0bcb5a421a
pad: Add gst_pad_sticky_events_iterate() function
2011-05-24 16:17:53 +02:00
Sebastian Dröge
53e53386d7
debugutils: Fix for GstIterator API changes
2011-05-24 13:28:38 +02:00
Sebastian Dröge
de1c3bdd5a
Revert "debugutils: Fix for GstIterator API changes"
...
This reverts commit e1cc3176d6
.
This is not the 0.11 branch...
2011-05-24 13:28:00 +02:00
Sebastian Dröge
e1cc3176d6
debugutils: Fix for GstIterator API changes
2011-05-24 13:27:38 +02:00
Wim Taymans
483c0fe490
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstpad.h
2011-05-24 09:48:44 +02:00
Kipp Cannon
696a9a694f
clock: improve the GST_TIME_FORMAT/ARGS docs
2011-05-24 00:26:40 +03:00
Stefan Kost
1718abcbbb
docs: hide this from the docs
2011-05-23 23:40:20 +03:00
Wim Taymans
32ea413a40
event: use GST_SEGMENT_FORMAT for segments
2011-05-23 18:30:19 +02:00
Wim Taymans
8380949994
pad: improve debugging
2011-05-23 18:14:27 +02:00
Stefan Kost
01d8d7d718
deprecation-guards: fixup for commit 9ff4ec3104
...
Remove the deprecation guards for GST_PLUGIN_DEFINE_STATIC again (even though it
is deprecated) as we use it in the tests. Remove "_" for intlinkfunc.
2011-05-20 15:50:30 +03:00
Wim Taymans
e8080ab874
element: add method to get metadata
...
Add a method to get the metadata from a klass.
2011-05-20 12:45:06 +02:00
Wim Taymans
1c5c5177f3
factory: fix typo
2011-05-20 12:45:06 +02:00
Wim Taymans
a9edf7c6aa
Merge branch 'master' into 0.11
...
Conflicts:
docs/plugins/gstreamer-plugins.hierarchy
2011-05-20 12:07:45 +02:00
Wim Taymans
31a314ac5b
pad: add pending event for sticky events
...
Change the sticky event array so that it contains a pending and an active event.
Events on the sinkpad are copied to the pending array and after the eventfunc
returned TRUE, moved to the active event. This allows us to queue new events
like when we do per-pad offsets without removing the currently active event.
Remove the active argument from the gst_pad_get_sticky_event() method, the
pending events are not something we want to expose.
2011-05-20 11:36:25 +02:00
Stefan Kost
aa2bfc9b7f
preset: include cleanup
...
Only have include in the installed header we need to use it. Move the includes
needed by the implementation to the c file.
2011-05-20 00:39:10 +03:00
Wim Taymans
e83d5320a2
pad: apply pad offset on sinkpad events too
...
Apply the pad offset in the send_event() function as well.
2011-05-19 19:01:09 +02:00