Commit graph

370 commits

Author SHA1 Message Date
Wim Taymans
f3fdfd9ec8 x11: handle case where no bufferpool is suggested 2012-06-15 16:45:16 +02:00
Wim Taymans
04a2610444 video: improve frame_flags
Rename the frame_flags to flags. Because they are flags on the frame object it
does not need the redundant frame_ prefix.
Change the order of the metadata constructor so that the flags come before the
format and dimension arguments.
2012-04-19 14:14:35 +02:00
Sebastian Dröge
c84108de3c video: Update for libgstvideo API changes 2012-04-19 12:30:57 +02:00
Sebastian Dröge
69b18ab09d gst-libs: Remove interfaces libs and mixer/tuner interfaces
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Tim-Philipp Müller
3c6a3ad629 Use new gst_element_class_set_static_metadata() 2012-04-10 00:45:16 +01:00
Sebastian Dröge
ad42b16375 gst: Update for GST_PLUGIN_DEFINE() API change 2012-04-05 15:11:05 +02:00
Sebastian Dröge
65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02:00
Jonathan Lyons
798ce6c0e1 x11: fix build without XSHM
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673327
2012-04-02 11:37:43 +02:00
Wim Taymans
345dc31f20 update for buffer api change 2012-03-30 18:15:30 +02:00
Wim Taymans
18fe3ed9fa videopool: avoid caps copy
Now that the caps from the bufferpool are not returned as const we
can take a ref instead of doing a copy.
2012-03-27 15:44:59 +02:00
Wim Taymans
bee3d7b683 update for get_param changes
Remove the const from the GstCaps.
Fix some GstStructure leaks.
2012-03-27 12:44:02 +02:00
Wim Taymans
1e884df1df update for bufferpool changes 2012-03-15 22:10:58 +01:00
Wim Taymans
7c0e2b5b1e update for allocation query changes 2012-03-15 20:36:51 +01:00
Wim Taymans
02dc419aae update for bufferpool api change 2012-03-15 14:06:24 +01:00
Wim Taymans
39d78762b9 take padding into account 2012-03-14 19:56:51 +01:00
Tim-Philipp Müller
29c266ccff Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	common
	docs/libs/gst-plugins-base-libs.types
	ext/pango/gsttextoverlay.c
	ext/vorbis/gstvorbisdec.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkconvertbin.c
	sys/ximage/ximagesink.c
	sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Wim Taymans
863252258c x11: fix typos 2012-03-06 15:20:02 +01:00
Oleksij Rempel (Alexey Fisher)
6d83f695b7 ximagesink: don't use deprecated XKeycodeToKeysym
https://bugzilla.gnome.org/show_bug.cgi?id=671299

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-03-05 10:42:47 +00:00
Wim Taymans
502c12f827 update for metadata API changes 2012-02-29 17:25:10 +01:00
Wim Taymans
337cfb764a add more debug about cropping 2012-02-28 16:49:10 +01:00
Wim Taymans
1c05eeece5 update for metadata tags 2012-02-28 12:10:14 +01:00
Wim Taymans
525f330142 update for metadata changes 2012-02-24 10:26:04 +01:00
Wim Taymans
17715ac8ae x[v]imagesink: remove size check
We can't to a size check like that, the strides might be different and the copy
will then take care of that just fine.
2012-02-22 15:25:03 +01:00
Wim Taymans
63f3f27164 update for new memory api 2012-02-22 02:05:24 +01:00
Tim-Philipp Müller
576bbb4fd8 Remove compatibility code cruft for old GLib versions 2012-01-18 17:22:21 +00:00
Wim Taymans
3fc48e114b x11: reset alignment 2011-12-21 18:14:45 +01:00
Tim-Philipp Müller
fb6d09055a Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/alsa/gstalsadeviceprobe.c
	ext/alsa/gstalsamixer.c
	ext/pango/gsttextoverlay.c
	ext/pango/gsttextoverlay.h
	gst-libs/gst/audio/gstaudiobasesink.c
	gst-libs/gst/audio/gstaudioringbuffer.c
	gst-libs/gst/audio/gstaudiosrc.c
	gst-libs/gst/video/Makefile.am
	gst-libs/gst/video/video.c
	gst/encoding/gststreamcombiner.c
	gst/encoding/gststreamsplitter.c
	gst/playback/gstplaybasebin.c
	gst/playback/gststreamsynchronizer.c
	gst/playback/gstsubtitleoverlay.c
	gst/playback/gsturidecodebin.c
	sys/xvimage/xvimagesink.c
	tests/examples/Makefile.am
	win32/common/libgstvideo.def

