David Schleef
8e6b876e76
Check that collectpads exists before removing pad
...
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-02-20 23:46:01 -08:00
Stefan Kost
1c47115b8e
videmixer: add a example showing how to use the child properties
...
Show how to position and set the alpho of the videos on gst-launch.
2010-09-06 09:57:57 +03:00
Sebastian Dröge
bcfd60a8d2
videomixer2: Add videomixer2 element
...
This is based on collectpads2 and is synchronizing
all streams based on the running time.
New features compared to old videomixer:
* Synchronizing frames on the running time
* Improved and simplified negotiation
* Full QoS support
* Variable framerate support
Fixes bug #626048 , #624905 .
2010-09-04 14:52:11 +02:00
Sebastian Dröge
6da14d0c41
videomixer: Optimize ARGB blending and implement BGRA blending with orc
...
This now means, that we have absolutely no handwritten assembly anymore
in videomixer and it's also faster now when using SSE.
2010-09-04 14:52:09 +02:00
David Schleef
1ace738c3a
videomixer: Fix example pipelines
...
videomixer: Fix example pipelines
2010-09-04 14:52:08 +02:00
Sebastian Dröge
19c8226c6d
videomixer: Fix pipeline in the documentation
...
Make sure that we have the same color format on all streams, i.e. AYUV
Fixes bug #625452 .
2010-08-06 19:24:56 +02:00
Sebastian Dröge
fc00857c82
videomixer: Move debug categories into the source files and add debug category for the blend functions
2010-08-04 19:43:08 +02:00
Sebastian Dröge
38124ef5e5
videomixer: Only reset QoS information and send a NEWSEGMENT event downstream for NEWSEGMENT events on the master pad
2010-07-21 10:23:30 +02:00
Sebastian Dröge
f16ed4a91c
gst: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs
2010-06-06 17:52:40 +02:00
Edward Hervey
2ff87c0fb9
videomixer: if we're not linked downstream, we can do any format
...
Stupid me, assuming _get_allowed_caps() would actually return the
pad templates if there was no peer.
2010-06-04 11:44:09 +02:00
Edward Hervey
d72a2fb6da
videomixer: Don't return caps in get_caps() that will be rejected
...
This commit basically puts _get_caps() in sync with accept_caps().
If we don't have a master pad OR the master pad caps aren't negotiated
then we just return the downstream allowed caps.
If we have a master pad with negotiated caps, we return those caps
with a free range of width/height/framerate
2010-06-03 19:01:14 +02:00
Edward Hervey
59dcdc37a0
videomixer: filter caps returned from downstream with our pad template.
2010-06-01 20:45:29 +02:00
Edward Hervey
01abf5b94e
videomixer: Implement sinkpad GetCapsFunction.
...
This allows returning only the formats, width, height, framerate
and pixel-aspect-ratio that downstream can support.
https://bugzilla.gnome.org/show_bug.cgi?id=620148
2010-06-01 12:42:10 +02:00
Sebastian Dröge
f5bca501e5
videomixer: Don't mix input with different pixel aspect ratios
...
Fixes bug #618530 .
2010-06-01 11:21:29 +02:00
Sebastian Dröge
85c6b9b712
videomixer: Make selection of a sinkpad number threadsafe
2010-05-05 19:35:48 +02:00
Sebastian Dröge
6dd3edd0f7
videomixer: Add support for YUY2, YVYU, UYVY
2010-04-29 19:28:22 +02:00
Sebastian Dröge
bd0b307a74
videomixer: Add support for Y444, Y42B, Y41B and YV12
2010-04-29 19:28:22 +02:00
Sebastian Dröge
fe4ff4f324
videomixer: Add support for ABGR and RGBA
...
Now all 4 ARGB variants are supported by videomixer.
2010-03-20 17:32:48 +01:00
Benjamin Otte
1055aaa9cb
Add -Wredundant-decls warning flag
...
Also fix compile issues
2010-03-17 19:35:10 +01:00
Benjamin Otte
3342b1679e
Add -Wmissing-declarations -Wmissing-prototypes warning flags
...
And fix all the warnings.
2010-03-17 18:23:28 +01:00
Alessandro Decina
49b2a94644
Make sure FLUSH_STOP is sent so not to leave downstream flushing.
2010-02-24 02:05:49 +01:00
Wim Taymans
caec8d9837
videomixer: fix timestamp problems
...
When the pad with the highest framerate goes EOS, instead of not timestamping
output buffers, intepollate timestamps and durations from the last seen ones.
Fixes #608026
2010-02-12 13:53:57 +01:00
Sebastian Dröge
daa52708b3
videomixer: Implement basic QoS
...
This drops frames if they're too late anyway before blending and all
that starts but QoS events are not forwarded upstream. In the future
the QoS events should be transformed somehow and forwarded upstream.
2010-01-11 19:32:35 +01:00
Sebastian Dröge
2950262186
videomixer: Refactor processing functions
...
This allows easier plugging of optimized processing functions
in the future, like for SSE or AltiVec.
2010-01-11 18:37:44 +01:00
Wim Taymans
3c0f18d765
videomixer: some trivial cleanups
2009-12-24 21:45:12 +01:00
Sebastian Dröge
061ededa36
videomixer: Add MMX implementations of the AYUV blending and color filling functions
...
This provides a 20% speedup for blending and 100% for color filling.
The blending can probably be optimized even more.
2009-12-15 12:30:21 +01:00
Sebastian Dröge
66d3ac8fb7
videomixer: Dequeue current buffer on FLUSH_STOP and don't unref NULL buffers
...
... NULL buffers shouldn't really happen anymore when popping the
buffer from GstCollectPads but better check for this and print a warning.
2009-12-12 16:55:13 +01:00
Sebastian Dröge
93089ef445
videomixer: The queued duration is a signed integer
...
...and it will really be negative sometimes.
2009-12-09 21:15:07 +01:00
Sebastian Dröge
7418dee253
videomixer: Only pop buffers from collectpads after they're fully consumed
...
This decreases latency and memory usage because new buffers are only
accepted by collectpads if there's no queued buffer.
2009-12-09 21:03:57 +01:00
Sebastian Dröge
b0f8978fd8
videomixer: Use gst_util_uint64_scale_int() for fps to seconds per frame calculations
2009-12-09 16:15:09 +01:00
Sebastian Dröge
91ad86c0f9
videomixer: Random cleanup
2009-07-10 19:54:25 +02:00
Sebastian Dröge
f19ef7eada
videomixer: Send queries to the master pad by default instead of all pads
2009-07-10 19:54:13 +02:00
Sebastian Dröge
0bf61ecfaf
videomixer: Add RGB, BGR, xRGB, RGBx, xBGR, BGRx support
2009-07-10 19:35:49 +02:00
Sebastian Dröge
bbcb4f8f15
videomixer: Clean up debugging a bit
2009-07-10 17:43:07 +02:00
Sebastian Dröge
0775db4455
videomixer: Remove some redundant checks and error out immediately if not negotiated
...
Also stop leaking the output buffer in some error cases.
2009-07-10 17:33:40 +02:00
Sebastian Dröge
4ccd9c92ae
videomixer: Remove the calculate_frame_size() function and use libgstvideo instead
2009-07-10 17:23:03 +02:00
Edward Hervey
34c97c0c6f
videomixer: Remove unused link/unlink pad methods
2009-07-10 14:37:16 +02:00
Edward Hervey
ace4cb2295
videomixer: Make debugging category global to all the code.
2009-07-10 14:37:07 +02:00
Edward Hervey
3ebf5e9a2a
videomixer: improve readability of debugging statements.
2009-07-10 14:37:04 +02:00
Sebastian Dröge
69f9b7c8d6
videomixer: Add support for ARGB
...
And clean up the caps parsing.
2009-07-08 18:17:48 +02:00
Jan Schmidt
6d32642887
docs: Quieten a couple more docs warnings
2009-06-11 11:39:25 +01:00
Sebastian Dröge
d46e459f22
videomixer: Don't use // comments
2009-05-28 14:01:17 +02:00
Sebastian Dröge
83fc39ccff
videomixer: Some cleanup and fix the calculation of the frame size in bytes
2009-05-28 13:54:14 +02:00
Alex Ugarte
82abbeaf4f
videomixer: Add support for blending BGRA and AYUV
...
Fixes bug #577017 .
2009-05-28 12:55:16 +02:00
Edward Hervey
0cb5b42d54
Remove trivial unused variables detected by CLang static analyzer.
2009-04-18 18:51:28 +02:00
Wim Taymans
07329bc083
videomixer: some more indent fixes
2009-03-26 10:18:31 +01:00
Wim Taymans
62d118678a
videomixer: fix gst-indent screwup
2009-03-26 10:17:48 +01:00
Stefan Kost
a99d3f8769
Update and add documentation for plugins with no deps (gst).
...
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
Wim Taymans
1dcf0755c5
gst/videomixer/videomixer.c: Handle segments a little better. Fixes #537361 .
...
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_fill_queues),
(gst_videomixer_sink_event):
Handle segments a little better. Fixes #537361 .
2008-09-25 15:11:16 +00:00
Wim Taymans
06fa431cef
gst/videomixer/videomixer.c: Remove bogus check.
...
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_fill_queues),
(gst_videomixer_blend_buffers), (gst_videomixer_update_queues):
Remove bogus check.
2008-06-10 17:20:45 +00:00