1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>gstvideosink</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
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-gstvideofilter.html" title="gstvideofilter">
10 <link rel="next" href="gstreamer-libs-hierarchy.html" title="Part II. Object Hierarchy">
11 <meta name="generator" content="GTK-Doc V1.17 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
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">
17 <td><a accesskey="p" href="gst-plugins-base-libs-gstvideofilter.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="gstreamer-libs-hierarchy.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-base-libs-gstvideosink.synopsis" class="shortcut">Top</a>
26 <a href="#gst-plugins-base-libs-gstvideosink.description" class="shortcut">Description</a>
28 <a href="#gst-plugins-base-libs-gstvideosink.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#gst-plugins-base-libs-gstvideosink.properties" class="shortcut">Properties</a>
33 <div class="refentry">
34 <a name="gst-plugins-base-libs-gstvideosink"></a><div class="titlepage"></div>
35 <div class="refnamediv"><table width="100%"><tr>
37 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstvideosink.top_of_page"></a>gstvideosink</span></h2>
38 <p>gstvideosink — Base class for video sinks</p>
40 <td valign="top" align="right"></td>
42 <div class="refsynopsisdiv">
43 <a name="gst-plugins-base-libs-gstvideosink.synopsis"></a><h2>Synopsis</h2>
44 <a name="GstVideoSink"></a><pre class="synopsis">
45 #include <gst/video/gstvideosink.h>
47 struct <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoSink-struct" title="struct GstVideoSink">GstVideoSink</a>;
48 struct <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoSinkClass" title="struct GstVideoSinkClass">GstVideoSinkClass</a>;
49 struct <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle">GstVideoRectangle</a>;
50 #define <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GST-VIDEO-SINK-HEIGHT:CAPS" title="GST_VIDEO_SINK_HEIGHT()">GST_VIDEO_SINK_HEIGHT</a> (obj)
51 #define <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GST-VIDEO-SINK-PAD:CAPS" title="GST_VIDEO_SINK_PAD()">GST_VIDEO_SINK_PAD</a> (obj)
52 #define <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GST-VIDEO-SINK-WIDTH:CAPS" title="GST_VIDEO_SINK_WIDTH()">GST_VIDEO_SINK_WIDTH</a> (obj)
53 <span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstvideosink.html#gst-video-sink-center-rect" title="gst_video_sink_center_rect ()">gst_video_sink_center_rect</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> src</code></em>,
54 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> dst</code></em>,
55 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> *result</code></em>,
56 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> scaling</code></em>);
59 <div class="refsect1">
60 <a name="gst-plugins-base-libs-gstvideosink.object-hierarchy"></a><h2>Object Hierarchy</h2>
61 <pre class="synopsis">
62 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
63 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
64 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
65 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html">GstBaseSink</a>
69 <div class="refsect1">
70 <a name="gst-plugins-base-libs-gstvideosink.properties"></a><h2>Properties</h2>
71 <pre class="synopsis">
72 "<a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoSink--show-preroll-frame" title='The "show-preroll-frame" property'>show-preroll-frame</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct
75 <div class="refsect1">
76 <a name="gst-plugins-base-libs-gstvideosink.description"></a><h2>Description</h2>
79 <div class="refsect2">
80 <a name="idp27834272"></a><p>
81 Provides useful functions and a base class for video sinks.
84 GstVideoSink will configure the default base sink to drop frames that
85 arrive later than 20ms as this is considered the default threshold for
86 observing out-of-sync frames.
92 <div class="refsect1">
93 <a name="gst-plugins-base-libs-gstvideosink.details"></a><h2>Details</h2>
94 <div class="refsect2">
95 <a name="GstVideoSink-struct"></a><h3>struct GstVideoSink</h3>
96 <pre class="programlisting">struct GstVideoSink;</pre>
98 The video sink instance structure. Derived video sinks should set the
99 <em class="parameter"><code>height</code></em> and <em class="parameter"><code>width</code></em> members.
101 <div class="variablelist"><table border="0">
102 <col align="left" valign="top">
107 <div class="refsect2">
108 <a name="GstVideoSinkClass"></a><h3>struct GstVideoSinkClass</h3>
109 <pre class="programlisting">struct GstVideoSinkClass {
110 GstBaseSinkClass parent_class;
112 GstFlowReturn (*show_frame) (GstVideoSink *video_sink, GstBuffer *buf);
116 The video sink class structure. Derived classes should override the
117 <em class="parameter"><code>show_frame</code></em> virtual function.
119 <div class="variablelist"><table border="0">
120 <col align="left" valign="top">
123 <td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html#GstBaseSinkClass"><span class="type">GstBaseSinkClass</span></a> <em class="structfield"><code><a name="GstVideoSinkClass.parent-class"></a>parent_class</code></em>;</span></p></td>
124 <td>the parent class structure</td>
127 <td><p><span class="term"><em class="structfield"><code><a name="GstVideoSinkClass.show-frame"></a>show_frame</code></em> ()</span></p></td>
128 <td>render a video frame. Maps to <span class="type">"render"</span> and
129 <span class="type">"preroll"</span> vfuncs. Rendering during preroll will be
130 suppressed if the 'show-preroll-frame' property is set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.
137 <div class="refsect2">
138 <a name="GstVideoRectangle"></a><h3>struct GstVideoRectangle</h3>
139 <pre class="programlisting">struct GstVideoRectangle {
147 Helper structure representing a rectangular area.
149 <div class="variablelist"><table border="0">
150 <col align="left" valign="top">
153 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRectangle.x"></a>x</code></em>;</span></p></td>
154 <td>X coordinate of rectangle's top-left point</td>
157 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRectangle.y"></a>y</code></em>;</span></p></td>
158 <td>Y coordinate of rectangle's top-left point</td>
161 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRectangle.w"></a>w</code></em>;</span></p></td>
162 <td>width of the rectangle</td>
165 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRectangle.h"></a>h</code></em>;</span></p></td>
166 <td>height of the rectangle</td>
172 <div class="refsect2">
173 <a name="GST-VIDEO-SINK-HEIGHT:CAPS"></a><h3>GST_VIDEO_SINK_HEIGHT()</h3>
174 <pre class="programlisting">#define GST_VIDEO_SINK_HEIGHT(obj) (GST_VIDEO_SINK_CAST (obj)->height)
178 <div class="refsect2">
179 <a name="GST-VIDEO-SINK-PAD:CAPS"></a><h3>GST_VIDEO_SINK_PAD()</h3>
180 <pre class="programlisting">#define GST_VIDEO_SINK_PAD(obj) GST_BASE_SINK_PAD(obj)
183 Get the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> of <em class="parameter"><code>obj</code></em>.
185 <div class="variablelist"><table border="0">
186 <col align="left" valign="top">
188 <td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
189 <td>a <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoSink"><span class="type">GstVideoSink</span></a>
195 <div class="refsect2">
196 <a name="GST-VIDEO-SINK-WIDTH:CAPS"></a><h3>GST_VIDEO_SINK_WIDTH()</h3>
197 <pre class="programlisting">#define GST_VIDEO_SINK_WIDTH(obj) (GST_VIDEO_SINK_CAST (obj)->width)
201 <div class="refsect2">
202 <a name="gst-video-sink-center-rect"></a><h3>gst_video_sink_center_rect ()</h3>
203 <pre class="programlisting"><span class="returnvalue">void</span> gst_video_sink_center_rect (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> src</code></em>,
204 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> dst</code></em>,
205 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> *result</code></em>,
206 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> scaling</code></em>);</pre>
208 Takes <em class="parameter"><code>src</code></em> rectangle and position it at the center of <em class="parameter"><code>dst</code></em> rectangle with or
209 without <em class="parameter"><code>scaling</code></em>. It handles clipping if the <em class="parameter"><code>src</code></em> rectangle is bigger than
210 the <em class="parameter"><code>dst</code></em> one and <em class="parameter"><code>scaling</code></em> is set to FALSE.
212 <div class="variablelist"><table border="0">
213 <col align="left" valign="top">
216 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
217 <td>the <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> describing the source area</td>
220 <td><p><span class="term"><em class="parameter"><code>dst</code></em> :</span></p></td>
221 <td>the <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> describing the destination area</td>
224 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
225 <td>a pointer to a <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> which will receive the result area</td>
228 <td><p><span class="term"><em class="parameter"><code>scaling</code></em> :</span></p></td>
229 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if scaling should be applied or not</td>
235 <div class="refsect1">
236 <a name="gst-plugins-base-libs-gstvideosink.property-details"></a><h2>Property Details</h2>
237 <div class="refsect2">
238 <a name="GstVideoSink--show-preroll-frame"></a><h3>The <code class="literal">"show-preroll-frame"</code> property</h3>
239 <pre class="programlisting"> "show-preroll-frame" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct</pre>
241 Whether to show video frames during preroll. If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>, video
242 frames will only be rendered in PLAYING state.
244 <p>Default value: TRUE</p>
245 <p class="since">Since 0.10.25</p>
251 Generated by GTK-Doc V1.17</div>