Commit graph

29 commits

Author SHA1 Message Date
Tim-Philipp Müller
37d000d175 xoverlay: change new set_render_rectangle() vfunc to take four arguments so we don't depend on libgstvideo
Don't make libgstinterfaces (and thus libgstaudio etc.) indirectly depend
on libgstvideo by using the GstVideoRectangle helper structure in the API,
which causes undesirable dependencies, esp. with the gobject-introspection
(people will point and laugh at us if they find out that libgstaudio
depends on libgstvideo). Instead, pass the x, y, width and height parameters
directly to the function.

Re-fixes #610249.
2010-03-28 20:21:10 +01:00
Torsten Schönfeld
9b6843092a docs: add Since: tags to gst_x_overlay_handle_event() docs
Fixes #613403.
2010-03-20 12:57:29 +00:00
Tim-Philipp Müller
08b0e0761b docs: fix up interfaces library docs to make gtk-doc happy 2010-03-15 13:40:48 +00:00
Stefan Kost
aba07d54c4 xvoverlay: correct version number in docs 2010-03-11 10:55:21 +02:00
Stefan Kost
7269bc26d0 xoverlay: add new vmethod ::set_render_rectangle()
Add set_render_rectangle() vmethod to the interface to better support windowless
toolkits (e.g. qt graphicsview or video on canvas in general). Right now we
always fill the widget to 100%. With the patch we can use a rectangular target
region. Fixes #610249.
API: GstXOverlay::set_render_rectangle()
2010-03-11 10:24:57 +02:00
Stefan Kost
54094cd9ce examples: add video overlay examples for gtk, qt and qt graphics view
Add simple videotestsrc ! xvimagesink examples using gtk and qt. This patch also
adds all boilerplate to configure for using c++. The qt based examples are
optional like their gtk counterparts.
2010-02-17 09:48:10 +02:00
Tim-Philipp Müller
5e6162eebb docs: flesh out GtkXOverlay docs some more and add example for Gtk+ >= 2.18
Explain why the whole bus sync handler mess is needed. Add section about
how to use GstXOverlay in connection with Gtk+ and mention the Gtk+ API
break issue and how to work around it (see #601809).
2010-01-10 23:50:02 +00:00
Tim-Philipp Müller
d23f2ae402 gst-libs/gst/interfaces/xoverlay.c: More guards (we don't want klass to end up being NULL).
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_expose),
(gst_x_overlay_handle_events):
More guards (we don't want klass to end up being NULL).
2007-12-15 17:27:48 +00:00
Julien Moutte
163ec9ecf9 Add a method to the XOverlay interface to allow disabling of event handling in x[v]imagesink elements. This will let ...
Original commit message from CVS:
2007-01-04  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/interfaces/xoverlay.c:
(gst_x_overlay_handle_events):
* gst-libs/gst/interfaces/xoverlay.h:
* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new),
(gst_ximagesink_set_xwindow_id),
(gst_ximagesink_set_event_handling),
(gst_ximagesink_xoverlay_init), (gst_ximagesink_set_property),
(gst_ximagesink_get_property), (gst_ximagesink_init),
(gst_ximagesink_class_init):
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_new),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_set_event_handling),
(gst_xvimagesink_xoverlay_init), (gst_xvimagesink_set_property),
(gst_xvimagesink_get_property), (gst_xvimagesink_init),
(gst_xvimagesink_class_init):
* sys/xvimage/xvimagesink.h:
* tests/icles/stress-xoverlay.c: (toggle_events),
(create_window):
Add a method to the XOverlay interface to allow disabling of
event handling in x[v]imagesink elements. This will let X events
propagate to parent windows which can be usefull in some cases.
Be carefull that the application is then responsible of pushing
navigation events and expose events to the video sink.
Fixes: #387138.
2007-01-04 11:30:53 +00:00
Tim-Philipp Müller
a336b4c10d gst-libs/gst/interfaces/xoverlay.c: Some more guards against invalid input.
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c:
(gst_x_overlay_set_xwindow_id), (gst_x_overlay_expose):
Some more guards against invalid input.
2006-10-08 16:59:31 +00:00
Stefan Kost
ae6f56a20d gst-libs/gst/interfaces/xoverlay.c: Unref message in doc-example (spotted by Robert McQueen)
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c:
Unref message in doc-example (spotted by Robert McQueen)
2006-10-06 19:20:53 +00:00
Stefan Kost
7b5c310767 gst-libs/gst/interfaces/xoverlay.c: Remove unused statement from doc example.
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c:
Remove unused statement from doc example.
2006-09-22 11:59:00 +00:00
Thomas Vander Stichele
51ca8fe3e1 move last template doc snippets to source code and delete them
Original commit message from CVS:
* docs/libs/tmpl/gstaudio.sgml:
* docs/libs/tmpl/gstcolorbalance.sgml:
* docs/libs/tmpl/gstmixer.sgml:
* docs/libs/tmpl/gstringbuffer.sgml:
* docs/libs/tmpl/gsttuner.sgml:
* docs/libs/tmpl/gstxoverlay.sgml:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/gstringbuffer.c:
* gst-libs/gst/interfaces/colorbalance.c:
* gst-libs/gst/interfaces/mixer.c:
* gst-libs/gst/interfaces/tuner.c:
* gst-libs/gst/interfaces/xoverlay.c:
move last template doc snippets to source code and delete them
2006-06-07 11:03:03 +00:00
Tim-Philipp Müller
4757506720 gst-libs/gst/interfaces/xoverlay.c: Fix prepare-xwindow-id code example in the docs - we need to ignore all messages ...
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c:
Fix prepare-xwindow-id code example in the docs - we need to
ignore all messages that aren't element messages as well.
2006-01-22 14:50:53 +00:00
Thomas Vander Stichele
dc0f45d20c update documentation
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/tmpl/gstaudio.sgml:
* docs/libs/tmpl/gstringbuffer.sgml:
* gst-libs/gst/interfaces/xoverlay.c:
* gst-libs/gst/video/gstvideofilter.c:
* gst-libs/gst/video/gstvideosink.c:
update documentation
2005-12-01 01:29:46 +00:00
Julien Moutte
4a3356cd6f Add docs for the Xoverlay interface.
Original commit message from CVS:
2005-11-28  Julien MOUTTE  <julien@moutte.net>