Video overlay composition disabled for now, needs
porting to buffer meta.
2011-12-08 01:19:03 +00:00
Tim-Philipp Müller
0d98aa25b8 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.

Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Wim Taymans
1225aa9a78 update for basesink event handler changes 2011-12-02 22:24:43 +01:00
Piotr Fusik
14644457b0 various: typo fixes
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Wim Taymans
871b306fce video: move some interfaces
Move some interfaces to the video library
2011-11-29 19:10:01 +01:00
Vincent Penquerc'h
96374054ac various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Edward Hervey
3233f09adf ximagebufferpool: Use the default ::free_buffer() implementation
Which does exactly the same thing
2011-11-21 13:04:42 +01:00
Wim Taymans
e067e67923 rename meta* -> *meta 2011-11-02 09:04:27 +01:00
Wim Taymans
016d036137 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst-libs/gst/audio/gstbaseaudiosink.c
	gst/audioconvert/channelmixtest.c
	gst/playback/gstplaybasebin.c
	gst/playback/gstsubtitleoverlay.c
	tests/examples/Makefile.am
	tests/examples/audio/Makefile.am
2011-10-27 15:44:58 +02:00
Stefan Sauer
53d7d2e966 interfaces: clean up the use of iface and class/klass 2011-10-21 14:46:48 +02:00
Stefan Sauer
b4803361c6 x(v)imagesink: make it more clean that "synchronous" props are not for avsync 2011-10-19 10:42:22 +02:00
Wim Taymans
82d82203f6 base: fix for allocation methods rename 2011-08-26 14:26:37 +02:00
Tim-Philipp Müller
7f11e9bc30 ximagesink, xvimagesink: update for GstXOverlay -> GstVideoOverlay 2011-08-08 14:12:15 +01:00
Wim Taymans
a7d88b0898 x11: remove useless alignment 2011-08-04 15:18:14 +02:00
Wim Taymans
947b6b3faa ximage: add support for alignment bufferpool option 2011-08-01 19:04:47 +02:00
Wim Taymans
5a85e1d75f base: update for new bufferpool API 2011-07-29 17:15:39 +02:00
Wim Taymans
b0c64a10f8 x11: relax bufferpool checks
Check if the metadata belongs to us instead of checking the current bufferpool.
The bufferpool can change at any time when upstream wants to renegotiate.
2011-07-29 12:25:13 +02:00
Wim Taymans
d013481d8e x11: let old pool drain
Let the old pool drain without deactivating it, some elements might still be
using it.
2011-07-26 14:10:33 +02:00
Wim Taymans
662c1f4b6c x11: use new setup_allocation vmethod 2011-07-26 13:17:20 +02:00
Wim Taymans
084eac3a77 x11: call parent set_config
Call the parent set_config method to make it aware of the current config so that
its default methods can do preallocation.
2011-07-18 18:46:01 +02:00
Wim Taymans
8750aea364 x11: improve allocation parameters
Set the min-buffers to 2 because our base class will hold on to 1 buffer for the
last-buffer property.
2011-07-18 16:48:25 +02:00
Wim Taymans
e461ab46d4 X11: also check the bufferpool
Don't just check the availability of the metadata but also if the buffer is
really from our bufferpool.
2011-07-15 16:35:44 +02:00
Tim-Philipp Müller
dd56714b14 ffmpegcolorspace -> videoconvert 2011-07-07 23:59:59 +01:00
Wim Taymans
ddce68a5c2 video: More video helper library improvements
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Tim-Philipp Müller
8cede4ae6a gst, sys: remove GstImplementsInterface usage 2011-06-26 23:16:08 +01:00
Wim Taymans
dd7e605fec x11: let upstream know we support cropping 2011-06-23 16:31:21 +02:00
Wim Taymans
df94f2da81 x11: add image cropping
Use the cropping metadata to crop the image.
Remove deprecated display-region property to set a clipping rectangle.
2011-06-23 12:55:13 +02:00
Wim Taymans
aa73f69f2d x11: use frame copy functions 2011-06-22 15:38:24 +02:00
Wim Taymans
8fbdac9fc6 x11: delay pool activation
don't activate the pool we return in the ALLOCATION query because upstream might
still want to configure it
2011-06-20 17:39:05 +02:00
Wim Taymans
cf91192668 x11: handle new bufferpool metadata api
Provide a method to list the supported metadata apis.
Activate the video metadata on buffers when a downstream element configured the
bufferpool to support that api.
2011-06-20 13:28:12 +02:00
Wim Taymans
5eeb468c75 x11: use GstVideoInfo to parse caps
Use GstVideoInfo to keep track of the configured format.
Add GstMetaVideo to buffers, disabled by default for now until we can have it
enabled with a property on the bufferpool configuration.
2011-06-17 17:54:52 +02:00
Wim Taymans
0d75dc5a0b x11: make function static
Don't export buffer creation function, we need to use the bufferpool
now.
2011-06-17 17:27:22 +02:00
Wim Taymans
d93129d8da -base: port to GstVideoFrame API 2011-06-17 15:41:31 +02:00
Wim Taymans
d06f599193 -base: port elements to new video caps 2011-06-16 12:52:13 +02:00
Wim Taymans
9c54ca5254 -base: update for buffer API change 2011-06-13 16:32:56 +02:00
Wim Taymans
a8971beee0 ximage: fix alignment and size
Set the right alignment and size in the bufferpool.
2011-06-11 20:47:01 +02:00
Wim Taymans
1c8324a0d1 update for bufferpool api change 2011-06-11 18:54:44 +02:00
Sebastian Dröge
bf08ca7020 Merge branch 'master' into 0.11 2011-05-26 13:54:09 +02:00
Sebastian Dröge
34ae792075 ximagesink: Fallback to non-XShm mode if allocating the XShm image failed
Fixes bug #630442.
2011-05-26 12:30:31 +02:00
Sreerenj Balachandran
b977d550df ximagesink: Remove g_assert from interface query 2011-05-26 09:05:55 +02:00
Wim Taymans
453091137e x11: free bufferpool whe activation fails 2011-05-24 09:45:39 +02:00
Wim Taymans
f1980aa051 ximagesink: implement ALLOCATION query 2011-05-19 15:56:57 +02:00
Sebastian Dröge
6392dfc072 sys: Update for caps/pad template related API changes 2011-05-17 13:06:01 +02:00
Sebastian Dröge
6ed5013733 ximagesink: Update for negotiation related API changes 2011-05-16 15:35:28 +02:00
Wim Taymans
c81b1b8019 -base: remove metadata (des)serialize functions 2011-05-11 19:12:42 +02:00
Sebastian Dröge
061c4eb9e3 ximagesink: Send reconfigure event upstream if the window geometry changes 2011-05-05 15:23:24 +02:00
Sebastian Dröge
092438200c ximagesink: Add caps with the current window geometry to the top in getcaps 2011-05-05 15:23:17 +02:00
Wim Taymans
86a4771f8e remove buffer_alloc 2011-04-29 13:28:17 +02:00
Sebastian Dröge
8336e2027d sys: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 11:44:14 +02:00
Sebastian Dröge
0759ce8533 Merge branch 'master' into 0.11 2011-04-18 13:23:32 +02:00
Sebastian Dröge
75c337c726 x(v)imagesink: If NULL caps are passed to buffer_alloc() do fallback allocation
Fixes bug #647857.
2011-04-18 11:24:57 +02:00
Wim Taymans
c8fee4a4b3 ximage: don't share the memory
We can't share the memory on the buffer with other buffers because the metadata
X(v)Image points to it and we don't want it to go away.
2011-04-07 16:07:57 +02:00
Wim Taymans
1ae67927cc ximage: more fixes 2011-04-06 17:54:28 +02:00
Wim Taymans
518ededd16 ximage: more fixes 2011-04-06 16:26:12 +02:00
benjamin gaignard
15c49a4d63 xvimagesink: use bufferpool
Improve bufferpool handling in ximagesink.
Implement bufferpool handling on xvimagesink.

