Sebastian Dröge
292806f60e
pad: Fix refcount leak of the parent in the default event dispatch function
2011-05-05 17:05:21 +02:00
Wim Taymans
dfef1d027d
pad: improve passing around the context
...
Improve passing around the context, only send the context to the peer element
when the CONTEXT_PENDING flag is set.
2011-05-05 16:34:29 +02:00
Sebastian Dröge
98d1ee4a8f
gst: Update everything for the new GstIterator API
2011-05-05 15:36:03 +02:00
Sebastian Dröge
5a7ec99214
pad: Keep track of reconfigure events and the pad-needs-reconfiguring status
2011-05-05 15:11:51 +02:00
Olivier Crête
40cff0eb6d
pad: Send renegotiate event on link
2011-05-05 15:04:33 +02:00
Olivier Crête
581533cd00
pad: Drop renegotiate event if there is no getcaps function on a sink pad
...
If there is no custom getcaps function on a sink pad, then changes in
downstream caps will never be propagated, so there is no point in trying to
renegotiate the capabilities.
2011-05-05 15:04:25 +02:00
Wim Taymans
77569e0a9a
pad: pass the context around
...
Pass the context from srcpad to sinkpad before dataflow when something
changed.
2011-05-05 13:17:08 +02:00
Wim Taymans
f16180a761
pad: update the context lazyly
2011-05-05 13:17:08 +02:00
Wim Taymans
c4751ec8c1
Revert "context: use context on buffers instead of caps"
...
This reverts commit 9ef1346b1f
.
Way to much for one commit and I'm not sure we want to get rid of the pad caps
just like that. It's nice to have the buffer and its type in onw nice bundle
without having to drag the complete context with it.
2011-05-05 13:17:08 +02:00
Sebastian Dröge
c6e9ce64ae
pad: Remove unnecessary FIXME
...
Resetting the result is not necessary when resyncing because
pads that previously got the event will be skipped and we
need to consider the results of the previous pushes.
2011-05-05 12:30:05 +02:00
Wim Taymans
9ef1346b1f
context: use context on buffers instead of caps
...
Put the srcpad context on buffers instead of caps. This allows us to associate
all the relevant info contained in events with a buffer.
2011-05-04 18:59:47 +02:00
Wim Taymans
9136abf623
pad: use the context to store sticky events
...
Store the sticky events in the context of a source pad.
2011-05-04 15:53:21 +02:00
Wim Taymans
bc9cffda90
pad: more sticky events work
...
Copy the sticky events from the srcpad to the sinkpad when linking pads. Set the
STICKY_PENDING flag to make sure that the sticky events are dispatched before
pushing the next buffer to the element.
2011-05-03 18:58:18 +02:00
Wim Taymans
2243adffa1
event: add sticky flags to events
...
Add the sticky flag to events and a sticky index.
Keep sticky events in an array on each pad.
Remove GST_EVENT_SRC(), it is causing refcycles with sticky events, was not used
and is not very interesting anyway.
2011-05-02 18:34:18 +02:00
Wim Taymans
6ab7e6c15d
Remove pad_alloc, this can now be done better
...
Remove pad_alloc and all references. This can now be done more efficiently and
more flexible with the ALLOCATION query and the bufferpool objects. There is no
reverse negotiation yet but that will be done with an event later.
2011-04-29 13:26:19 +02:00
Wim Taymans
8e76da20b6
Merge branch 'master' into 0.11
2011-04-19 19:30:28 +02:00
Havard Graff
547d451772
pad: unlock before freeing the cache to avoid deadlock
...
https://bugzilla.gnome.org/show_bug.cgi?id=648199
2011-04-19 15:15:34 +01:00
Sebastian Dröge
6e41a3cf2f
pad: Make the size parameter of gst_pad_alloc_buffer() unsigned
...
Internally guints were used everywhere already.
2011-04-18 10:47:26 +02:00
Sebastian Dröge
9b2a8b8480
pad: Don't allow fixating ANY caps and remove FIXME
2011-04-18 10:41:18 +02:00
Sebastian Dröge
f51a23a83c
Merge branch 'master' into 0.11
2011-04-16 08:59:58 +02:00
Robert Swain
fd5aa095da
pad: Allow tracking of buffers in GST_SCHEDULING debug output
...
As GST_SCHEDULING reports when buffers pass through pads due to
gst_pad_push calls, they are a good way of tracking the progress of
buffers through pipelines. As such, adding output of the buffer pointers
to these messages allows tracking of specific buffers, easing debugging.
2011-04-11 11:05:24 +02:00
Wim Taymans
468ec5bc40
bufferlist: simplify bufferlists
...
We now have multiple memory blocks as part of the buffers and we can therefore
reduce the bufferlist to a simple array of buffers.
2011-03-31 17:51:02 +02:00
Wim Taymans
6da19ffeb2
buffer: more buffer updates
2011-03-29 11:07:36 +02:00
Wim Taymans
1eed0785af
memory: more fixes
...
Fix span and is_span
Implement buffer memory
2011-03-28 20:08:45 +02:00
Sebastian Dröge
4e16347bfa
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstbufferlist.c
2011-03-17 10:50:43 +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
Wim Taymans
f505f778cc
pad: more preroll lock to basesink
...
Move the preroll lock to basesink where it belongs.
2011-03-04 17:25:02 +01:00
Wim Taymans
509abb2162
pad: set boxed type correctly
2011-02-23 10:35:36 +01:00
Wim Taymans
6c18c9508d
miniobject: more boxed type fixing
...
More miniobject fixing, leaks horribly somewhere..
2011-02-23 10:35:09 +01:00
Wim Taymans
317af67bc4
miniobject: make queries a boxed type
...
More minionject stuff.
2011-02-23 10:34:45 +01:00
Wim Taymans
238b9a57cc
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst/gstelement.c
gst/gstelement.h
gst/gstpad.c
gst/gstutils.c
libs/gst/base/Makefile.am
libs/gst/check/Makefile.am
libs/gst/controller/Makefile.am
libs/gst/dataprotocol/Makefile.am
libs/gst/net/Makefile.am
win32/common/libgstreamer.def
2011-02-22 14:11:59 +01:00
Wim Taymans
12d2d01663
pad: Check sinkpad for flushing
...
Check the sinkpad for the flushing state before calling the chainfunction on the
pad. We do this by checking the cache (which is also cleared on the srcpad when
the sink is set to flushing).
Fixes #641928
2011-02-14 17:31:25 +01:00
Tim-Philipp Müller
8a7fc1d8c9
Revert "micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers"
...
This reverts commit 6aa8ca37ee
.
See http://article.gmane.org/gmane.comp.video.gstreamer.devel/32282
2010-12-26 21:21:43 +00:00
Edward Hervey
3efb73c121
gst: documentation fixups and annotation
...
Reported by enabling the --warn-all option of g-ir-scanner
2010-12-17 19:14:41 +01:00
Edward Hervey
90fff577f0
Merge commit '0eaa25cbf5c0e4bf86545fb67c181a0ecd2f19c7' into 0.11
2010-12-08 17:51:10 +01:00
Tim-Philipp Müller
0eaa25cbf5
pad: register gst_pad_get_fixed_caps_func() with the debug log system
2010-12-07 18:37:04 +00:00
Tim-Philipp Müller
3256c708be
docs: gst: more gobject introspection annotations
...
Many of these are superfluous, added for clarity.
2010-12-07 18:37:04 +00:00
Wim Taymans
b2ab72b916
pad: remove get_caps_reffed variants
...
Make the _get_caps functions behave like the _get_caps_reffed variants and
remove the _reffed variants. This means that _get_caps doesn't return a writable
caps anymore and an explicit _make_writable() is needed before modifying the
caps.
2010-12-07 18:14:38 +01:00
Wim Taymans
f558409fdc
pad: Clean up .h file
2010-12-07 16:52:47 +01:00
Wim Taymans
993eda5004
remove deprecated symbols and methods
2010-12-06 19:18:31 +01:00
Mark Nauwelaerts
58868d4218
pad: add some debug to fast push path
...
... so we don't loose track at times it is needed the most.
2010-12-06 11:07:38 +01:00
Edward Hervey
6aa8ca37ee
micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers
2010-12-03 12:03:42 +01:00
Wim Taymans
cec2a42808
pad: add push cache to bufferlists
...
Add the push cahce for the bufferlist push code path as well.
2010-12-03 11:28:52 +01:00
Wim Taymans
59bc71c47a
pad: don't cache the peer chainfunc
...
There is no need to cache the peer chainfunction as we can just as efficiently
get to it from the peer object. Also not caching the chain function works better
because then we automatically get the new chainfunctions when they change.
2010-12-03 11:28:52 +01:00
Wim Taymans
d3630379da
pad: clear pad cache when installing probes
...
Move the method to clear the pad cache into _private.h
Clear the pad cache when installing pad probes.
2010-12-03 11:28:52 +01:00
Wim Taymans
2239038d76
pad: explicitly inline some functions
2010-12-03 11:28:52 +01:00
Wim Taymans
67d7c543b3
pad: remove unused variable
2010-12-03 11:28:52 +01:00
Wim Taymans
5e37ade932
pad: invalidate caches on flush and pad block
2010-12-03 11:28:52 +01:00
Wim Taymans
8abc14052a
pad: don't unref NULL caps
2010-12-03 11:28:52 +01:00
Wim Taymans
14542a0d46
pad: add invalidate function
...
More small optimisations, remove the unneeded valid boolean.
Add function to invalide the cache.
Invalidate the cache on unlink.
2010-12-03 11:28:52 +01:00