File: qabstractvideosurface.html

package info (click to toggle)
python-qt4 4.9.3-4
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 34,432 kB
  • sloc: python: 34,126; cpp: 11,938; xml: 290; makefile: 223; php: 27
file content (174 lines) | stat: -rw-r--r-- 13,932 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html><head><title>QAbstractVideoSurface Class Reference</title><style>h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
td.postheader { font-family: sans-serif }
tr.address { font-family: sans-serif }
body { background: #ffffff; color: black; }
</style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr /><td align="left" valign="top" width="32"><img align="left" border="0" height="32" src="images/rb-logo.png" width="32" /></td><td width="1">&#160;&#160;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&#160;&#183; <a href="classes.html"><font color="#004faf">All Classes</font></a>&#160;&#183; <a href="modules.html"><font color="#004faf">Modules</font></a></td></table><h1 align="center">QAbstractVideoSurface Class Reference<br /><sup><sup>[<a href="qtmultimedia.html">QtMultimedia</a> module]</sup></sup></h1><p>The QAbstractVideoSurface class is a base class for video
presentation surfaces. <a href="#details">More...</a></p>

<p>Inherits <a href="qobject.html">QObject</a>.</p><h3>Types</h3><ul><li><div class="fn" />enum <b><a href="qabstractvideosurface.html#Error-enum">Error</a></b> { NoError, UnsupportedFormatError, IncorrectFormatError, StoppedError, ResourceError }</li></ul><h3>Methods</h3><ul><li><div class="fn" /><b><a href="qabstractvideosurface.html#QAbstractVideoSurface">__init__</a></b> (<i>self</i>, QObject&#160;<i>parent</i>&#160;=&#160;None)</li><li><div class="fn" />Error <b><a href="qabstractvideosurface.html#error">error</a></b> (<i>self</i>)</li><li><div class="fn" />bool <b><a href="qabstractvideosurface.html#isActive">isActive</a></b> (<i>self</i>)</li><li><div class="fn" />bool <b><a href="qabstractvideosurface.html#isFormatSupported">isFormatSupported</a></b> (<i>self</i>, QVideoSurfaceFormat&#160;<i>format</i>)</li><li><div class="fn" />QVideoSurfaceFormat <b><a href="qabstractvideosurface.html#nearestFormat">nearestFormat</a></b> (<i>self</i>, QVideoSurfaceFormat&#160;<i>format</i>)</li><li><div class="fn" />bool <b><a href="qabstractvideosurface.html#present">present</a></b> (<i>self</i>, QVideoFrame&#160;<i>frame</i>)</li><li><div class="fn" /><b><a href="qabstractvideosurface.html#setError">setError</a></b> (<i>self</i>, Error&#160;<i>error</i>)</li><li><div class="fn" />bool <b><a href="qabstractvideosurface.html#start">start</a></b> (<i>self</i>, QVideoSurfaceFormat&#160;<i>format</i>)</li><li><div class="fn" /><b><a href="qabstractvideosurface.html#stop">stop</a></b> (<i>self</i>)</li><li><div class="fn" />list-of-QVideoFrame.PixelFormat <b><a href="qabstractvideosurface.html#supportedPixelFormats">supportedPixelFormats</a></b> (<i>self</i>, QAbstractVideoBuffer.HandleType&#160;<i>type</i>&#160;=&#160;QAbstractVideoBuffer.NoHandle)</li><li><div class="fn" />QVideoSurfaceFormat <b><a href="qabstractvideosurface.html#surfaceFormat">surfaceFormat</a></b> (<i>self</i>)</li></ul><h3>Qt Signals</h3><ul><li><div class="fn" />void <b><a href="qabstractvideosurface.html#activeChanged">activeChanged</a></b> (bool)</li><li><div class="fn" />void <b><a href="qabstractvideosurface.html#supportedFormatsChanged">supportedFormatsChanged</a></b> ()</li><li><div class="fn" />void <b><a href="qabstractvideosurface.html#surfaceFormatChanged">surfaceFormatChanged</a></b> (const QVideoSurfaceFormat&amp;)</li></ul><a name="details" /><hr /><h2>Detailed Description</h2><p>The QAbstractVideoSurface class is a base class for video
presentation surfaces.</p>
<p>The QAbstractVideoSurface class defines the standard interface
that video producers use to inter-operate with video presentation
surfaces. It is not supposed to be instantiated directly. Instead,
you should subclass it to create new video surfaces.</p>
<p>A video surface presents a continuous stream of identically
formatted frames, where the format of each frame is compatible with
a stream format supplied when starting a presentation.</p>
<p>A list of pixel formats a surface can present is given by the
<a href="qabstractvideosurface.html#supportedPixelFormats">supportedPixelFormats</a>()
function, and the <a href="qabstractvideosurface.html#isFormatSupported">isFormatSupported</a>()
function will test if a video surface format is supported. If a
format is not supported the <a href="qabstractvideosurface.html#nearestFormat">nearestFormat</a>()
function may be able to suggest a similar format. For example if a
surface supports fixed set of resolutions it may suggest the
smallest supported resolution that contains the proposed
resolution.</p>
<p>The <a href="qabstractvideosurface.html#start">start</a>()
function takes a supported format and enables a video surface. Once
started a surface will begin displaying the frames it receives in
the <a href="qabstractvideosurface.html#present">present</a>()
function. Surfaces may hold a reference to the buffer of a
presented video frame until a new frame is presented or streaming
is stopped. The <a href="qabstractvideosurface.html#stop">stop</a>() function will disable
a surface and a release any video buffers it holds references
to.</p>
<hr /><h2>Type Documentation</h2><h3 class="fn"><a name="Error-enum" />QAbstractVideoSurface.Error</h3><p>This enum describes the errors that may be returned by the
<a href="qabstractvideosurface.html#error">error</a>()
function.</p>
<table class="valuelist">
<tr class="odd" valign="top">
<th class="tblConst">Constant</th>
<th class="tblval">Value</th>
<th class="tbldscr">Description</th>
</tr>
<tr>
<td class="topAlign"><tt>QAbstractVideoSurface.NoError</tt></td>
<td class="topAlign"><tt>0</tt></td>
<td class="topAlign">No error occurred.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QAbstractVideoSurface.UnsupportedFormatError</tt></td>
<td class="topAlign"><tt>1</tt></td>
<td class="topAlign">A video format was not supported.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QAbstractVideoSurface.IncorrectFormatError</tt></td>
<td class="topAlign"><tt>2</tt></td>
<td class="topAlign">A video frame was not compatible with the
format of the surface.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QAbstractVideoSurface.StoppedError</tt></td>
<td class="topAlign"><tt>3</tt></td>
<td class="topAlign">The surface has not been started.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QAbstractVideoSurface.ResourceError</tt></td>
<td class="topAlign"><tt>4</tt></td>
<td class="topAlign">The surface could not allocate some
resource.</td>
</tr>
</table>
<hr /><h2>Method Documentation</h2><h3 class="fn"><a name="QAbstractVideoSurface" />QAbstractVideoSurface.__init__ (<i>self</i>, <a href="qobject.html">QObject</a>&#160;<i>parent</i>&#160;=&#160;None)</h3><p>The <i>parent</i> argument, if not None, causes <i>self</i> to be owned by Qt instead of PyQt.</p><p>Constructs a video surface with the given <i>parent</i>.</p>


<h3 class="fn"><a name="error" /><a href="qabstractvideosurface.html#Error-enum">Error</a> QAbstractVideoSurface.error (<i>self</i>)</h3><p>Returns the last error that occurred.</p>
<p>If a surface fails to <a href="qabstractvideosurface.html#start">start</a>(), or stops
unexpectedly this function can be called to discover what error
occurred.</p>
<p><b>See also</b> <a href="qabstractvideosurface.html#setError">setError</a>().</p>


<h3 class="fn"><a name="isActive" />bool QAbstractVideoSurface.isActive (<i>self</i>)</h3><p>Indicates whether a video surface has been started.</p>
<p>Returns true if the surface has been started, and false
otherwise.</p>


<h3 class="fn"><a name="isFormatSupported" />bool QAbstractVideoSurface.isFormatSupported (<i>self</i>, <a href="qvideosurfaceformat.html">QVideoSurfaceFormat</a>&#160;<i>format</i>)</h3><p>Tests a video surface <i>format</i> to determine if a surface
can accept it.</p>
<p>Returns true if the format is supported by the surface, and
false otherwise.</p>


<h3 class="fn"><a name="nearestFormat" /><a href="qvideosurfaceformat.html">QVideoSurfaceFormat</a> QAbstractVideoSurface.nearestFormat (<i>self</i>, <a href="qvideosurfaceformat.html">QVideoSurfaceFormat</a>&#160;<i>format</i>)</h3><p>Returns a supported video surface format that is similar to
<i>format</i>.</p>
<p>A similar surface format is one that has the same <a href="qvideosurfaceformat.html#pixelFormat">pixel format</a> and
<a href="qvideosurfaceformat.html#handleType">handle type</a> but
differs in some of the other properties. For example if there are
restrictions on the <a href="qvideosurfaceformat.html#frameSize">frame sizes</a> a video
surface can accept it may suggest a format with a larger frame size
and a <a href="qvideosurfaceformat.html#viewport">viewport</a> the
size of the original frame size.</p>
<p>If the format is already supported it will be returned
unchanged, or if there is no similar supported format an invalid
format will be returned.</p>


<h3 class="fn"><a name="present" />bool QAbstractVideoSurface.present (<i>self</i>, <a href="qvideoframe.html">QVideoFrame</a>&#160;<i>frame</i>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Presents a video <i>frame</i>.</p>
<p>Returns true if the frame was presented, and false if an error
occurred.</p>
<p>Not all surfaces will block until the presentation of a frame
has completed. Calling present() on a non-blocking surface may fail
if called before the presentation of a previous frame has
completed. In such cases the surface may not return to a ready
state until it's had an opportunity to process events.</p>
<p>If present() fails for any other reason the surface will
immediately enter the stopped state and an <a href="qabstractvideosurface.html#error">error</a>() value will be
set.</p>
<p>A video surface must be in the started state for present() to
succeed, and the format of the video frame must be compatible with
the current video surface format.</p>
<p><b>See also</b> <a href="qabstractvideosurface.html#error">error</a>().</p>


<h3 class="fn"><a name="setError" />QAbstractVideoSurface.setError (<i>self</i>, <a href="qabstractvideosurface.html#Error-enum">Error</a>&#160;<i>error</i>)</h3><p>Sets the value of <a href="qabstractvideosurface.html#error">error</a>() to <i>error</i>.</p>
<p><b>See also</b> <a href="qabstractvideosurface.html#error">error</a>().</p>


<h3 class="fn"><a name="start" />bool QAbstractVideoSurface.start (<i>self</i>, <a href="qvideosurfaceformat.html">QVideoSurfaceFormat</a>&#160;<i>format</i>)</h3><p>Starts a video surface presenting <i>format</i> frames.</p>
<p>Returns true if the surface was started, and false if an error
occurred.</p>
<p><b>See also</b> <a href="qabstractvideosurface.html#isActive">isActive</a>() and <a href="qabstractvideosurface.html#stop">stop</a>().</p>


<h3 class="fn"><a name="stop" />QAbstractVideoSurface.stop (<i>self</i>)</h3><p>Stops a video surface presenting frames and releases any
resources acquired in <a href="qabstractvideosurface.html#start">start</a>().</p>
<p><b>See also</b> <a href="qabstractvideosurface.html#isActive">isActive</a>() and <a href="qabstractvideosurface.html#start">start</a>().</p>


<h3 class="fn"><a name="supportedPixelFormats" />list-of-QVideoFrame.PixelFormat QAbstractVideoSurface.supportedPixelFormats (<i>self</i>, <a href="qabstractvideobuffer.html#HandleType-enum">QAbstractVideoBuffer.HandleType</a>&#160;<i>type</i>&#160;=&#160;QAbstractVideoBuffer.NoHandle)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Returns a list of pixel formats a video surface can present for
a given handle <i>type</i>.</p>
<p>The pixel formats returned for the <a href="qabstractvideobuffer.html#HandleType-enum">QAbstractVideoBuffer.NoHandle</a>
type are valid for any buffer that can be mapped in read-only
mode.</p>
<p>Types that are first in the list can be assumed to be faster to
render.</p>


<h3 class="fn"><a name="surfaceFormat" /><a href="qvideosurfaceformat.html">QVideoSurfaceFormat</a> QAbstractVideoSurface.surfaceFormat (<i>self</i>)</h3><p>Returns the format of a video surface.</p>


<hr /><h2>Qt Signal Documentation</h2><h3 class="fn"><a name="activeChanged" />void activeChanged (bool)</h3><p>This is the default overload of this signal.</p><p>Signals that the <i>active</i> state of a video surface has
changed.</p>
<p><b>See also</b> <a href="qabstractvideosurface.html#isActive">isActive</a>(), <a href="qabstractvideosurface.html#start">start</a>(), and <a href="qabstractvideosurface.html#stop">stop</a>().</p>


<h3 class="fn"><a name="supportedFormatsChanged" />void supportedFormatsChanged ()</h3><p>This is the default overload of this signal.</p><p>Signals that the set of formats supported by a video surface has
changed.</p>
<p><b>See also</b> <a href="qabstractvideosurface.html#supportedPixelFormats">supportedPixelFormats</a>()
and <a href="qabstractvideosurface.html#isFormatSupported">isFormatSupported</a>().</p>


<h3 class="fn"><a name="surfaceFormatChanged" />void surfaceFormatChanged (const QVideoSurfaceFormat&amp;)</h3><p>This is the default overload of this signal.</p><p>Signals that the configured <i>format</i> of a video surface has
changed.</p>
<p><b>See also</b> <a href="qabstractvideosurface.html#surfaceFormat">surfaceFormat</a>() and
<a href="qabstractvideosurface.html#start">start</a>().</p>
<address><hr /><div align="center"><table border="0" cellspacing="0" width="100%"><tr class="address"><td align="left" width="25%">PyQt&#160;4.9.3 for X11</td><td align="center" width="50%">Copyright &#169; <a href="http://www.riverbankcomputing.com">Riverbank&#160;Computing&#160;Ltd</a> and <a href="http://www.qtsoftware.com">Nokia</a> 2012</td><td align="right" width="25%">Qt&#160;4.8.2</td></tr></table></div></address></body></html>