Based on patches from benjamin gaignard <benjamin.gaignard@linaro.org>
2011-04-06 12:28:46 +02:00
Wim Taymans
5244770775 plugins: fix for new memory API 2011-03-27 17:16:10 +02:00
Wim Taymans
f246c0e97d meta: update for new API 2011-03-08 17:01:41 +00:00
Wim Taymans
92f9995d98 ximagesink: make metadata methods more like core 2011-03-04 18:32:53 +01:00
Wim Taymans
825c650964 ximagesink: reset the pool 2011-03-04 16:21:55 +01:00
Wim Taymans
e993bde873 ximagesink: implement buffer_alloc from the pool
Use the bufferpool for pad_alloc when we are asked for the same caps as the
bufferpool.
2011-03-04 16:21:54 +01:00
Wim Taymans
ea05fe1278 ximage: rewrite the buffer pool in ximagesink
Rewrite the pooling in ximagesink to extend from the bufferpool base class in
core. Move some code to a comon place and refactor.
2011-03-04 16:21:54 +01:00
Wim Taymans
c7c8f3e13d meta: fix for new API 2011-02-28 11:50:04 +01:00
Wim Taymans
ce7498e7c3 ximagesink: experiment with convenience macros 2011-02-28 11:50:04 +01:00
Wim Taymans
a1a237d0ea ximage: fix macros 2011-02-28 11:50:04 +01:00
Wim Taymans
08bfcad434 ximage: reimplement buffer pooling with metadata
Use the buffer metadata to get back to the extra info we can use to optimize the
video rendering.
2011-02-28 11:50:04 +01:00
Wim Taymans
55c9ca592f metadata: implement extra buffer data with metadata
Use buffer metadata to attach arbitrary extra data to buffers.
2011-02-28 11:50:04 +01:00
Wim Taymans
e78903e662 X11: port imagesinks to new miniobjects
Remove the subbuffer from X11 sinks and use the private pointer to store a
single buffer metadata with the extra info.
2011-02-28 11:50:04 +01:00
Sebastian Dröge
334a739083 ximagesink: Add docs for the new property
Including Since markers
2010-12-02 19:04:28 +01:00
Andrea Sebastianutti
2ad9966163 ximagsink: Add read-only properties window-width and window-height 2010-12-02 19:04:27 +01:00
David Schleef
6dc02137fb xoverlay: Add guintptr versions of functions
And deprecate the gulong versions.  This is to support platforms
where sizeof(unsigned long) < sizeof(void *).  Fixes #627565.

