Commit graph

13595 commits

Author SHA1 Message Date
Tim-Philipp Müller 2c08b81db1 configure: backport AS_LIBTOOL version from 0.10.36 release
Might fix issues with missing symbols for people who install GStreamer
from source and at some point jumped back and forth between git master
and the 0.10.36 release (or 0.10. branch).
2012-03-12 23:19:43 +00:00
Stefan Sauer cc445664c8 docs: fix function name and typo 2012-03-12 23:08:45 +01:00
Wim Taymans 934ddcfcfe basetransform: get template caps only once
Get the template caps of the pads only once, avoids unecessary ref
and unrefs.
2012-03-12 19:52:03 +01:00
Wim Taymans 5e719a293a caps: delay _make_writable() until needed in _normalize()
Delay _make_writable() until we actually found a list and need to update the
caps.
2012-03-12 18:34:30 +01:00
Wim Taymans 4cdddd2bb1 caps: shortcut simplify earlier
A simple caps is already simplified, no need to check for fixedness.
2012-03-12 18:25:38 +01:00
Wim Taymans f4aa1b1011 caps: small cleanup, remove const 2012-03-12 18:22:05 +01:00
Wim Taymans 4bbc3b6f04 caps: small cleanups 2012-03-12 18:02:27 +01:00
Wim Taymans 1bc93bbf8f caps: small doc improvement 2012-03-12 16:40:38 +01:00
Sreerenj Balachandran 6ff632ea91 configure.ac: bump required GLib to 2.31.14
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=671911
2012-03-12 16:21:27 +01:00
Tim-Philipp Müller 27f84b728b docs: update porting-to-0.11.txt a little 2012-03-12 13:52:36 +00:00
Wim Taymans 4feb6c3989 caps: fix some 0.11 FIXMEs 2012-03-12 12:35:07 +01:00
Wim Taymans 67931bfded caps: make _normalize take ownership of input
Make gst_caps_normalize() take ownership of the input so that it can more
intelligently decide when to copy or not.
2012-03-12 12:21:34 +01:00
Wim Taymans 8a76c3269a caps: _do_simplify() -> _simplify()
Rename _do_simplify() to _simplify(). The name was introduced as a replacement
method for a deprecated method but we can now rename it again.
Fix some docs.
2012-03-12 11:38:37 +01:00
Wim Taymans 9cdbffea94 caps: improve _do_simplify
Make gst_caps_do_simplify() take ownership of the input caps and produce a
simplified output caps. This removes the requirement of having writable input
caps and the method can make the caps writable only when needed.
2012-03-12 10:42:23 +01:00
Wim Taymans 6886be59f5 tests: fix unit test
with the new caps API, there is more sharing and less copying going on so the
unit test refcounts are different.
2012-03-12 10:41:28 +01:00
Christian Fredrik Kalager Schaller 3ca7f29224 update license link to point to 2.1 license, instead of just generic lgpl file, which is always the latest and thus not correct for gstreamer 2012-03-12 09:05:10 +00:00
Wim Taymans 43abf99a8a caps: avoid using in-place oprations
Rework some caps operations so they don't rely on writable caps but instead take
ownership of the input caps and do _make_writable() only when needed.
Remove some const from caps functions, it does not make much sense for
refcounted objects and does not allow us to return a refcount to the const input
caps.
Rework the base classes fixate vmethods to not operate on the caps in-place.
All this saves us around 30% of caps and structure copy and new operations.
2012-03-11 18:57:44 +01:00
Wim Taymans 89d0316895 structure: add allocation debug 2012-03-11 17:22:01 +01:00
Wim Taymans fe5fe438d3 typefind: remove const from refcounted GstCaps
Having const on refcounted objects require us to make copies instead of simply
taking a ref, don't do that.
2012-03-10 09:25:43 +01:00
Wim Taymans 6426145fc9 registry: avoid copy when caps are fixed
Avoid doing a useless copy when the caps are fixed and simplify will not do
anything.
2012-03-10 09:15:43 +01:00
Wim Taymans 6ffba69d65 buffer: small optimizations
shortcut heavy work when buffer_resize does nothing.
Avoid an extra _ref when mapping a buffer.
Add some G_LIKELY.
2012-03-09 16:14:02 +01:00
Wim Taymans ebd4863d21 bufferpool: fix array types 2012-03-09 15:03:11 +01:00
Wim Taymans c1a38be6e2 docs: update docs 2012-03-09 14:30:01 +01:00
Wim Taymans 35241f35c0 pad: also push sticky events on new event
Make a helper function check_sticky to check and push pending sticky events.
Move the handling of the result of pushing the sticky event inside the
push_event function, we need to mark the event as received when it was pushed
correctly.
Move the sticky events code outside of gst_pad_push_event_unchecked and
make it purely handle sending the event to the peer.
when pushing a sticky event, first store it on the pad. Then check and push any
pending sticky events when we get a serialized or sticky event on a srcpad. This
fixes the issue where sticky events are not pushed when an event is pushed.
2012-03-09 11:53:54 +01:00
Wim Taymans 0054e6da9e pad: store the received result from _foreach
If the foreach function changes the received state of the sticky event, make
sure we remember that.
2012-03-09 11:52:29 +01:00
Wim Taymans a80581831e pad: add comment 2012-03-09 11:52:11 +01:00
Wim Taymans 842afb9732 test: add test to check sticky events order
Sticky events pushed on an unlinked pad should be stored on the pad. When the
pad is then linked and an event is pushed, the event should be merged with the
already existing sticky events and then the sticky events should be pushed in
the order that they were originally pushed.
2012-03-09 11:49:08 +01:00
Wim Taymans 2d63298cac test: fix typo in comment 2012-03-09 11:48:40 +01:00
Tim-Philipp Müller c0172d6724 tests: port pipeline/seek test to 0.11
Doesn't fail in 0.11 of course, at least not on my machine.
2012-03-08 20:08:20 +00:00
Tim-Philipp Müller e09fe53a22 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	common
	gst/gstpad.h
	gst/gsttask.c
	libs/gst/base/gstcollectpads2.h
