Wim Taymans
40616aeb63
element: use flags for require/provide clock
...
Remove the _require/_provide_clock() methods and use element flags to mark
elements instead of looking at the implementation of the vmethod.
2011-11-28 17:22:44 +01:00
Wim Taymans
d65773b5fa
element: clean up element flags
...
Clean up the element flags
2011-11-28 16:54:55 +01:00
Wim Taymans
06b08e9877
event: add sticky custom quark
2011-11-28 15:35:21 +01:00
Wim Taymans
5a4957eef6
caps: _CAPS_FLAGS_ -> CAPS_FLAG_
2011-11-28 14:24:16 +01:00
Vincent Penquerc'h
c0ba7985bd
gstelement: add gst_element_class_add_pad_template_from_static
...
This function helps ensure the pad template is unreffed
without having to complicate the calling code.
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:07 +00:00
Wim Taymans
da74724fd5
pad: Handle sticky event errors
...
Use GstFlowReturn to internally pass events between pads.
When we sticky events cause an error, translate this error into a GstFlowReturn.
Caps events will, for example, generate a NOT_NEGOTIATED return when the event
function returns an error.
This allows us then to refuse sending buffers if one of the sticky events is
refused and generate a correct error return value.
2011-11-28 14:07:24 +01:00
Wim Taymans
948b1264b7
tests: don't return FALSE from events
...
Returning FALSE from the event handler shuts down the sender.
2011-11-28 14:07:24 +01:00
Wim Taymans
005dab15f6
test: fix refcount error
2011-11-28 14:07:24 +01:00
Edward Hervey
4839131502
gstmeta: Some more docs
2011-11-28 11:15:27 +01:00
Wim Taymans
9cbb135954
event: add custom downstream sticky event
2011-11-28 10:55:28 +01:00
Tim-Philipp Müller
e3dd1a8196
queue2: fix up comment after merge from 0.10
2011-11-28 01:12:48 +00:00
Tim-Philipp Müller
5acdc22001
Merge remote-tracking branch 'origin/master' into 0.11
2011-11-28 01:11:47 +00:00
Tim-Philipp Müller
3b28af5171
queue2: fix refactoring of draining-on-eos, munge flow return to FLOW_OK
2011-11-28 01:10:20 +00:00
Tim-Philipp Müller
6ed2b05157
queue2: fix up new bufferlist code for 0.11
2011-11-28 01:00:28 +00:00
Tim-Philipp Müller
17ddbc3072
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
plugins/elements/gstqueue2.c
2011-11-28 00:40:55 +00:00
Tim-Philipp Müller
2a3e7c4feb
queue2: add bufferlist support
...
We want to maintain buffer lists if possible.
2011-11-28 00:16:40 +00:00
Tim-Philipp Müller
d663e18402
queue2: split out draining of queue on FLOW_UNEXPECTED into separate function
2011-11-28 00:16:40 +00:00
Tim-Philipp Müller
c9df12754d
queue2: pass item type enum to _enqueue instead of simple isbuffer boolean
...
Avoids some unnecessary GST_IS_EVENT()
2011-11-28 00:16:40 +00:00
Matej Knopp
62dce62e00
caps: fix compilation warning
...
GST_STATIC_CAPS is missing initializer for GstMiniObject's n_weak_refs and
weak_refs resulting in compilation warning (llvm-gcc -Wall)
https://bugzilla.gnome.org/show_bug.cgi?id=664927
2011-11-27 22:34:54 +00:00
Tim-Philipp Müller
588dcec8ae
Merge remote-tracking branch 'origin/master' into 0.11
2011-11-27 22:26:12 +00:00
Stefan Sauer
52e3861e91
warnings: avoid set-but-unused warnings with load-save disabled
2011-11-27 20:39:42 +01:00
Matej Knopp
396c76a34e
baseparse: fix broken default caps query
...
https://bugzilla.gnome.org/show_bug.cgi?id=664880
2011-11-26 20:03:01 +00:00
Tim-Philipp Müller
d3264c4b9d
Merge remote-tracking branch 'origin/master' into 0.11
2011-11-26 19:51:37 +00:00
Tim-Philipp Müller
7eb796d447
uri: fix wrong G_GNUC_MALLOC
...
_get_protocols() points to const memory in 0.10
despite the non-const return value.
2011-11-26 19:45:48 +00:00
Tim-Philipp Müller
2d7f9cfe92
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/gstbuffer.h
gst/gstbufferlist.h
gst/gstcaps.h
gst/gstdatetime.h
gst/gstelementfactory.h
gst/gstevent.h
gst/gstghostpad.h
gst/gstindexfactory.h
gst/gstiterator.h
gst/gstmessage.h
gst/gstminiobject.h
gst/gstpipeline.h
gst/gstquery.h
gst/gstsegment.h
gst/gststructure.h
gst/gsttaglist.h
gst/gsturi.h
gst/gstvalue.h
libs/gst/base/gstbitreader.h
libs/gst/base/gstbytereader.h
libs/gst/base/gstbytewriter.h
Note: can't use G_GNUC_MALLOC with GstCaps return
values in 0.11 because of the EMPTY+ANY singletons.
2011-11-26 19:44:23 +00:00
Tim-Philipp Müller
4d2cb74850
libs: sprinkle some G_GNUC_MALLOC
...
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
2011-11-26 18:58:38 +00:00
Tim-Philipp Müller
c8380cb0d2
gst: sprinkle some G_GNUC_MALLOC
...
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
2011-11-26 18:57:44 +00:00
Tim-Philipp Müller
c3a30e3013
Merge remote-tracking branch 'origin/master' into 0.11
2011-11-25 23:54:57 +00:00
Stefan Sauer
35b76f43fa
docs: update porting docs.
2011-11-25 23:15:23 +01:00
Tim-Philipp Müller
33078aaeb7
buffer: add gst_buffer_{set,get}_qdata()
...
Allows people/us to attach arbitrary metadata to buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=664720
API: gst_buffer_set_qdata()
API: get_buffer_get_qdata()
2011-11-25 17:42:07 +00:00
Wim Taymans
933e8b230c
pad: fix blocking probe emission
...
If we are dealing with a blocking probe, only then check if one the
blocking flags of the hook matches.
Add some more debug.
Make the pad unit test less racy.
2011-11-25 07:11:24 +01:00
Matej Knopp
0b2ecbf6fc
Add test for PAD_PROBE_TYPE_BLOCK and PAD_PROBE_TYPE_BLOCKING
2011-11-25 06:07:27 +01:00
Wim Taymans
fef887639c
utils: fix debug of query result
2011-11-25 05:54:09 +01:00
René Stadler
4865607011
query: fix typo in doc
...
Causes a warning from the introspection scanner.
2011-11-24 22:53:09 +01:00
René Stadler
f6e992cb06
check: drop caps argument from gst_check_setup_{src,sink}_pad
...
Calling set_caps at that point is not useful in 0.10 (FIXME comment!), and in
0.11 it is totally pointless: the caps event doesn't stick to a flushing pad.
2011-11-24 21:43:31 +01:00
René Stadler
e9ac94cffb
defs: update for byte_writer_put_buffer
2011-11-24 14:08:13 +01:00
Sebastian Dröge
1fa356a23c
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstpad.c
libs/gst/base/gstbaseparse.c
2011-11-24 11:23:07 +01:00
Sebastian Dröge
0280a3c29f
pad: Remove g_warning() if pad accepted caps that are not a subset of the pad caps
...
This check is correct but unfortunately it's impossible to implement
in a threadsafe way because the caps could have changed in the meantime.
Fixes bug #659606 .
2011-11-24 11:15:29 +01:00
Vincent Penquerc'h
611ac6ea85
multiqueue: check filled state of queues even if another one is empty
...
This will avoid a case where overrun is never signalled if some
stream never produces any data, causing playbin2 to not end preroll.
https://bugzilla.gnome.org/show_bug.cgi?id=660778
2011-11-24 10:38:34 +01:00
Edward Hervey
13e7839653
tests: Check for dataflow with incompatible caps
...
This test currently fails, but is there to ensure we fix this issue
and keep it fixed, since it completely breaks delayed negotiation
use-cases.
This behaviour started breaking since
dd65aae9a1
2011-11-24 09:34:47 +01:00
Edward Hervey
1cc836b2f0
tests: Add comments to gstpad tests
2011-11-24 09:31:02 +01:00
Edward Hervey
bfa78eb7a1
tests: Remove "#if 0" block for behaviour that now works
2011-11-24 09:30:14 +01:00
Edward Hervey
77596b0e05
tests: Remove commented block
...
This behaviour is actually tested in test_push_unlinked
2011-11-24 09:28:32 +01:00
Tim-Philipp Müller
19c90d4638
tools: make gst-inspect print a nasty debug message for non-grata property type
...
Try to eradicate properties of long/ulong/char/uchar type.
2011-11-24 01:06:52 +00:00
Wim Taymans
407f45dc7f
event: add STICKY_MULTY events
...
Add a new event flag for sticky events so that multiple events of that type can
be stored on a pad at the same time. Change the _get_sticky_event() function to
loop over the multiple events of a type.
Change the foreach function to make it possible to removed and modify the sticky
events on a pad.
Use an variable size array now to store the events. This could later be
optimized some more.
2011-11-23 18:05:00 +01:00
Wim Taymans
b7e4eeb0b0
bus: handle NULL message src in debug
2011-11-23 18:05:00 +01:00
Wim Taymans
03cdd32b33
bufferlist: avoid reading past the array
...
When the foreach function told us to remove the buffer from the list, decrease
the length of the array or else we might read past the last item in the array.
2011-11-23 18:05:00 +01:00
Sebastian Dröge
aa9ba2dd4e
baseparse: Return template caps instead of other side's peer caps if get_sink_caps vfunc is not implemented
...
Using gst_pad_proxy_get_caps() breaks backwards compatibility with old
parsers because it will propagate the other side's fields like "parsed"
and "framed" and also breaks parser/converters.
Fixes bug #664221 .
2011-11-23 13:42:56 +01:00
René Stadler
e694f5e71c
bytewriter: add method to write out a buffer
...
In 0.10, this can be done with a one-liner by using GST_BUFFER_DATA/SIZE with
put_data. A 0.11 user has to resort to gst_buffer_map, which is less convenient
and might require a memcpy internally.
API: gst_byte_writer_put_buffer()
2011-11-23 11:04:00 +01:00
Wim Taymans
31b79556b8
pad: take peerpad correctly
...
Don't take the peerpad too early, it might change because of the
probes.
2011-11-23 08:17:36 +01:00