API: Add gst_x_overlay_set_window_handle()
API: Deprecate: gst_x_overlay_set_xwindow_id()
API: Add gst_x_overlay_got_window_handle()
API: Deprecate: gst_x_overlay_got_xwindow_id()
API: Add GstXOverlay::set_window_handle()
API: Deprecate: GstXOverlay::set_xwindow_id()
2010-09-15 00:10:23 -07:00
Philippe Normand
0ee588a3a6 ximagesink: Ask pad peer to accept new caps once only
In buffer_alloc, if the buffer caps are new, call
gst_pad_peer_accept_caps once only, it's useless to call it in the
cases where we know it will always fail.

Fixes bug #621190
2010-06-18 06:11:36 +02:00
Sebastian Dröge
6914986cb3 ximagesink: Check if the X context is allocated before using it
It should be allocated at these places already or the state changes
would have failed... but better add an additional check here.
2010-05-10 12:44:41 +02:00
Sebastian Dröge
df5c772c44 ximagesink: Post an error message on the bus if no supported pixmap formats can be found
Might fix bug #615851.
2010-05-10 12:28:29 +02:00
Stefan Kost
f5469d42de x(v)imagesink: use gst_caps_can_intersect() more
In place where we just need to know whether caps intersect, we can use this
quicker function.
2010-05-06 08:22:36 +03:00