2012-03-08 19:55:30 +00:00
Tim-Philipp Müller 4d2adb0249 pad, task: improve debug logging 2012-03-08 16:30:49 +00:00
Tim-Philipp Müller c683e39429 pads, collectpads2: get rid of superfluous brackets around static rec mutex calls
Makes it possible to define those calls to something for tracing.
2012-03-08 16:27:48 +00:00
Tim-Philipp Müller 3226e52dd2 common: update common module
For make foo/bar.check-norepeat target.
2012-03-08 16:25:20 +00:00
Tim-Philipp Müller 799d69b038 tests: add minimal basesrc ! sink seeking unit test
Should reproduce 'GStreamer-WARNING **: wrong STREAM_LOCK count 0'
warnings (with make pipelines/seek.torture or pipelines/seek.forever
anyway, since it appears to be racy).

https://bugzilla.gnome.org/show_bug.cgi?id=670846
2012-03-08 16:19:55 +00:00
Tim-Philipp Müller 3e8d6d6064 value: remove gst_value_register_{subtract,union,intersect}_func() API
There isn't really any need to provide public API for that. It's not
used anywhere in practice, and we aim to provide an API that works
for GstCaps, not some kind of generic set manipulation API based on
GValue. Making this private also makes it easier to optimise this
later. We can always put it back if someone actually needs it.
2012-03-08 11:21:37 +00:00
Wim Taymans cfa639c56c tee: fix refcount error 2012-03-08 10:47:39 +01:00
Wim Taymans 7b8263de93 pad: return ANY for a pad without template
Because gst_pad_get_pad_template_caps() returns ANY when there is no template,
the query caps function should also return ANY when there is no template (and no
pad current caps) instead of EMPTY.
2012-03-08 10:34:42 +01:00
Wim Taymans 4232b47685 pad: small cleanup 2012-03-08 10:34:41 +01:00
Wim Taymans 185b3c6a0d memory: add comment 2012-03-08 10:34:41 +01:00
Sebastian Dröge 38d398448a baseparse: Fix merge mistake 2012-03-08 10:32:02 +01:00
Sebastian Dröge 6b4091a30d Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbaseparse.c
	libs/gst/base/gstbasetransform.c
	plugins/elements/gsttee.c
2012-03-08 10:19:52 +01:00
Mark Nauwelaerts ee6f6ff362 baseparse: arrange for properly disjoint frame flags 2012-03-07 11:25:19 +01:00
Wim Taymans ed94dbf1d2 basetransform: delay pool activation
Delay the activation of the bufferpool until we actually need a buffer from the
pool.
2012-03-06 15:17:05 +01:00
Sebastian Dröge ed7f480222 baseparse: Fix 'self-comparison always evaluates to true'
This was really a bug.
2012-03-06 12:28:02 +01:00
Sebastian Dröge f000bbe924 tee: Fix 'use of logical '&&' with constant operand' compiler warning
This is actually a real bug.
2012-03-06 12:27:33 +01:00
Sebastian Dröge 7c32cfd661 basetransform: Fix 'equality comparison with extraneous parentheses' compiler warning 2012-03-06 12:23:15 +01:00
Sebastian Dröge c8cde669b7 gst: Fix 'comparison of unsigned enum expression >= 0 is always true' compiler warning 2012-03-06 12:16:19 +01:00
Wim Taymans 247d2d08f7 basetransform: don't propose_allocation before negotiation
Answer the allocation query with FALSE when we are not negotiated yet because at
that point we have no idea if we need to proxy the allocation query or not.
2012-03-05 15:23:46 +01:00
Sebastian Dröge 495aca4905 baseparse: Fix handling of multiple newsegment events
Previously only the last would be pushed, which would cause
invalid running times downstream. This also fixes the handling
of update newsegment events.
2012-03-05 14:41:12 +01:00
Sebastian Dröge 563ba031a2 baseparse: Also flush the close_segment
Pushing this after flushing will confuse downstream.
2012-03-05 14:37:57 +01:00