* docs/libs/tmpl/gstcolorbalance.sgml:
* docs/libs/tmpl/gstmixer.sgml:
* docs/libs/tmpl/gstxoverlay.sgml:
* gst-libs/gst/interfaces/xoverlay.c: Add docs for the Xoverlay
interface.
2005-11-28 13:06:05 +00:00
Tim-Philipp Müller
aaf1e55bd2 gst-libs/gst/interfaces/xoverlay.*: Remove everything having to do with the desired size; add gst_x_overlay_prepare_x...
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_base_init),
(gst_x_overlay_got_xwindow_id), (gst_x_overlay_prepare_xwindow_id):
* gst-libs/gst/interfaces/xoverlay.h:
Remove everything having to do with the desired size; add
gst_x_overlay_prepare_xwindow_id() function; remove the
'have-xwindow-id' signal and make gst_x_overlay_got_xwindow_id()
post a message on the bus instead (#321816).
* sys/ximage/ximagesink.c: (gst_ximagesink_xoverlay_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps),
(gst_xvimagesink_xoverlay_init):
Remove desired size stuff (#321816).
2005-11-21 20:28:23 +00:00
Thomas Vander Stichele
f83cb187de don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:28 +00:00
Thomas Vander Stichele
4df3f18839 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:34 +00:00
Benjamin Otte
19d221ba71 gst-libs/gst/xoverlay/xoverlay.*: replace XID with unsigned long to get rid of the xlibs dependency in
Original commit message from CVS:
* gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_set_xwindow_id),
(gst_x_overlay_got_xwindow_id):
* gst-libs/gst/xoverlay/xoverlay.h:
replace XID with unsigned long to get rid of the xlibs dependency in
XOverlay (fixes #137004)
2004-03-12 21:43:25 +00:00
Thomas Vander Stichele
15f1314023 fix headers fix signals to use - instead of _
Original commit message from CVS:
fix headers
fix signals to use - instead of _
2004-03-04 21:39:15 +00:00
Julien Moutte
d1f51a2773 gst-libs/gst/xoverlay/xoverlay.*: Adding the _expose method to tell an overlay to redraw the image because it has bee...
Original commit message from CVS:
2004-02-04  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_expose):
* gst-libs/gst/xoverlay/xoverlay.h: Adding the _expose method to tell
an overlay to redraw the image because it has been exposed.
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_destroy),
(gst_ximagesink_ximage_put), (gst_ximagesink_expose),
(gst_ximagesink_xoverlay_init), (gst_ximagesink_init):
* sys/ximage/ximagesink.h: Implement expose method from XOverlay
interface
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_destroy),
(gst_xvimagesink_xvimage_put), (gst_xvimagesink_expose),
(gst_xvimagesink_xoverlay_init), (gst_xvimagesink_init):
* sys/xvimage/xvimagesink.h: Implement expose method from XOverlay
interface
2004-02-03 23:05:46 +00:00
Julien Moutte
7b89c1a8bf ext/ffmpeg/gstffmpegcolorspace.c: Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
* gst-libs/gst/xoverlay/xoverlay.c:
(gst_x_overlay_got_desired_size): Updating doc for the xid being 0.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_chain):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc),
(gst_ximagesink_set_xwindow_id), (gst_ximagesink_init): Implementing
the bufferalloc_function to replace bufferpools, fixing the XOverlay
interface implementation to handle xid being 0 and fix some bugs
triggered by Benjamin's testcase.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc),
(gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_init): Implementing
the bufferalloc_function to replace bufferpools, fixing the XOverlay
interface implementation to handle xid being 0 and fix some bugs
triggered by Benjamin's testcase.
2004-01-09 18:05:57 +00:00
Benjamin Otte
5e15a670e8 gst-libs/gst/xoverlay/xoverlay.*: Add optional "desired size" signal and querying.
Original commit message from CVS:
2004-01-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_base_init),
(gst_x_overlay_got_xwindow_id), (gst_x_overlay_get_desired_size),
(gst_x_overlay_got_desired_size):
* gst-libs/gst/xoverlay/xoverlay.h:
Add optional "desired size" signal and querying.
2004-01-04 18:02:30 +00:00
Ronald S. Bultje
00e390d267 Don't use class casts before they're initialized
Original commit message from CVS:
Don't use class casts before they're initialized
2003-12-07 22:39:03 +00:00
Ronald S. Bultje
2ebfe048cc Move over from GstInterface to GstImplementsInterface. Also adds some signals to several interfaces
Original commit message from CVS:
Move over from GstInterface to GstImplementsInterface. Also adds some signals to several interfaces
2003-12-07 12:11:30 +00:00
Julien Moutte
ea49926624 Removing have_size as it is in GstVideoSink higher class.
Original commit message from CVS:
Removing have_size as it is in GstVideoSink higher class.
2003-11-19 22:40:59 +00:00
Julien Moutte
a58a759d9c Merged GstVideoOverlay features here.
Original commit message from CVS:
Merged GstVideoOverlay features here.
2003-11-17 16:29:38 +00:00
Ronald S. Bultje
0f124a569d Some interface implementations for video4linux/video4linux2 plugins: a Tuner interface, with which one can select inp...
Original commit message from CVS:
Some interface implementations for video4linux/video4linux2 plugins:
* a Tuner interface, with which one can select inputs and stations. Audio
work is underway here, but unfinished.
* A Xoverlay interface with which one can do simple overlay. Similar to
the API of the v4l/Xv XFree86 extension. Widget implementation for
GTK-2.0 coming up in the sandbox.
* Colorbalance - for adapting colors (brightness, contrast, etc.) - pretty
basic and maybe somewhat overdesigned. But it'll do for now.

Apart from these interfaces, there's also a loadable library 'xwindowlistener'
that listenes to X for the movement of a window and the overlap of other
windows. This is partly copied from xawtv (and thus partly GPL :(), but it's
needed for the xoverlay interface implementation in the v4l/v4l2 elements.

Lastly, some small changes to remove redundant properties from the v4l/v4l2
elements since these can be done much simpler. Comments appreciated!
2003-10-10 12:47:41 +00:00