tizen 2.0 init
[framework/multimedia/gst-plugins-base0.10.git] / docs / libs / html / gst-plugins-base-libs-gstvideooverlaycomposition.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>gstvideooverlaycomposition</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GStreamer Base Plugins 0.10 Library Reference Manual">
8 <link rel="up" href="gstreamer-video.html" title="Video Library">
9 <link rel="prev" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">
10 <link rel="next" href="gst-plugins-base-libs-gstvideofilter.html" title="gstvideofilter">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gst-plugins-base-libs-gstvideo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="gstreamer-video.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GStreamer Base Plugins 0.10 Library Reference Manual</th>
21 <td><a accesskey="n" href="gst-plugins-base-libs-gstvideofilter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-base-libs-gstvideooverlaycomposition.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gst-plugins-base-libs-gstvideooverlaycomposition.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="gst-plugins-base-libs-gstvideooverlaycomposition"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstvideooverlaycomposition.top_of_page"></a>gstvideooverlaycomposition</span></h2>
34 <p>gstvideooverlaycomposition — Video Buffer Overlay Compositions (Subtitles, Logos)</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="gst-plugins-base-libs-gstvideooverlaycomposition.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">
41 #include &lt;gst/video/video-overlay-composition.h&gt;
42
43                     <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition">GstVideoOverlayComposition</a>;
44                     <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayCompositionClass" title="GstVideoOverlayCompositionClass">GstVideoOverlayCompositionClass</a>;
45 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-new" title="gst_video_overlay_composition_new ()">gst_video_overlay_composition_new</a>
46                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);
47 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-ref" title="gst_video_overlay_composition_ref ()">gst_video_overlay_composition_ref</a>
48                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);
49 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-unref" title="gst_video_overlay_composition_unref ()">gst_video_overlay_composition_unref</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);
50 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-add-rectangle" title="gst_video_overlay_composition_add_rectangle ()">gst_video_overlay_composition_add_rectangle</a>
51                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>,
52                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);
53 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-n-rectangles" title="gst_video_overlay_composition_n_rectangles ()">gst_video_overlay_composition_n_rectangles</a>
54                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);
55 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-get-rectangle" title="gst_video_overlay_composition_get_rectangle ()">gst_video_overlay_composition_get_rectangle</a>
56                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>,
57                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n</code></em>);
58 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-get-seqnum" title="gst_video_overlay_composition_get_seqnum ()">gst_video_overlay_composition_get_seqnum</a>
59                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);
60 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-copy" title="gst_video_overlay_composition_copy ()">gst_video_overlay_composition_copy</a>
61                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);
62 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-make-writable" title="gst_video_overlay_composition_make_writable ()">gst_video_overlay_composition_make_writable</a>
63                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);
64 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-blend" title="gst_video_overlay_composition_blend ()">gst_video_overlay_composition_blend</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>,
65                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *video_buf</code></em>);
66
67 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-buffer-get-overlay-composition" title="gst_video_buffer_get_overlay_composition ()">gst_video_buffer_get_overlay_composition</a>
68                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);
69 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-buffer-set-overlay-composition" title="gst_video_buffer_set_overlay_composition ()">gst_video_buffer_set_overlay_composition</a>
70                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
71                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);
72
73 enum                <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags">GstVideoOverlayFormatFlags</a>;
74                     <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle">GstVideoOverlayRectangle</a>;
75                     <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangleClass" title="GstVideoOverlayRectangleClass">GstVideoOverlayRectangleClass</a>;
76 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-new-argb" title="gst_video_overlay_rectangle_new_argb ()">gst_video_overlay_rectangle_new_argb</a>
77                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *pixels</code></em>,
78                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>,
79                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>,
80                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> stride</code></em>,
81                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> render_x</code></em>,
82                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> render_y</code></em>,
83                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> render_width</code></em>,
84                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> render_height</code></em>,
85                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);
86 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-ref" title="gst_video_overlay_rectangle_ref ()">gst_video_overlay_rectangle_ref</a>
87                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *comp</code></em>);
88 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-unref" title="gst_video_overlay_rectangle_unref ()">gst_video_overlay_rectangle_unref</a>   (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *comp</code></em>);
89 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-pixels-argb" title="gst_video_overlay_rectangle_get_pixels_argb ()">gst_video_overlay_rectangle_get_pixels_argb</a>
90                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
91                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *stride</code></em>,
92                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);
93 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-pixels-unscaled-argb" title="gst_video_overlay_rectangle_get_pixels_unscaled_argb ()">gst_video_overlay_rectangle_get_pixels_unscaled_argb</a>
94                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
95                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *width</code></em>,
96                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *height</code></em>,
97                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *stride</code></em>,
98                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);
99 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-render-rectangle" title="gst_video_overlay_rectangle_get_render_rectangle ()">gst_video_overlay_rectangle_get_render_rectangle</a>
100                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
101                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *render_x</code></em>,
102                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *render_y</code></em>,
103                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *render_width</code></em>,
104                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *render_height</code></em>);
105 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-seqnum" title="gst_video_overlay_rectangle_get_seqnum ()">gst_video_overlay_rectangle_get_seqnum</a>
106                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);
107 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-set-render-rectangle" title="gst_video_overlay_rectangle_set_render_rectangle ()">gst_video_overlay_rectangle_set_render_rectangle</a>
108                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
109                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> render_x</code></em>,
110                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> render_y</code></em>,
111                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> render_width</code></em>,
112                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> render_height</code></em>);
113 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-copy" title="gst_video_overlay_rectangle_copy ()">gst_video_overlay_rectangle_copy</a>
114                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);
115 </pre>
116 </div>
117 <div class="refsect1">
118 <a name="gst-plugins-base-libs-gstvideooverlaycomposition.description"></a><h2>Description</h2>
119 <p>
120 </p>
121 <div class="refsect2">
122 <a name="idp30461952"></a><p>
123 Functions to create and handle overlay compositions on video buffers.
124 </p>
125 <p>
126 An overlay composition describes one or more overlay rectangles to be
127 blended on top of a video buffer.
128 </p>
129 <p>
130 This API serves two main purposes:
131 </p>
132 <div class="itemizedlist">
133 <span class="type">GstOverlayComposition</span><ul class="itemizedlist" type="disc">
134 <li class="listitem">
135 it can be used to attach overlay information (subtitles or logos)
136 to non-raw video buffers such as GL/VAAPI/VDPAU surfaces. The actual
137 blending of the overlay can then be done by e.g. the video sink that
138 processes these non-raw buffers.
139 </li>
140 <li class="listitem">
141 it can also be used to blend overlay rectangles on top of raw video
142 buffers, thus consolidating blending functionality for raw video in
143 one place.
144 </li>
145 </ul>
146 </div>
147 <p>
148 </p>
149 </div>
150 <p>
151 </p>
152 </div>
153 <div class="refsect1">
154 <a name="gst-plugins-base-libs-gstvideooverlaycomposition.details"></a><h2>Details</h2>
155 <div class="refsect2">
156 <a name="GstVideoOverlayComposition"></a><h3>GstVideoOverlayComposition</h3>
157 <pre class="programlisting">typedef struct _GstVideoOverlayComposition GstVideoOverlayComposition;</pre>
158 <p>
159 An opaque video overlay composition object. A composition contains
160 multiple overlay rectangles.
161 </p>
162 <p class="since">Since 0.10.36</p>
163 </div>
164 <hr>
165 <div class="refsect2">
166 <a name="GstVideoOverlayCompositionClass"></a><h3>GstVideoOverlayCompositionClass</h3>
167 <pre class="programlisting">typedef struct _GstVideoOverlayCompositionClass GstVideoOverlayCompositionClass;</pre>
168 </div>
169 <hr>
170 <div class="refsect2">
171 <a name="gst-video-overlay-composition-new"></a><h3>gst_video_overlay_composition_new ()</h3>
172 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * gst_video_overlay_composition_new
173                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
174 <p>
175 Creates a new video overlay composition object to hold one or more
176 overlay rectangles.
177 </p>
178 <div class="variablelist"><table border="0">
179 <col align="left" valign="top">
180 <tbody>
181 <tr>
182 <td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
183 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> to add to the
184 composition. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
185 </td>
186 </tr>
187 <tr>
188 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
189 <td>a new <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>. Unref with
190 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-unref" title="gst_video_overlay_composition_unref ()"><code class="function">gst_video_overlay_composition_unref()</code></a> when no longer needed. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
191 </td>
192 </tr>
193 </tbody>
194 </table></div>
195 <p class="since">Since 0.10.36</p>
196 </div>
197 <hr>
198 <div class="refsect2">
199 <a name="gst-video-overlay-composition-ref"></a><h3>gst_video_overlay_composition_ref ()</h3>
200 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * gst_video_overlay_composition_ref
201                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
202 <p>
203 Increases the refcount of the given composition by one.
204 </p>
205 <p>
206 Note that the refcount affects the writeability
207 of <em class="parameter"><code>comp</code></em>, use <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-make-writable" title="gst_video_overlay_composition_make_writable ()"><code class="function">gst_video_overlay_composition_make_writable()</code></a> to ensure
208 a composition and its rectangles can be modified.
209 </p>
210 <div class="variablelist"><table border="0">
211 <col align="left" valign="top">
212 <tbody>
213 <tr>
214 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
215 <td>a a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>.</td>
216 </tr>
217 <tr>
218 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
219 <td>
220 <em class="parameter"><code>comp</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
221 </td>
222 </tr>
223 </tbody>
224 </table></div>
225 <p class="since">Since 0.10.36</p>
226 </div>
227 <hr>
228 <div class="refsect2">
229 <a name="gst-video-overlay-composition-unref"></a><h3>gst_video_overlay_composition_unref ()</h3>
230 <pre class="programlisting"><span class="returnvalue">void</span>                gst_video_overlay_composition_unref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
231 <p>
232 Decreases the refcount of the composition. If the refcount reaches 0, the
233 composition will be freed.
234 </p>
235 <div class="variablelist"><table border="0">
236 <col align="left" valign="top">
237 <tbody><tr>
238 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
239 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
240 </td>
241 </tr></tbody>
242 </table></div>
243 <p class="since">Since 0.10.36</p>
244 </div>
245 <hr>
246 <div class="refsect2">
247 <a name="gst-video-overlay-composition-add-rectangle"></a><h3>gst_video_overlay_composition_add_rectangle ()</h3>
248 <pre class="programlisting"><span class="returnvalue">void</span>                gst_video_overlay_composition_add_rectangle
249                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>,
250                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
251 <p>
252 Adds an overlay rectangle to an existing overlay composition object. This
253 must be done right after creating the overlay composition.
254 </p>
255 <div class="variablelist"><table border="0">
256 <col align="left" valign="top">
257 <tbody>
258 <tr>
259 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
260 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>
261 </td>
262 </tr>
263 <tr>
264 <td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
265 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> to add to the
266 composition. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
267 </td>
268 </tr>
269 </tbody>
270 </table></div>
271 <p class="since">Since 0.10.36</p>
272 </div>
273 <hr>
274 <div class="refsect2">
275 <a name="gst-video-overlay-composition-n-rectangles"></a><h3>gst_video_overlay_composition_n_rectangles ()</h3>
276 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               gst_video_overlay_composition_n_rectangles
277                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
278 <p>
279 Returns the number of <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>s contained in <em class="parameter"><code>comp</code></em>.
280 </p>
281 <div class="variablelist"><table border="0">
282 <col align="left" valign="top">
283 <tbody>
284 <tr>
285 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
286 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>
287 </td>
288 </tr>
289 <tr>
290 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
291 <td>the number of rectangles</td>
292 </tr>
293 </tbody>
294 </table></div>
295 <p class="since">Since 0.10.36</p>
296 </div>
297 <hr>
298 <div class="refsect2">
299 <a name="gst-video-overlay-composition-get-rectangle"></a><h3>gst_video_overlay_composition_get_rectangle ()</h3>
300 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> * gst_video_overlay_composition_get_rectangle
301                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>,
302                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n</code></em>);</pre>
303 <p>
304 Returns the <em class="parameter"><code>n</code></em>-th <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> contained in <em class="parameter"><code>comp</code></em>.
305 </p>
306 <div class="variablelist"><table border="0">
307 <col align="left" valign="top">
308 <tbody>
309 <tr>
310 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
311 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>
312 </td>
313 </tr>
314 <tr>
315 <td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
316 <td>number of the rectangle to get</td>
317 </tr>
318 <tr>
319 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
320 <td>the <em class="parameter"><code>n</code></em>-th rectangle, or NULL if <em class="parameter"><code>n</code></em> is out of
321 bounds. Will not return a new reference, the caller will need to
322 obtain her own reference using <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-ref" title="gst_video_overlay_rectangle_ref ()"><code class="function">gst_video_overlay_rectangle_ref()</code></a>
323 if needed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
324 </td>
325 </tr>
326 </tbody>
327 </table></div>
328 <p class="since">Since 0.10.36</p>
329 </div>
330 <hr>
331 <div class="refsect2">
332 <a name="gst-video-overlay-composition-get-seqnum"></a><h3>gst_video_overlay_composition_get_seqnum ()</h3>
333 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               gst_video_overlay_composition_get_seqnum
334                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
335 <p>
336 Returns the sequence number of this composition. Sequence numbers are
337 monotonically increasing and unique for overlay compositions and rectangles
338 (meaning there will never be a rectangle with the same sequence number as
339 a composition).
340 </p>
341 <div class="variablelist"><table border="0">
342 <col align="left" valign="top">
343 <tbody>
344 <tr>
345 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
346 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>
347 </td>
348 </tr>
349 <tr>
350 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
351 <td>the sequence number of <em class="parameter"><code>comp</code></em>
352 </td>
353 </tr>
354 </tbody>
355 </table></div>
356 <p class="since">Since 0.10.36</p>
357 </div>
358 <hr>
359 <div class="refsect2">
360 <a name="gst-video-overlay-composition-copy"></a><h3>gst_video_overlay_composition_copy ()</h3>
361 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * gst_video_overlay_composition_copy
362                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
363 <p>
364 Makes a copy of <em class="parameter"><code>comp</code></em> and all contained rectangles, so that it is possible
365 to modify the composition and contained rectangles (e.g. add additional
366 rectangles or change the render co-ordinates or render dimension). The
367 actual overlay pixel data buffers contained in the rectangles are not
368 copied.
369 </p>
370 <div class="variablelist"><table border="0">
371 <col align="left" valign="top">
372 <tbody>
373 <tr>
374 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
375 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> to copy. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
376 </td>
377 </tr>
378 <tr>
379 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
380 <td>a new <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> equivalent
381 to <em class="parameter"><code>comp</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
382 </td>
383 </tr>
384 </tbody>
385 </table></div>
386 <p class="since">Since 0.10.36</p>
387 </div>
388 <hr>
389 <div class="refsect2">
390 <a name="gst-video-overlay-composition-make-writable"></a><h3>gst_video_overlay_composition_make_writable ()</h3>
391 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * gst_video_overlay_composition_make_writable
392                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
393 <p>
394 Takes ownership of <em class="parameter"><code>comp</code></em> and returns a version of <em class="parameter"><code>comp</code></em> that is writable
395 (i.e. can be modified). Will either return <em class="parameter"><code>comp</code></em> right away, or create a
396 new writable copy of <em class="parameter"><code>comp</code></em> and unref <em class="parameter"><code>comp</code></em> itself. All the contained
397 rectangles will also be copied, but the actual overlay pixel data buffers
398 contained in the rectangles are not copied.
399 </p>
400 <div class="variablelist"><table border="0">
401 <col align="left" valign="top">
402 <tbody>
403 <tr>
404 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
405 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> to copy. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
406 </td>
407 </tr>
408 <tr>
409 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
410 <td>a writable <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>
411 equivalent to <em class="parameter"><code>comp</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
412 </td>
413 </tr>
414 </tbody>
415 </table></div>
416 <p class="since">Since 0.10.36</p>
417 </div>
418 <hr>
419 <div class="refsect2">
420 <a name="gst-video-overlay-composition-blend"></a><h3>gst_video_overlay_composition_blend ()</h3>
421 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_video_overlay_composition_blend (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>,
422                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *video_buf</code></em>);</pre>
423 <p>
424 Blends the overlay rectangles in <em class="parameter"><code>comp</code></em> on top of the raw video data
425 contained in <em class="parameter"><code>video_buf</code></em>. The data in <em class="parameter"><code>video_buf</code></em> must be writable. If
426 needed, use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-make-writable"><code class="function">gst_buffer_make_writable()</code></a> before calling this function to
427 ensure a buffer is writable. <em class="parameter"><code>video_buf</code></em> must also have valid raw video
428 caps set on it.
429 </p>
430 <div class="variablelist"><table border="0">
431 <col align="left" valign="top">
432 <tbody>
433 <tr>
434 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
435 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>
436 </td>
437 </tr>
438 <tr>
439 <td><p><span class="term"><em class="parameter"><code>video_buf</code></em> :</span></p></td>
440 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing raw video data in a supported format</td>
441 </tr>
442 </tbody>
443 </table></div>
444 <p class="since">Since 0.10.36</p>
445 </div>
446 <hr>
447 <div class="refsect2">
448 <a name="gst-video-buffer-get-overlay-composition"></a><h3>gst_video_buffer_get_overlay_composition ()</h3>
449 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> * gst_video_buffer_get_overlay_composition
450                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);</pre>
451 <p>
452 Get the overlay composition that has previously been attached to a buffer
453 with <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-buffer-get-overlay-composition" title="gst_video_buffer_get_overlay_composition ()"><code class="function">gst_video_buffer_get_overlay_composition()</code></a>, usually by another element
454 upstream.
455 </p>
456 <div class="variablelist"><table border="0">
457 <col align="left" valign="top">
458 <tbody>
459 <tr>
460 <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
461 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
462 </td>
463 </tr>
464 <tr>
465 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
466 <td>the <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> attached to
467 this buffer, or NULL. Does not return a reference to the composition,
468 caller must obtain her own ref via <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-ref" title="gst_video_overlay_composition_ref ()"><code class="function">gst_video_overlay_composition_ref()</code></a>
469 if needed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
470 </td>
471 </tr>
472 </tbody>
473 </table></div>
474 <p class="since">Since 0.10.36</p>
475 </div>
476 <hr>
477 <div class="refsect2">
478 <a name="gst-video-buffer-set-overlay-composition"></a><h3>gst_video_buffer_set_overlay_composition ()</h3>
479 <pre class="programlisting"><span class="returnvalue">void</span>                gst_video_buffer_set_overlay_composition
480                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
481                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
482 <p>
483 Sets an overlay composition on a buffer. The buffer will obtain its own
484 reference to the composition, meaning this function does not take ownership
485 of <em class="parameter"><code>comp</code></em>.
486 </p>
487 <div class="variablelist"><table border="0">
488 <col align="left" valign="top">
489 <tbody>
490 <tr>
491 <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
492 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
493 </td>
494 </tr>
495 <tr>
496 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
497 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>, or NULL to clear a
498 previously-set composition. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
499 </td>
500 </tr>
501 </tbody>
502 </table></div>
503 <p class="since">Since 0.10.36</p>
504 </div>
505 <hr>
506 <div class="refsect2">
507 <a name="GstVideoOverlayFormatFlags"></a><h3>enum GstVideoOverlayFormatFlags</h3>
508 <pre class="programlisting">typedef enum {
509   GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE = 0
510 } GstVideoOverlayFormatFlags;
511 </pre>
512 <p>
513 Overlay format flags.
514 </p>
515 <div class="variablelist"><table border="0">
516 <col align="left" valign="top">
517 <tbody><tr>
518 <td><p><a name="GST-VIDEO-OVERLAY-FORMAT-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE</code></span></p></td>
519 <td>no flags
520 </td>
521 </tr></tbody>
522 </table></div>
523 <p class="since">Since 0.10.36</p>
524 </div>
525 <hr>
526 <div class="refsect2">
527 <a name="GstVideoOverlayRectangle"></a><h3>GstVideoOverlayRectangle</h3>
528 <pre class="programlisting">typedef struct _GstVideoOverlayRectangle GstVideoOverlayRectangle;</pre>
529 <p>
530 An opaque video overlay rectangle object. A rectangle contains a single
531 overlay rectangle which can be added to a composition.
532 </p>
533 <p class="since">Since 0.10.36</p>
534 </div>
535 <hr>
536 <div class="refsect2">
537 <a name="GstVideoOverlayRectangleClass"></a><h3>GstVideoOverlayRectangleClass</h3>
538 <pre class="programlisting">typedef struct _GstVideoOverlayRectangleClass GstVideoOverlayRectangleClass;</pre>
539 </div>
540 <hr>
541 <div class="refsect2">
542 <a name="gst-video-overlay-rectangle-new-argb"></a><h3>gst_video_overlay_rectangle_new_argb ()</h3>
543 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> * gst_video_overlay_rectangle_new_argb
544                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *pixels</code></em>,
545                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>,
546                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>,
547                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> stride</code></em>,
548                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> render_x</code></em>,
549                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> render_y</code></em>,
550                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> render_width</code></em>,
551                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> render_height</code></em>,
552                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
553 <p>
554 Creates a new video overlay rectangle with ARGB pixel data. The layout
555 of the components in memory is B-G-R-A on little-endian platforms
556 (corresponding to <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-BGRA:CAPS"><span class="type">GST_VIDEO_FORMAT_BGRA</span></a>) and A-R-G-B on big-endian
557 platforms (corresponding to <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-ARGB:CAPS"><span class="type">GST_VIDEO_FORMAT_ARGB</span></a>). In other words,
558 pixels are treated as 32-bit words and the lowest 8 bits then contain
559 the blue component value and the highest 8 bits contain the alpha
560 component value. The RGB values are non-premultiplied. This is the
561 format that is used by most hardware, and also many rendering libraries
562 such as Cairo, for example.
563 </p>
564 <div class="variablelist"><table border="0">
565 <col align="left" valign="top">
566 <tbody>
567 <tr>
568 <td><p><span class="term"><em class="parameter"><code>pixels</code></em> :</span></p></td>
569 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> pointing to the pixel memory. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
570 </td>
571 </tr>
572 <tr>
573 <td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
574 <td>the width of the rectangle in <em class="parameter"><code>pixels</code></em>
575 </td>
576 </tr>
577 <tr>
578 <td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
579 <td>the height of the rectangle in <em class="parameter"><code>pixels</code></em>
580 </td>
581 </tr>
582 <tr>
583 <td><p><span class="term"><em class="parameter"><code>stride</code></em> :</span></p></td>
584 <td>the stride of the rectangle in <em class="parameter"><code>pixels</code></em> in bytes (&gt;= 4*width)</td>
585 </tr>
586 <tr>
587 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
588 <td>the X co-ordinate on the video where the top-left corner of this
589 overlay rectangle should be rendered to</td>
590 </tr>
591 <tr>
592 <td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
593 <td>the Y co-ordinate on the video where the top-left corner of this
594 overlay rectangle should be rendered to</td>
595 </tr>
596 <tr>
597 <td><p><span class="term"><em class="parameter"><code>render_width</code></em> :</span></p></td>
598 <td>the render width of this rectangle on the video</td>
599 </tr>
600 <tr>
601 <td><p><span class="term"><em class="parameter"><code>render_height</code></em> :</span></p></td>
602 <td>the render height of this rectangle on the video</td>
603 </tr>
604 <tr>
605 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
606 <td>flags (currently unused)</td>
607 </tr>
608 <tr>
609 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
610 <td>a new <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>. Unref with
611 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-unref" title="gst_video_overlay_rectangle_unref ()"><code class="function">gst_video_overlay_rectangle_unref()</code></a> when no longer needed. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
612 </td>
613 </tr>
614 </tbody>
615 </table></div>
616 <p class="since">Since 0.10.36</p>
617 </div>
618 <hr>
619 <div class="refsect2">
620 <a name="gst-video-overlay-rectangle-ref"></a><h3>gst_video_overlay_rectangle_ref ()</h3>
621 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> * gst_video_overlay_rectangle_ref
622                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *comp</code></em>);</pre>
623 <p>
624 Increases the refcount of the given rectangle by one.
625 </p>
626 <p>
627 Note that the refcount affects the writeability
628 of <em class="parameter"><code>comp</code></em>, use <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-copy" title="gst_video_overlay_rectangle_copy ()"><code class="function">gst_video_overlay_rectangle_copy()</code></a> to ensure a rectangle can
629 be modified (there is no <code class="function">gst_video_overlay_rectangle_make_writable()</code> because
630 it is unlikely that someone will hold the single reference to the rectangle
631 and not know that that's the case).
632 </p>
633 <div class="variablelist"><table border="0">
634 <col align="left" valign="top">
635 <tbody>
636 <tr>
637 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
638 <td>a a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>.</td>
639 </tr>
640 <tr>
641 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
642 <td>
643 <em class="parameter"><code>comp</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
644 </td>
645 </tr>
646 </tbody>
647 </table></div>
648 <p class="since">Since 0.10.36</p>
649 </div>
650 <hr>
651 <div class="refsect2">
652 <a name="gst-video-overlay-rectangle-unref"></a><h3>gst_video_overlay_rectangle_unref ()</h3>
653 <pre class="programlisting"><span class="returnvalue">void</span>                gst_video_overlay_rectangle_unref   (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *comp</code></em>);</pre>
654 <p>
655 Decreases the refcount of the rectangle. If the refcount reaches 0, the
656 rectangle will be freed.
657 </p>
658 <div class="variablelist"><table border="0">
659 <col align="left" valign="top">
660 <tbody><tr>
661 <td><p><span class="term"><em class="parameter"><code>comp</code></em> :</span></p></td>
662 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
663 </td>
664 </tr></tbody>
665 </table></div>
666 <p class="since">Since 0.10.36</p>
667 </div>
668 <hr>
669 <div class="refsect2">
670 <a name="gst-video-overlay-rectangle-get-pixels-argb"></a><h3>gst_video_overlay_rectangle_get_pixels_argb ()</h3>
671 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_video_overlay_rectangle_get_pixels_argb
672                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
673                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *stride</code></em>,
674                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
675 <div class="variablelist"><table border="0">
676 <col align="left" valign="top">
677 <tbody>
678 <tr>
679 <td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
680 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>
681 </td>
682 </tr>
683 <tr>
684 <td><p><span class="term"><em class="parameter"><code>stride</code></em> :</span></p></td>
685 <td>address of guint variable where to store the
686 row stride of the ARGB pixel data in the buffer. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
687 </td>
688 </tr>
689 <tr>
690 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
691 <td>flags (unused)</td>
692 </tr>
693 <tr>
694 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
695 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> holding the ARGB pixel data with
696 row stride <em class="parameter"><code>stride</code></em> and width and height of the render dimensions as per
697 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-render-rectangle" title="gst_video_overlay_rectangle_get_render_rectangle ()"><code class="function">gst_video_overlay_rectangle_get_render_rectangle()</code></a>. This function does
698 not return a reference, the caller should obtain a reference of her own
699 with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> if needed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
700 </td>
701 </tr>
702 </tbody>
703 </table></div>
704 <p class="since">Since 0.10.36</p>
705 </div>
706 <hr>
707 <div class="refsect2">
708 <a name="gst-video-overlay-rectangle-get-pixels-unscaled-argb"></a><h3>gst_video_overlay_rectangle_get_pixels_unscaled_argb ()</h3>
709 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_video_overlay_rectangle_get_pixels_unscaled_argb
710                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
711                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *width</code></em>,
712                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *height</code></em>,
713                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *stride</code></em>,
714                                                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
715 <p>
716 Retrieves the pixel data as it is. This is useful if the caller can
717 do the scaling itself when handling the overlaying. The rectangle will
718 need to be scaled to the render dimensions, which can be retrieved using
719 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-render-rectangle" title="gst_video_overlay_rectangle_get_render_rectangle ()"><code class="function">gst_video_overlay_rectangle_get_render_rectangle()</code></a>.
720 </p>
721 <div class="variablelist"><table border="0">
722 <col align="left" valign="top">
723 <tbody>
724 <tr>
725 <td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
726 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>
727 </td>
728 </tr>
729 <tr>
730 <td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
731 <td>address where to store the width of the unscaled
732 rectangle in pixels. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
733 </td>
734 </tr>
735 <tr>
736 <td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
737 <td>address where to store the height of the unscaled
738 rectangle in pixels. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
739 </td>
740 </tr>
741 <tr>
742 <td><p><span class="term"><em class="parameter"><code>stride</code></em> :</span></p></td>
743 <td>address of guint variable where to store the row
744 stride of the ARGB pixel data in the buffer. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
745 </td>
746 </tr>
747 <tr>
748 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
749 <td>flags for future use (unused)</td>
750 </tr>
751 <tr>
752 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
753 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> holding the ARGB pixel data with
754 row stride <em class="parameter"><code>stride</code></em>. This function does not return a reference, the caller
755 should obtain a reference of her own with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> if needed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
756 </td>
757 </tr>
758 </tbody>
759 </table></div>
760 <p class="since">Since 0.10.36</p>
761 </div>
762 <hr>
763 <div class="refsect2">
764 <a name="gst-video-overlay-rectangle-get-render-rectangle"></a><h3>gst_video_overlay_rectangle_get_render_rectangle ()</h3>
765 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_video_overlay_rectangle_get_render_rectangle
766                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
767                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *render_x</code></em>,
768                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *render_y</code></em>,
769                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *render_width</code></em>,
770                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *render_height</code></em>);</pre>
771 <p>
772 Retrieves the render position and render dimension of the overlay
773 rectangle on the video.
774 </p>
775 <div class="variablelist"><table border="0">
776 <col align="left" valign="top">
777 <tbody>
778 <tr>
779 <td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
780 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>
781 </td>
782 </tr>
783 <tr>
784 <td><p><span class="term"><em class="parameter"><code>render_x</code></em> :</span></p></td>
785 <td>address where to store the X render offset. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
786 </td>
787 </tr>
788 <tr>
789 <td><p><span class="term"><em class="parameter"><code>render_y</code></em> :</span></p></td>
790 <td>address where to store the Y render offset. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
791 </td>
792 </tr>
793 <tr>
794 <td><p><span class="term"><em class="parameter"><code>render_width</code></em> :</span></p></td>
795 <td>address where to store the render width. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
796 </td>
797 </tr>
798 <tr>
799 <td><p><span class="term"><em class="parameter"><code>render_height</code></em> :</span></p></td>
800 <td>address where to store the render height. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
801 </td>
802 </tr>
803 <tr>
804 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
805 <td>TRUE if valid render dimensions were retrieved.</td>
806 </tr>
807 </tbody>
808 </table></div>
809 <p class="since">Since 0.10.36</p>
810 </div>
811 <hr>
812 <div class="refsect2">
813 <a name="gst-video-overlay-rectangle-get-seqnum"></a><h3>gst_video_overlay_rectangle_get_seqnum ()</h3>
814 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               gst_video_overlay_rectangle_get_seqnum
815                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
816 <p>
817 Returns the sequence number of this rectangle. Sequence numbers are
818 monotonically increasing and unique for overlay compositions and rectangles
819 (meaning there will never be a rectangle with the same sequence number as
820 a composition).
821 </p>
822 <div class="variablelist"><table border="0">
823 <col align="left" valign="top">
824 <tbody>
825 <tr>
826 <td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
827 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>
828 </td>
829 </tr>
830 <tr>
831 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
832 <td>the sequence number of <em class="parameter"><code>rectangle</code></em>
833 </td>
834 </tr>
835 </tbody>
836 </table></div>
837 <p class="since">Since 0.10.36</p>
838 </div>
839 <hr>
840 <div class="refsect2">
841 <a name="gst-video-overlay-rectangle-set-render-rectangle"></a><h3>gst_video_overlay_rectangle_set_render_rectangle ()</h3>
842 <pre class="programlisting"><span class="returnvalue">void</span>                gst_video_overlay_rectangle_set_render_rectangle
843                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
844                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> render_x</code></em>,
845                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> render_y</code></em>,
846                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> render_width</code></em>,
847                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> render_height</code></em>);</pre>
848 <p>
849 Sets the render position and dimensions of the rectangle on the video.
850 This function is mainly for elements that modify the size of the video
851 in some way (e.g. through scaling or cropping) and need to adjust the
852 details of any overlays to match the operation that changed the size.
853 </p>
854 <p>
855 <em class="parameter"><code>rectangle</code></em> must be writable, meaning its refcount must be 1. You can
856 make the rectangles inside a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> writable using
857 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-make-writable" title="gst_video_overlay_composition_make_writable ()"><code class="function">gst_video_overlay_composition_make_writable()</code></a> or
858 <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-copy" title="gst_video_overlay_composition_copy ()"><code class="function">gst_video_overlay_composition_copy()</code></a>.
859 </p>
860 <div class="variablelist"><table border="0">
861 <col align="left" valign="top">
862 <tbody>
863 <tr>
864 <td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
865 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>
866 </td>
867 </tr>
868 <tr>
869 <td><p><span class="term"><em class="parameter"><code>render_x</code></em> :</span></p></td>
870 <td>render X position of rectangle on video</td>
871 </tr>
872 <tr>
873 <td><p><span class="term"><em class="parameter"><code>render_y</code></em> :</span></p></td>
874 <td>render Y position of rectangle on video</td>
875 </tr>
876 <tr>
877 <td><p><span class="term"><em class="parameter"><code>render_width</code></em> :</span></p></td>
878 <td>render width of rectangle</td>
879 </tr>
880 <tr>
881 <td><p><span class="term"><em class="parameter"><code>render_height</code></em> :</span></p></td>
882 <td>render height of rectangle</td>
883 </tr>
884 </tbody>
885 </table></div>
886 <p class="since">Since 0.10.36</p>
887 </div>
888 <hr>
889 <div class="refsect2">
890 <a name="gst-video-overlay-rectangle-copy"></a><h3>gst_video_overlay_rectangle_copy ()</h3>
891 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> * gst_video_overlay_rectangle_copy
892                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
893 <p>
894 Makes a copy of <em class="parameter"><code>rectangle</code></em>, so that it is possible to modify it
895 (e.g. to change the render co-ordinates or render dimension). The
896 actual overlay pixel data buffers contained in the rectangle are not
897 copied.
898 </p>
899 <div class="variablelist"><table border="0">
900 <col align="left" valign="top">
901 <tbody>
902 <tr>
903 <td><p><span class="term"><em class="parameter"><code>rectangle</code></em> :</span></p></td>
904 <td>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> to copy. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
905 </td>
906 </tr>
907 <tr>
908 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
909 <td>a new <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> equivalent
910 to <em class="parameter"><code>rectangle</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
911 </td>
912 </tr>
913 </tbody>
914 </table></div>
915 <p class="since">Since 0.10.36</p>
916 </div>
917 </div>
918 </div>
919 <div class="footer">
920 <hr>
921           Generated by GTK-Doc V1.18</div>
922 </body>
923 </html>