Edward Hervey
df6044f7eb
Merging origin/master
...
Conflicts:
gst/gstbin.c
gst/gstbus.c
gst/gstdebugutils.c
gst/gstpad.c
libs/gst/base/gstbaseparse.c
libs/gst/base/gstbasesrc.c
2011-10-21 10:52:46 +02:00
Sebastian Dröge
64493d9603
basebarse: Add detect vfunc to allow subclasses to do format detection before anything else
...
API: GstBaseParseClass::detect()
This is called with the first buffers until the subclass has finished detection
and only afterwards the original buffers are handled as before. The vfunc allows
detection of the stream format without breaking the upstream framing.
2011-10-20 11:48:24 +02:00
Thiago Santos
4c1397d572
baseparse: add since doc to new getcaps function
2011-10-18 18:58:14 -03:00
Stefan Sauer
2e6b434730
logging: more logging and prefer human readable details over memory locations
2011-10-18 15:24:21 +02:00
Edward Hervey
ef4b00c777
controller: Add g-i annotations and remove "Since:" markers
2011-10-18 13:54:52 +02:00
Thiago Santos
e3f2d7db71
baseparse: add getcaps function
...
Adds a getcaps function to the sink pad to make parsers propagate
downstream caps restrictions to upstream.
The pipeline "audiotestsrc num-buffers=100 ! faac ! aacparse !
"audio/mpeg, version=(int)4, stream-format=(string)adts" ! filesink"
wouldn't work because aacparse wouldn't propagate the adts restriction
upstream to faac.
This patch adds a default getcaps to the sink pad to simply proxy
downstream caps and also adds a 'get_sink_caps' function pointer
to GstBaseParseClass for subclasses that need more refined getcaps.
https://bugzilla.gnome.org/show_bug.cgi?id=661874
2011-10-18 08:04:31 -03:00
Wim Taymans
f08b2203c8
basesrc: also update the stream time
2011-10-18 12:39:03 +02:00
Sebastian Dröge
1eb73339b9
baseparse: Fix handling of queued frames
...
gst_base_parse_push_frame() already frees the frame, no need to
do it another time again.
2011-10-18 10:58:57 +02:00
Wim Taymans
216a877825
baseparse: remove the memory from the tmpbuf
...
We use a tmpbuf to hold a temporary pointer to the adapter memory. We need to
remove that memory when we no longer need it.
2011-10-17 17:04:10 +02:00
Edward Hervey
acd905d78a
gstcheck: Make ASSERT_MINI_OBJECT_REFCOUNT more useful
...
knowing which miniobject failed helps us locate it in debug logs
2011-10-17 09:51:15 +02:00
Edward Hervey
b24ae2a127
gstcheck: Make _check_buffer_data a bit more verbose
2011-10-17 09:51:15 +02:00
René Stadler
4b79582925
basesrc: fix caps leak
2011-10-13 12:23:59 +02:00
Wim Taymans
cdd3c303f1
basesrc: properly adjust start time
...
When we do a non-flushing seek and closed the current segment,
make sure that we open the next segment from where we closed.
2011-10-12 17:17:53 +02:00
Edward Hervey
ece5909804
basetransform: Fix a caps leak and move a codeblock
...
The result from the block of code that was moved would only have
been used if 'peercaps' was present.
2011-10-11 13:51:54 +02:00
Thiago Santos
59319194b8
basesrc: avoid trying to alloc enormous buffer
...
If a class extending basesrc doesn't set blocksize, basesrc
would try to allocate a (guint)-1 sized buffer, which is enormous
and likely would fail.
Avoid it and error out.
2011-10-10 12:28:46 -03:00
Wim Taymans
ea012d3dd7
pad: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2011-10-10 11:33:51 +02:00
Tim-Philipp Müller
434e7042d8
base: make GstDataQueue private API for multiqueue
...
There's no code that uses it other than multiqueue, so make it private
to multiqueue for now. That way we can also do optimisations that
require API/ABI breaks. If anyone ever wants to use it, we can still
make it public again.
2011-10-07 13:54:37 +01:00
Wim Taymans
c6f005fef1
Merge branch 'master' into 0.11
2011-10-06 17:27:47 +02:00
Mark Nauwelaerts
49bd7b40ca
baseparse: send duration message when updating internal duration
2011-10-06 14:47:54 +02:00
Wim Taymans
544aa9773a
Merge branch 'master' into 0.11
2011-10-04 17:39:17 +02:00
Stas Sergeev
fafbc109f1
baseparse: Return success if optional start/stop method is not provided
...
This allows to not implement the optional start/stop methods.
2011-10-03 11:40:36 +02:00
Wim Taymans
4f8bb4085f
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbaseparse.c
2011-10-03 10:06:17 +02:00
Tim-Philipp Müller
0ac0b70c15
baseparse: make estimating the position in query handler actually work
...
No point estimating if we don't set the result afterwards.
2011-09-30 15:25:20 +01:00
Vincent Penquerc'h
f94701261a
baseparse: answer position query in stream time and try upstream first
...
Let the demuxer have first say as well.
https://bugzilla.gnome.org/show_bug.cgi?id=659485
2011-09-30 15:23:33 +01:00
Wim Taymans
47f77a9e24
transform: fix after merge
2011-09-28 11:28:25 +02:00
Wim Taymans
99d4a57d7c
Merge branch 'master' into 0.11
2011-09-28 11:24:42 +02:00
Wim Taymans
947276484f
docs: fix some more docs
2011-09-28 11:16:33 +02:00
Vincent Penquerc'h
01172b8126
basetransform: send delayed events earlier
...
Some elements (such as videorate) might push buffers early,
for instance in in transform_ip. We want events (and in particular
any NEWSEGMENT event) to be pushed before that.
This fixes transmageddon wedging on converting a file starting
with a non zero offset to Ogg.
https://bugzilla.gnome.org/show_bug.cgi?id=660165
2011-09-27 12:00:23 +02:00
Edward Hervey
10e7159cf8
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstcaps.c
gst/gstpad.c
libs/gst/base/gstbasesink.c
libs/gst/base/gstbasesink.h
libs/gst/base/gstbasetransform.c
2011-09-23 13:09:25 +02:00
Vincent Penquerc'h
56b3acb043
basetransform: delay serialized events when src caps are not set yet
...
https://bugzilla.gnome.org/show_bug.cgi?id=659571
2011-09-21 13:22:02 +02:00
Tim-Philipp Müller
46e401b6d9
lfocontrolsource: fix clang compiler warning
...
Cast enum to int before checking for negative values, which are
impossible according to the enum list.
gstlfocontrolsource.c:652:45: error: comparison of unsigned enum expression < 0
is always false [-Werror,-Wtautological-compare]
if (waveform >= num_waveforms || waveform < 0) {
~~~~~~~~ ^ ~
https://bugzilla.gnome.org/show_bug.cgi?id=653137
2011-09-13 23:04:09 +01:00
Nicolas Dufresne
f0219b327d
basesink: make it easy to override the pad query
...
Add a vmethod to handle the pad query.
Install a default handler for the pad query.
Use the new query function in filesink
2011-09-08 14:46:59 +02:00
Sebastian Dröge
a44271899c
Revert "Revert "basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible""
...
This reverts commit 0bc6d49c95
.
Conflicts:
libs/gst/base/gstbasetransform.c
2011-09-08 14:39:30 +02:00
Sebastian Dröge
43538e2e75
Merge branch 'master' into 0.11
...
Conflicts:
docs/design/draft-buffer2.txt
docs/design/part-TODO.txt
docs/design/part-block.txt
docs/design/part-bufferlist.txt
docs/design/part-caps.txt
docs/design/part-element-transform.txt
docs/design/part-events.txt
docs/design/part-negotiation.txt
gst/gstcaps.c
gst/gstevent.h
gst/gstghostpad.c
gst/gstinterface.c
gst/gstpad.c
gst/gstpad.h
gst/gstutils.c
libs/gst/base/gstbasesink.c
libs/gst/base/gstbasesrc.c
libs/gst/base/gstbasetransform.c
libs/gst/base/gsttypefindhelper.c
plugins/elements/gstcapsfilter.c
plugins/elements/gsttee.c
tests/check/generic/sinks.c
tools/gst-launch.1.in
2011-09-08 14:28:23 +02:00
Sebastian Dröge
0bc6d49c95
Revert "basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible"
...
This reverts commit 5e5cc5e89e
.
See bug #658541 .
2011-09-08 13:42:52 +02:00
Piotr Fusik
14f5518f3d
docs, gst: typo fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
Sebastian Dröge
a121713f0c
basetransform: If there's no peer we still have to transform ANY caps in getcaps()
...
Otherwise elements like capsfilter will return ANY caps if no
peer is present instead of the filter caps. The transform_caps()
vfunc could do transformations to the template caps that do not
result in the unmodified template caps.
2011-09-07 16:05:07 +02:00
Sebastian Dröge
5e5cc5e89e
basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible
2011-09-06 12:37:16 +02:00
Wim Taymans
5cf8e68944
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstmessage.c
gst/gstquery.c
gst/gstregistrychunks.c
gst/gstsegment.c
libs/gst/base/gstbasetransform.c
libs/gst/base/gstbasetransform.h
libs/gst/base/gsttypefindhelper.c
plugins/elements/gsttypefindelement.c
2011-08-26 14:37:54 +02:00
Wim Taymans
d924c30f5b
base: rename allocation vmethods
...
Name the allocation vmethod on srcpad decide_allocation because source pads will
have to decide what allocation parameters will be used.
Name the allocation vmethod on sinkpads propose_allocation because they will
need to configure the allocation query with a proposed values for upstream.
2011-08-26 14:18:33 +02:00
Josep Torra
1ec901321f
lfocontrolsource: explicitly cast to the enum type
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Josep Torra
306e317ae9
typefind: add GST_TYPE_FIND_NONE and use it
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Josep Torra
81794a4248
baseparse: use the enum values for 0 and don't abuse on gboolean coincidence
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Josep Torra
ab3c6173b3
baseparse: put the arguments of g_return_val_if_fail in the proper order
2011-08-26 14:11:15 +02:00
Sjoerd Simons
0c0dc0441f
basetransform: Fix bodged previous commit
2011-08-26 13:02:34 +01:00
Sjoerd Simons
888e6a91a4
basetransform: Use GstPadDirection in the query vfunc
...
Wim suggested that using GstPadDirection instead of a GstPad in the
arguments to the new query vfunc would be more consistent with the other
functions.
2011-08-26 12:43:13 +01:00
Wim Taymans
5c8efa9ffe
basetransform: remove some unused variables
2011-08-26 12:28:28 +02:00
Wim Taymans
b91a5ab60a
basetransform: add vmethod to configure upstream bufferpool
...
Add a vmethod that can be implemented to influence the bufferpool that upstream
elements will use.
2011-08-26 11:44:12 +02:00
Wim Taymans
f1566e85c0
basetransform: use pad direction like other vmethods
2011-08-26 11:24:42 +02:00
Wim Taymans
31b70ea701
Merge branch 'master' into 0.11
...
Conflicts:
libs/gst/base/gstbasetransform.c
libs/gst/base/gstbasetransform.h
2011-08-26 11:09:07 +02:00