33
30
<h2><span class="refentrytitle"><a name="gst-plugins-base-libs-GstVideoEncoder.top_of_page"></a>GstVideoEncoder</span></h2>
34
31
<p>GstVideoEncoder — Base class for video encoders</p>
36
<td valign="top" align="right"></td>
33
<td class="gallery_image" valign="top" align="right"></td>
37
34
</tr></table></div>
38
<div class="refsynopsisdiv">
39
<a name="gst-plugins-base-libs-GstVideoEncoder.synopsis"></a><h2>Synopsis</h2>
40
<pre class="synopsis">#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-CAST:CAPS" title="GST_VIDEO_ENCODER_CAST()">GST_VIDEO_ENCODER_CAST</a> (enc)
41
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-FLOW-DROPPED:CAPS" title="GST_VIDEO_ENCODER_FLOW_DROPPED">GST_VIDEO_ENCODER_FLOW_DROPPED</a>
42
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-FLOW-NEED-DATA:CAPS" title="GST_VIDEO_ENCODER_FLOW_NEED_DATA">GST_VIDEO_ENCODER_FLOW_NEED_DATA</a>
43
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-SINK-NAME:CAPS" title="GST_VIDEO_ENCODER_SINK_NAME">GST_VIDEO_ENCODER_SINK_NAME</a>
44
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-SINK-PAD:CAPS" title="GST_VIDEO_ENCODER_SINK_PAD()">GST_VIDEO_ENCODER_SINK_PAD</a> (obj)
45
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-SRC-NAME:CAPS" title="GST_VIDEO_ENCODER_SRC_NAME">GST_VIDEO_ENCODER_SRC_NAME</a>
46
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-SRC-PAD:CAPS" title="GST_VIDEO_ENCODER_SRC_PAD()">GST_VIDEO_ENCODER_SRC_PAD</a> (obj)
47
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-INPUT-SEGMENT:CAPS" title="GST_VIDEO_ENCODER_INPUT_SEGMENT()">GST_VIDEO_ENCODER_INPUT_SEGMENT</a> (obj)
48
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-OUTPUT-SEGMENT:CAPS" title="GST_VIDEO_ENCODER_OUTPUT_SEGMENT()">GST_VIDEO_ENCODER_OUTPUT_SEGMENT</a> (obj)
49
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-STREAM-LOCK:CAPS" title="GST_VIDEO_ENCODER_STREAM_LOCK()">GST_VIDEO_ENCODER_STREAM_LOCK</a> (encoder)
50
#define <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-STREAM-UNLOCK:CAPS" title="GST_VIDEO_ENCODER_STREAM_UNLOCK()">GST_VIDEO_ENCODER_STREAM_UNLOCK</a> (encoder)
51
struct <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder">GstVideoEncoder</a>;
52
struct <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass" title="struct GstVideoEncoderClass">GstVideoEncoderClass</a>;
53
<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-GstVideoEncoder.html#gst-video-encoder-allocate-output-buffer" title="gst_video_encoder_allocate_output_buffer ()">gst_video_encoder_allocate_output_buffer</a>
54
(<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
55
<em class="parameter"><code><span class="type">gsize</span> size</code></em>);
56
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-allocate-output-frame" title="gst_video_encoder_allocate_output_frame ()">gst_video_encoder_allocate_output_frame</a>
57
(<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
58
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>,
59
<em class="parameter"><code><span class="type">gsize</span> size</code></em>);
60
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-allocator" title="gst_video_encoder_get_allocator ()">gst_video_encoder_get_allocator</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
61
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
62
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
63
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-finish-frame" title="gst_video_encoder_finish_frame ()">gst_video_encoder_finish_frame</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
64
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);
65
<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-GstVideoEncoder.html#gst-video-encoder-negotiate" title="gst_video_encoder_negotiate ()">gst_video_encoder_negotiate</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);
66
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> * <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-frame" title="gst_video_encoder_get_frame ()">gst_video_encoder_get_frame</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
67
<em class="parameter"><code><span class="type">int</span> frame_number</code></em>);
68
<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-frames" title="gst_video_encoder_get_frames ()">gst_video_encoder_get_frames</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);
69
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> * <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-oldest-frame" title="gst_video_encoder_get_oldest_frame ()">gst_video_encoder_get_oldest_frame</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);
70
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-set-headers" title="gst_video_encoder_set_headers ()">gst_video_encoder_set_headers</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
71
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *headers</code></em>);
72
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-latency" title="gst_video_encoder_get_latency ()">gst_video_encoder_get_latency</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
73
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
74
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);
75
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-set-latency" title="gst_video_encoder_set_latency ()">gst_video_encoder_set_latency</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
76
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
77
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);
78
<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-GstVideoEncoder.html#gst-video-encoder-get-discont" title="gst_video_encoder_get_discont ()">gst_video_encoder_get_discont</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);
79
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-set-discont" title="gst_video_encoder_set_discont ()">gst_video_encoder_set_discont</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);
80
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> * <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-set-output-state" title="gst_video_encoder_set_output_state ()">gst_video_encoder_set_output_state</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
81
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
82
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> *reference</code></em>);
83
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> * <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-output-state" title="gst_video_encoder_get_output_state ()">gst_video_encoder_get_output_state</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);
84
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> * <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-proxy-getcaps" title="gst_video_encoder_proxy_getcaps ()">gst_video_encoder_proxy_getcaps</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *enc</code></em>,
85
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
86
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>);
87
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-merge-tags" title="gst_video_encoder_merge_tags ()">gst_video_encoder_merge_tags</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
88
<em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>,
89
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);
35
<div class="refsect1">
36
<a name="gst-plugins-base-libs-GstVideoEncoder.functions"></a><h2>Functions</h2>
37
<div class="informaltable"><table width="100%" border="0">
39
<col width="150px" class="functions_return">
40
<col class="functions_name">
44
<td class="define_keyword">#define</td>
45
<td class="function_name">
46
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-CAST:CAPS" title="GST_VIDEO_ENCODER_CAST()">GST_VIDEO_ENCODER_CAST</a><span class="c_punctuation">()</span>
50
<td class="define_keyword">#define</td>
51
<td class="function_name">
52
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-SINK-PAD:CAPS" title="GST_VIDEO_ENCODER_SINK_PAD()">GST_VIDEO_ENCODER_SINK_PAD</a><span class="c_punctuation">()</span>
56
<td class="define_keyword">#define</td>
57
<td class="function_name">
58
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-SRC-PAD:CAPS" title="GST_VIDEO_ENCODER_SRC_PAD()">GST_VIDEO_ENCODER_SRC_PAD</a><span class="c_punctuation">()</span>
62
<td class="define_keyword">#define</td>
63
<td class="function_name">
64
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-INPUT-SEGMENT:CAPS" title="GST_VIDEO_ENCODER_INPUT_SEGMENT()">GST_VIDEO_ENCODER_INPUT_SEGMENT</a><span class="c_punctuation">()</span>
68
<td class="define_keyword">#define</td>
69
<td class="function_name">
70
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-OUTPUT-SEGMENT:CAPS" title="GST_VIDEO_ENCODER_OUTPUT_SEGMENT()">GST_VIDEO_ENCODER_OUTPUT_SEGMENT</a><span class="c_punctuation">()</span>
74
<td class="define_keyword">#define</td>
75
<td class="function_name">
76
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-STREAM-LOCK:CAPS" title="GST_VIDEO_ENCODER_STREAM_LOCK()">GST_VIDEO_ENCODER_STREAM_LOCK</a><span class="c_punctuation">()</span>
80
<td class="define_keyword">#define</td>
81
<td class="function_name">
82
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-STREAM-UNLOCK:CAPS" title="GST_VIDEO_ENCODER_STREAM_UNLOCK()">GST_VIDEO_ENCODER_STREAM_UNLOCK</a><span class="c_punctuation">()</span>
86
<td class="function_type">
87
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *
89
<td class="function_name">
90
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-allocate-output-buffer" title="gst_video_encoder_allocate_output_buffer ()">gst_video_encoder_allocate_output_buffer</a> <span class="c_punctuation">()</span>
94
<td class="function_type">
95
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
97
<td class="function_name">
98
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-allocate-output-frame" title="gst_video_encoder_allocate_output_frame ()">gst_video_encoder_allocate_output_frame</a> <span class="c_punctuation">()</span>
102
<td class="function_type">
103
<span class="returnvalue">void</span>
105
<td class="function_name">
106
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-allocator" title="gst_video_encoder_get_allocator ()">gst_video_encoder_get_allocator</a> <span class="c_punctuation">()</span>
110
<td class="function_type">
111
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
113
<td class="function_name">
114
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-finish-frame" title="gst_video_encoder_finish_frame ()">gst_video_encoder_finish_frame</a> <span class="c_punctuation">()</span>
118
<td class="function_type">
119
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
121
<td class="function_name">
122
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-negotiate" title="gst_video_encoder_negotiate ()">gst_video_encoder_negotiate</a> <span class="c_punctuation">()</span>
126
<td class="function_type">
127
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> *
129
<td class="function_name">
130
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-frame" title="gst_video_encoder_get_frame ()">gst_video_encoder_get_frame</a> <span class="c_punctuation">()</span>
134
<td class="function_type">
135
<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
137
<td class="function_name">
138
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-frames" title="gst_video_encoder_get_frames ()">gst_video_encoder_get_frames</a> <span class="c_punctuation">()</span>
142
<td class="function_type">
143
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> *
145
<td class="function_name">
146
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-oldest-frame" title="gst_video_encoder_get_oldest_frame ()">gst_video_encoder_get_oldest_frame</a> <span class="c_punctuation">()</span>
150
<td class="function_type">
151
<span class="returnvalue">void</span>
153
<td class="function_name">
154
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-set-headers" title="gst_video_encoder_set_headers ()">gst_video_encoder_set_headers</a> <span class="c_punctuation">()</span>
158
<td class="function_type">
159
<span class="returnvalue">void</span>
161
<td class="function_name">
162
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-latency" title="gst_video_encoder_get_latency ()">gst_video_encoder_get_latency</a> <span class="c_punctuation">()</span>
166
<td class="function_type">
167
<span class="returnvalue">void</span>
169
<td class="function_name">
170
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-set-latency" title="gst_video_encoder_set_latency ()">gst_video_encoder_set_latency</a> <span class="c_punctuation">()</span>
174
<td class="function_type">
175
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
177
<td class="function_name">
178
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-discont" title="gst_video_encoder_get_discont ()">gst_video_encoder_get_discont</a> <span class="c_punctuation">()</span>
182
<td class="function_type">
183
<span class="returnvalue">void</span>
185
<td class="function_name">
186
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-set-discont" title="gst_video_encoder_set_discont ()">gst_video_encoder_set_discont</a> <span class="c_punctuation">()</span>
190
<td class="function_type">
191
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> *
193
<td class="function_name">
194
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-set-output-state" title="gst_video_encoder_set_output_state ()">gst_video_encoder_set_output_state</a> <span class="c_punctuation">()</span>
198
<td class="function_type">
199
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> *
201
<td class="function_name">
202
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-get-output-state" title="gst_video_encoder_get_output_state ()">gst_video_encoder_get_output_state</a> <span class="c_punctuation">()</span>
206
<td class="function_type">
207
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *
209
<td class="function_name">
210
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-proxy-getcaps" title="gst_video_encoder_proxy_getcaps ()">gst_video_encoder_proxy_getcaps</a> <span class="c_punctuation">()</span>
214
<td class="function_type">
215
<span class="returnvalue">void</span>
217
<td class="function_name">
218
<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-merge-tags" title="gst_video_encoder_merge_tags ()">gst_video_encoder_merge_tags</a> <span class="c_punctuation">()</span>
224
<div class="refsect1">
225
<a name="gst-plugins-base-libs-GstVideoEncoder.other"></a><h2>Types and Values</h2>
226
<div class="informaltable"><table width="100%" border="0">
228
<col width="150px" class="name">
229
<col class="description">
233
<td class="define_keyword">#define</td>
234
<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-FLOW-DROPPED:CAPS" title="GST_VIDEO_ENCODER_FLOW_DROPPED">GST_VIDEO_ENCODER_FLOW_DROPPED</a></td>
237
<td class="define_keyword">#define</td>
238
<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-FLOW-NEED-DATA:CAPS" title="GST_VIDEO_ENCODER_FLOW_NEED_DATA">GST_VIDEO_ENCODER_FLOW_NEED_DATA</a></td>
241
<td class="define_keyword">#define</td>
242
<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-SINK-NAME:CAPS" title="GST_VIDEO_ENCODER_SINK_NAME">GST_VIDEO_ENCODER_SINK_NAME</a></td>
245
<td class="define_keyword">#define</td>
246
<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-SRC-NAME:CAPS" title="GST_VIDEO_ENCODER_SRC_NAME">GST_VIDEO_ENCODER_SRC_NAME</a></td>
249
<td class="datatype_keyword">struct</td>
250
<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder">GstVideoEncoder</a></td>
253
<td class="datatype_keyword">struct</td>
254
<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass" title="struct GstVideoEncoderClass">GstVideoEncoderClass</a></td>
259
<div class="refsect1">
260
<a name="gst-plugins-base-libs-GstVideoEncoder.object-hierarchy"></a><h2>Object Hierarchy</h2>
92
264
<div class="refsect1">
93
265
<a name="gst-plugins-base-libs-GstVideoEncoder.description"></a><h2>Description</h2>
95
This base class is for video encoders turning raw video into
99
GstVideoEncoder and subclass should cooperate as follows.
266
<p>This base class is for video encoders turning raw video into
267
encoded video data.</p>
268
<p>GstVideoEncoder and subclass should cooperate as follows.</p>
101
269
<div class="orderedlist"><ol class="orderedlist" type="1">
102
270
<li class="listitem"><div class="itemizedlist">
103
271
<p class="title"><b>Configuration</b></p>
186
348
<div class="refsect2">
187
<a name="GST-VIDEO-ENCODER-FLOW-DROPPED:CAPS"></a><h3>GST_VIDEO_ENCODER_FLOW_DROPPED</h3>
188
<pre class="programlisting">#define GST_VIDEO_ENCODER_FLOW_DROPPED GST_FLOW_CUSTOM_SUCCESS_1
191
Returned when the event/buffer should be dropped.
195
<div class="refsect2">
196
<a name="GST-VIDEO-ENCODER-FLOW-NEED-DATA:CAPS"></a><h3>GST_VIDEO_ENCODER_FLOW_NEED_DATA</h3>
197
<pre class="programlisting">#define GST_VIDEO_ENCODER_FLOW_NEED_DATA GST_FLOW_CUSTOM_SUCCESS
200
Returned while parsing to indicate more data is needed.
204
<div class="refsect2">
205
<a name="GST-VIDEO-ENCODER-SINK-NAME:CAPS"></a><h3>GST_VIDEO_ENCODER_SINK_NAME</h3>
206
<pre class="programlisting">#define GST_VIDEO_ENCODER_SINK_NAME "sink"
209
The name of the templates for the sink pad.
213
<div class="refsect2">
214
349
<a name="GST-VIDEO-ENCODER-SINK-PAD:CAPS"></a><h3>GST_VIDEO_ENCODER_SINK_PAD()</h3>
215
350
<pre class="programlisting">#define GST_VIDEO_ENCODER_SINK_PAD(obj) (((GstVideoEncoder *) (obj))->sinkpad)
218
Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
220
<div class="variablelist"><table border="0" class="variablelist">
352
<p>Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.</p>
353
<div class="refsect3">
354
<a name="id-1.2.14.13.7.3.5"></a><h4>Parameters</h4>
355
<div class="informaltable"><table width="100%" border="0">
222
<col align="left" valign="top">
357
<col width="150px" class="parameters_name">
358
<col class="parameters_description">
359
<col width="200px" class="parameters_annotations">
226
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
227
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
362
<td class="parameter_name"><p>obj</p></td>
363
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
364
<td class="parameter_annotations"> </td>
233
<div class="refsect2">
234
<a name="GST-VIDEO-ENCODER-SRC-NAME:CAPS"></a><h3>GST_VIDEO_ENCODER_SRC_NAME</h3>
235
<pre class="programlisting">#define GST_VIDEO_ENCODER_SRC_NAME "src"
238
The name of the templates for the source pad.
242
370
<div class="refsect2">
243
371
<a name="GST-VIDEO-ENCODER-SRC-PAD:CAPS"></a><h3>GST_VIDEO_ENCODER_SRC_PAD()</h3>
244
372
<pre class="programlisting">#define GST_VIDEO_ENCODER_SRC_PAD(obj) (((GstVideoEncoder *) (obj))->srcpad)
247
Gives the pointer to the source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
249
<div class="variablelist"><table border="0" class="variablelist">
374
<p>Gives the pointer to the source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.</p>
375
<div class="refsect3">
376
<a name="id-1.2.14.13.7.4.5"></a><h4>Parameters</h4>
377
<div class="informaltable"><table width="100%" border="0">
251
<col align="left" valign="top">
379
<col width="150px" class="parameters_name">
380
<col class="parameters_description">
381
<col width="200px" class="parameters_annotations">
255
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
256
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
384
<td class="parameter_name"><p>obj</p></td>
385
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
386
<td class="parameter_annotations"> </td>
262
392
<div class="refsect2">
263
393
<a name="GST-VIDEO-ENCODER-INPUT-SEGMENT:CAPS"></a><h3>GST_VIDEO_ENCODER_INPUT_SEGMENT()</h3>
264
394
<pre class="programlisting">#define GST_VIDEO_ENCODER_INPUT_SEGMENT(obj) (GST_VIDEO_ENCODER_CAST (obj)->input_segment)
267
Gives the segment of the element.
269
<div class="variablelist"><table border="0" class="variablelist">
396
<p>Gives the segment of the element.</p>
397
<div class="refsect3">
398
<a name="id-1.2.14.13.7.5.5"></a><h4>Parameters</h4>
399
<div class="informaltable"><table width="100%" border="0">
271
<col align="left" valign="top">
401
<col width="150px" class="parameters_name">
402
<col class="parameters_description">
403
<col width="200px" class="parameters_annotations">
275
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
276
<td>base parse instance</td>
406
<td class="parameter_name"><p>obj</p></td>
407
<td class="parameter_description"><p>base parse instance</p></td>
408
<td class="parameter_annotations"> </td>
281
414
<div class="refsect2">
282
415
<a name="GST-VIDEO-ENCODER-OUTPUT-SEGMENT:CAPS"></a><h3>GST_VIDEO_ENCODER_OUTPUT_SEGMENT()</h3>
283
416
<pre class="programlisting">#define GST_VIDEO_ENCODER_OUTPUT_SEGMENT(obj) (GST_VIDEO_ENCODER_CAST (obj)->output_segment)
286
Gives the segment of the element.
288
<div class="variablelist"><table border="0" class="variablelist">
418
<p>Gives the segment of the element.</p>
419
<div class="refsect3">
420
<a name="id-1.2.14.13.7.6.5"></a><h4>Parameters</h4>
421
<div class="informaltable"><table width="100%" border="0">
290
<col align="left" valign="top">
423
<col width="150px" class="parameters_name">
424
<col class="parameters_description">
425
<col width="200px" class="parameters_annotations">
294
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
295
<td>base parse instance</td>
428
<td class="parameter_name"><p>obj</p></td>
429
<td class="parameter_description"><p>base parse instance</p></td>
430
<td class="parameter_annotations"> </td>
300
436
<div class="refsect2">
301
437
<a name="GST-VIDEO-ENCODER-STREAM-LOCK:CAPS"></a><h3>GST_VIDEO_ENCODER_STREAM_LOCK()</h3>
302
438
<pre class="programlisting">#define GST_VIDEO_ENCODER_STREAM_LOCK(encoder) g_rec_mutex_lock (&GST_VIDEO_ENCODER (encoder)->stream_lock)
305
Obtain a lock to protect the encoder function from concurrent access.
307
<div class="variablelist"><table border="0" class="variablelist">
440
<p>Obtain a lock to protect the encoder function from concurrent access.</p>
441
<div class="refsect3">
442
<a name="id-1.2.14.13.7.7.5"></a><h4>Parameters</h4>
443
<div class="informaltable"><table width="100%" border="0">
309
<col align="left" valign="top">
445
<col width="150px" class="parameters_name">
446
<col class="parameters_description">
447
<col width="200px" class="parameters_annotations">
313
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
314
<td>video encoder instance</td>
450
<td class="parameter_name"><p>encoder</p></td>
451
<td class="parameter_description"><p>video encoder instance</p></td>
452
<td class="parameter_annotations"> </td>
319
458
<div class="refsect2">
320
459
<a name="GST-VIDEO-ENCODER-STREAM-UNLOCK:CAPS"></a><h3>GST_VIDEO_ENCODER_STREAM_UNLOCK()</h3>
321
460
<pre class="programlisting">#define GST_VIDEO_ENCODER_STREAM_UNLOCK(encoder) g_rec_mutex_unlock (&GST_VIDEO_ENCODER (encoder)->stream_lock)
324
Release the lock that protects the encoder function from concurrent access.
326
<div class="variablelist"><table border="0" class="variablelist">
328
<col align="left" valign="top">
332
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
333
<td>video encoder instance</td>
462
<p>Release the lock that protects the encoder function from concurrent access.</p>
463
<div class="refsect3">
464
<a name="id-1.2.14.13.7.8.5"></a><h4>Parameters</h4>
465
<div class="informaltable"><table width="100%" border="0">
467
<col width="150px" class="parameters_name">
468
<col class="parameters_description">
469
<col width="200px" class="parameters_annotations">
472
<td class="parameter_name"><p>encoder</p></td>
473
<td class="parameter_description"><p>video encoder instance</p></td>
474
<td class="parameter_annotations"> </td>
480
<div class="refsect2">
481
<a name="gst-video-encoder-allocate-output-buffer"></a><h3>gst_video_encoder_allocate_output_buffer ()</h3>
482
<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> *
483
gst_video_encoder_allocate_output_buffer
484
(<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
485
<em class="parameter"><code><span class="type">gsize</span> size</code></em>);</pre>
486
<p>Helper function that allocates a buffer to hold an encoded video frame
487
for <em class="parameter"><code>encoder</code></em>
488
's current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.</p>
489
<div class="refsect3">
490
<a name="id-1.2.14.13.7.9.5"></a><h4>Parameters</h4>
491
<div class="informaltable"><table width="100%" border="0">
493
<col width="150px" class="parameters_name">
494
<col class="parameters_description">
495
<col width="200px" class="parameters_annotations">
499
<td class="parameter_name"><p>encoder</p></td>
500
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
501
<td class="parameter_annotations"> </td>
504
<td class="parameter_name"><p>size</p></td>
505
<td class="parameter_description"><p>size of the buffer</p></td>
506
<td class="parameter_annotations"> </td>
511
<div class="refsect3">
512
<a name="id-1.2.14.13.7.9.6"></a><h4>Returns</h4>
513
<p> allocated buffer. </p>
514
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
518
<div class="refsect2">
519
<a name="gst-video-encoder-allocate-output-frame"></a><h3>gst_video_encoder_allocate_output_frame ()</h3>
520
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
521
gst_video_encoder_allocate_output_frame
522
(<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
523
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>,
524
<em class="parameter"><code><span class="type">gsize</span> size</code></em>);</pre>
525
<p>Helper function that allocates a buffer to hold an encoded video frame for <em class="parameter"><code>encoder</code></em>
527
current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>. Subclass should already have configured video
528
state and set src pad caps.</p>
529
<p>The buffer allocated here is owned by the frame and you should only
530
keep references to the frame, not the buffer.</p>
531
<div class="refsect3">
532
<a name="id-1.2.14.13.7.10.6"></a><h4>Parameters</h4>
533
<div class="informaltable"><table width="100%" border="0">
535
<col width="150px" class="parameters_name">
536
<col class="parameters_description">
537
<col width="200px" class="parameters_annotations">
541
<td class="parameter_name"><p>encoder</p></td>
542
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
543
<td class="parameter_annotations"> </td>
546
<td class="parameter_name"><p>frame</p></td>
547
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
548
<td class="parameter_annotations"> </td>
551
<td class="parameter_name"><p>size</p></td>
552
<td class="parameter_description"><p>size of the buffer</p></td>
553
<td class="parameter_annotations"> </td>
558
<div class="refsect3">
559
<a name="id-1.2.14.13.7.10.7"></a><h4>Returns</h4>
560
<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> if an output buffer could be allocated</p>
565
<div class="refsect2">
566
<a name="gst-video-encoder-get-allocator"></a><h3>gst_video_encoder_get_allocator ()</h3>
567
<pre class="programlisting"><span class="returnvalue">void</span>
568
gst_video_encoder_get_allocator (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
569
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
570
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
571
<p>Lets <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> sub-classes to know the memory <em class="parameter"><code>allocator</code></em>
573
used by the base class and its <em class="parameter"><code>params</code></em>
575
<p>Unref the <em class="parameter"><code>allocator</code></em>
577
<div class="refsect3">
578
<a name="id-1.2.14.13.7.11.6"></a><h4>Parameters</h4>
579
<div class="informaltable"><table width="100%" border="0">
581
<col width="150px" class="parameters_name">
582
<col class="parameters_description">
583
<col width="200px" class="parameters_annotations">
587
<td class="parameter_name"><p>encoder</p></td>
588
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
589
<td class="parameter_annotations"> </td>
592
<td class="parameter_name"><p>allocator</p></td>
593
<td class="parameter_description"><p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a>
595
<td class="parameter_annotations"><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>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
598
<td class="parameter_name"><p>params</p></td>
599
<td class="parameter_description"><p> the
600
<span class="type">GstAllocatorParams</span> of <em class="parameter"><code>allocator</code></em>
602
<td class="parameter_annotations"><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>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
609
<div class="refsect2">
610
<a name="gst-video-encoder-finish-frame"></a><h3>gst_video_encoder_finish_frame ()</h3>
611
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
612
gst_video_encoder_finish_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
613
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
614
<p><em class="parameter"><code>frame</code></em>
615
must have a valid encoded data buffer, whose metadata fields
616
are then appropriately set according to frame data or no buffer at
617
all if the frame should be dropped.
618
It is subsequently pushed downstream or provided to <em class="parameter"><code>pre_push</code></em>
620
In any case, the frame is considered finished and released.</p>
621
<p>After calling this function the output buffer of the frame is to be
622
considered read-only. This function will also change the metadata
624
<div class="refsect3">
625
<a name="id-1.2.14.13.7.12.6"></a><h4>Parameters</h4>
626
<div class="informaltable"><table width="100%" border="0">
628
<col width="150px" class="parameters_name">
629
<col class="parameters_description">
630
<col width="200px" class="parameters_annotations">
634
<td class="parameter_name"><p>encoder</p></td>
635
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
636
<td class="parameter_annotations"> </td>
639
<td class="parameter_name"><p>frame</p></td>
640
<td class="parameter_description"><p> an encoded <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. </p></td>
641
<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
646
<div class="refsect3">
647
<a name="id-1.2.14.13.7.12.7"></a><h4>Returns</h4>
648
<p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> resulting from sending data downstream</p>
653
<div class="refsect2">
654
<a name="gst-video-encoder-negotiate"></a><h3>gst_video_encoder_negotiate ()</h3>
655
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
656
gst_video_encoder_negotiate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
657
<p>Negotiate with downstream elements to currently configured <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.
658
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
660
<div class="refsect3">
661
<a name="id-1.2.14.13.7.13.5"></a><h4>Parameters</h4>
662
<div class="informaltable"><table width="100%" border="0">
664
<col width="150px" class="parameters_name">
665
<col class="parameters_description">
666
<col width="200px" class="parameters_annotations">
669
<td class="parameter_name"><p>encoder</p></td>
670
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
671
<td class="parameter_annotations"> </td>
675
<div class="refsect3">
676
<a name="id-1.2.14.13.7.13.6"></a><h4>Returns</h4>
677
<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the negotiation succeeded, else <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.</p>
682
<div class="refsect2">
683
<a name="gst-video-encoder-get-frame"></a><h3>gst_video_encoder_get_frame ()</h3>
684
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> *
685
gst_video_encoder_get_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
686
<em class="parameter"><code><span class="type">int</span> frame_number</code></em>);</pre>
687
<p>Get a pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
688
<div class="refsect3">
689
<a name="id-1.2.14.13.7.14.5"></a><h4>Parameters</h4>
690
<div class="informaltable"><table width="100%" border="0">
692
<col width="150px" class="parameters_name">
693
<col class="parameters_description">
694
<col width="200px" class="parameters_annotations">
698
<td class="parameter_name"><p>encoder</p></td>
699
<td class="parameter_description"><p>a <span class="type">GstVideoEnccoder</span></p></td>
700
<td class="parameter_annotations"> </td>
703
<td class="parameter_name"><p>frame_number</p></td>
704
<td class="parameter_description"><p>system_frame_number of a frame</p></td>
705
<td class="parameter_annotations"> </td>
710
<div class="refsect3">
711
<a name="id-1.2.14.13.7.14.6"></a><h4>Returns</h4>
712
<p> pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> identified by <em class="parameter"><code>frame_number</code></em>
714
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
718
<div class="refsect2">
719
<a name="gst-video-encoder-get-frames"></a><h3>gst_video_encoder_get_frames ()</h3>
720
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
721
gst_video_encoder_get_frames (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
722
<p>Get all pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
723
<div class="refsect3">
724
<a name="id-1.2.14.13.7.15.5"></a><h4>Parameters</h4>
725
<div class="informaltable"><table width="100%" border="0">
727
<col width="150px" class="parameters_name">
728
<col class="parameters_description">
729
<col width="200px" class="parameters_annotations">
732
<td class="parameter_name"><p>encoder</p></td>
733
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
734
<td class="parameter_annotations"> </td>
738
<div class="refsect3">
739
<a name="id-1.2.14.13.7.15.6"></a><h4>Returns</h4>
740
<p> pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. </p>
741
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstVideoCodecFrame]</span></p>
745
<div class="refsect2">
746
<a name="gst-video-encoder-get-oldest-frame"></a><h3>gst_video_encoder_get_oldest_frame ()</h3>
747
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> *
748
gst_video_encoder_get_oldest_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
749
<p>Get the oldest unfinished pending <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
750
<div class="refsect3">
751
<a name="id-1.2.14.13.7.16.5"></a><h4>Parameters</h4>
752
<div class="informaltable"><table width="100%" border="0">
754
<col width="150px" class="parameters_name">
755
<col class="parameters_description">
756
<col width="200px" class="parameters_annotations">
759
<td class="parameter_name"><p>encoder</p></td>
760
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
761
<td class="parameter_annotations"> </td>
765
<div class="refsect3">
766
<a name="id-1.2.14.13.7.16.6"></a><h4>Returns</h4>
767
<p> oldest unfinished pending <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. </p>
768
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
772
<div class="refsect2">
773
<a name="gst-video-encoder-set-headers"></a><h3>gst_video_encoder_set_headers ()</h3>
774
<pre class="programlisting"><span class="returnvalue">void</span>
775
gst_video_encoder_set_headers (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
776
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *headers</code></em>);</pre>
777
<p>Set the codec headers to be sent downstream whenever requested.</p>
778
<div class="refsect3">
779
<a name="id-1.2.14.13.7.17.5"></a><h4>Parameters</h4>
780
<div class="informaltable"><table width="100%" border="0">
782
<col width="150px" class="parameters_name">
783
<col class="parameters_description">
784
<col width="200px" class="parameters_annotations">
788
<td class="parameter_name"><p>encoder</p></td>
789
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
790
<td class="parameter_annotations"> </td>
793
<td class="parameter_name"><p>headers</p></td>
794
<td class="parameter_description"><p> a list of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing the codec header. </p></td>
795
<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstBuffer]</span></td>
802
<div class="refsect2">
803
<a name="gst-video-encoder-get-latency"></a><h3>gst_video_encoder_get_latency ()</h3>
804
<pre class="programlisting"><span class="returnvalue">void</span>
805
gst_video_encoder_get_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
806
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
807
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
808
<p>Query the configured encoding latency. Results will be returned via
809
<em class="parameter"><code>min_latency</code></em>
810
and <em class="parameter"><code>max_latency</code></em>
812
<div class="refsect3">
813
<a name="id-1.2.14.13.7.18.5"></a><h4>Parameters</h4>
814
<div class="informaltable"><table width="100%" border="0">
816
<col width="150px" class="parameters_name">
817
<col class="parameters_description">
818
<col width="200px" class="parameters_annotations">
822
<td class="parameter_name"><p>encoder</p></td>
823
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
824
<td class="parameter_annotations"> </td>
827
<td class="parameter_name"><p>min_latency</p></td>
828
<td class="parameter_description"><p> address of variable in which to store the
829
configured minimum latency, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
830
<td class="parameter_annotations"><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></td>
833
<td class="parameter_name"><p>max_latency</p></td>
834
<td class="parameter_description"><p> address of variable in which to store the
835
configured maximum latency, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
836
<td class="parameter_annotations"><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></td>
843
<div class="refsect2">
844
<a name="gst-video-encoder-set-latency"></a><h3>gst_video_encoder_set_latency ()</h3>
845
<pre class="programlisting"><span class="returnvalue">void</span>
846
gst_video_encoder_set_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
847
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
848
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);</pre>
849
<p>Informs baseclass of encoding latency.</p>
850
<div class="refsect3">
851
<a name="id-1.2.14.13.7.19.5"></a><h4>Parameters</h4>
852
<div class="informaltable"><table width="100%" border="0">
854
<col width="150px" class="parameters_name">
855
<col class="parameters_description">
856
<col width="200px" class="parameters_annotations">
860
<td class="parameter_name"><p>encoder</p></td>
861
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
862
<td class="parameter_annotations"> </td>
865
<td class="parameter_name"><p>min_latency</p></td>
866
<td class="parameter_description"><p>minimum latency</p></td>
867
<td class="parameter_annotations"> </td>
870
<td class="parameter_name"><p>max_latency</p></td>
871
<td class="parameter_description"><p>maximum latency</p></td>
872
<td class="parameter_annotations"> </td>
879
<div class="refsect2">
880
<a name="gst-video-encoder-get-discont"></a><h3>gst_video_encoder_get_discont ()</h3>
881
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
882
gst_video_encoder_get_discont (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
885
<div class="refsect2">
886
<a name="gst-video-encoder-set-discont"></a><h3>gst_video_encoder_set_discont ()</h3>
887
<pre class="programlisting"><span class="returnvalue">void</span>
888
gst_video_encoder_set_discont (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
891
<div class="refsect2">
892
<a name="gst-video-encoder-set-output-state"></a><h3>gst_video_encoder_set_output_state ()</h3>
893
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> *
894
gst_video_encoder_set_output_state (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
895
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
896
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> *reference</code></em>);</pre>
897
<p>Creates a new <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> with the specified caps as the output state
899
Any previously set output state on <em class="parameter"><code>encoder</code></em>
900
will be replaced by the newly
902
<p>The specified <em class="parameter"><code>caps</code></em>
903
should not contain any resolution, pixel-aspect-ratio,
904
framerate, codec-data, .... Those should be specified instead in the returned
905
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.</p>
906
<p>If the subclass wishes to copy over existing fields (like pixel aspect ratio,
907
or framerate) from an existing <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>, it can be provided as a
908
<em class="parameter"><code>reference</code></em>
910
<p>If the subclass wishes to override some fields from the output state (like
911
pixel-aspect-ratio or framerate) it can do so on the returned <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.</p>
912
<p>The new output state will only take effect (set on pads and buffers) starting
913
from the next call to <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-finish-frame" title="gst_video_encoder_finish_frame ()"><code class="function">gst_video_encoder_finish_frame()</code></a>.</p>
914
<div class="refsect3">
915
<a name="id-1.2.14.13.7.22.9"></a><h4>Parameters</h4>
916
<div class="informaltable"><table width="100%" border="0">
918
<col width="150px" class="parameters_name">
919
<col class="parameters_description">
920
<col width="200px" class="parameters_annotations">
924
<td class="parameter_name"><p>encoder</p></td>
925
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
926
<td class="parameter_annotations"> </td>
929
<td class="parameter_name"><p>caps</p></td>
930
<td class="parameter_description"><p> the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> to use for the output. </p></td>
931
<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
934
<td class="parameter_name"><p>reference</p></td>
935
<td class="parameter_description"><p> An optional reference <em class="parameter"><code>GstVideoCodecState</code></em>
937
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
942
<div class="refsect3">
943
<a name="id-1.2.14.13.7.22.10"></a><h4>Returns</h4>
944
<p> the newly configured output state. </p>
945
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
949
<div class="refsect2">
950
<a name="gst-video-encoder-get-output-state"></a><h3>gst_video_encoder_get_output_state ()</h3>
951
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> *
952
gst_video_encoder_get_output_state (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
953
<p>Get the current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a></p>
954
<div class="refsect3">
955
<a name="id-1.2.14.13.7.23.5"></a><h4>Parameters</h4>
956
<div class="informaltable"><table width="100%" border="0">
958
<col width="150px" class="parameters_name">
959
<col class="parameters_description">
960
<col width="200px" class="parameters_annotations">
963
<td class="parameter_name"><p>encoder</p></td>
964
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
965
<td class="parameter_annotations"> </td>
969
<div class="refsect3">
970
<a name="id-1.2.14.13.7.23.6"></a><h4>Returns</h4>
971
<p> <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> describing format of video data. </p>
972
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
976
<div class="refsect2">
977
<a name="gst-video-encoder-proxy-getcaps"></a><h3>gst_video_encoder_proxy_getcaps ()</h3>
978
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *
979
gst_video_encoder_proxy_getcaps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *enc</code></em>,
980
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
981
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>);</pre>
982
<p>Returns caps that express <em class="parameter"><code>caps</code></em>
983
(or sink template caps if <em class="parameter"><code>caps</code></em>
985
restricted to resolution/format/... combinations supported by downstream
986
elements (e.g. muxers).</p>
987
<div class="refsect3">
988
<a name="id-1.2.14.13.7.24.5"></a><h4>Parameters</h4>
989
<div class="informaltable"><table width="100%" border="0">
991
<col width="150px" class="parameters_name">
992
<col class="parameters_description">
993
<col width="200px" class="parameters_annotations">
997
<td class="parameter_name"><p>enc</p></td>
998
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
999
<td class="parameter_annotations"> </td>
1002
<td class="parameter_name"><p>caps</p></td>
1003
<td class="parameter_description"><p>initial caps</p></td>
1004
<td class="parameter_annotations"> </td>
1007
<td class="parameter_name"><p>filter</p></td>
1008
<td class="parameter_description"><p>filter caps</p></td>
1009
<td class="parameter_annotations"> </td>
1014
<div class="refsect3">
1015
<a name="id-1.2.14.13.7.24.6"></a><h4>Returns</h4>
1016
<p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> owned by caller</p>
1021
<div class="refsect2">
1022
<a name="gst-video-encoder-merge-tags"></a><h3>gst_video_encoder_merge_tags ()</h3>
1023
<pre class="programlisting"><span class="returnvalue">void</span>
1024
gst_video_encoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
1025
<em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>,
1026
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
1027
<p>Adds tags to so-called pending tags, which will be processed
1028
before pushing out data downstream.</p>
1029
<p>Note that this is provided for convenience, and the subclass is
1030
not required to use this and can still do tag handling on its own.</p>
1032
<div class="refsect3">
1033
<a name="id-1.2.14.13.7.25.7"></a><h4>Parameters</h4>
1034
<div class="informaltable"><table width="100%" border="0">
1036
<col width="150px" class="parameters_name">
1037
<col class="parameters_description">
1038
<col width="200px" class="parameters_annotations">
1042
<td class="parameter_name"><p>encoder</p></td>
1043
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
1044
<td class="parameter_annotations"> </td>
1047
<td class="parameter_name"><p>tags</p></td>
1048
<td class="parameter_description"><p>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a> to merge</p></td>
1049
<td class="parameter_annotations"> </td>
1052
<td class="parameter_name"><p>mode</p></td>
1053
<td class="parameter_description"><p>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use</p></td>
1054
<td class="parameter_annotations"> </td>
1061
<div class="refsect1">
1062
<a name="gst-plugins-base-libs-GstVideoEncoder.other_details"></a><h2>Types and Values</h2>
1063
<div class="refsect2">
1064
<a name="GST-VIDEO-ENCODER-FLOW-DROPPED:CAPS"></a><h3>GST_VIDEO_ENCODER_FLOW_DROPPED</h3>
1065
<pre class="programlisting">#define GST_VIDEO_ENCODER_FLOW_DROPPED GST_FLOW_CUSTOM_SUCCESS_1
1067
<p>Returned when the event/buffer should be dropped.</p>
1070
<div class="refsect2">
1071
<a name="GST-VIDEO-ENCODER-FLOW-NEED-DATA:CAPS"></a><h3>GST_VIDEO_ENCODER_FLOW_NEED_DATA</h3>
1072
<pre class="programlisting">#define GST_VIDEO_ENCODER_FLOW_NEED_DATA GST_FLOW_CUSTOM_SUCCESS
1074
<p>Returned while parsing to indicate more data is needed.</p>
1077
<div class="refsect2">
1078
<a name="GST-VIDEO-ENCODER-SINK-NAME:CAPS"></a><h3>GST_VIDEO_ENCODER_SINK_NAME</h3>
1079
<pre class="programlisting">#define GST_VIDEO_ENCODER_SINK_NAME "sink"
1081
<p>The name of the templates for the sink pad.</p>
1084
<div class="refsect2">
1085
<a name="GST-VIDEO-ENCODER-SRC-NAME:CAPS"></a><h3>GST_VIDEO_ENCODER_SRC_NAME</h3>
1086
<pre class="programlisting">#define GST_VIDEO_ENCODER_SRC_NAME "src"
1088
<p>The name of the templates for the source pad.</p>
338
1091
<div class="refsect2">
389
1140
gboolean (*flush) (GstVideoEncoder *encoder);
393
Subclasses can override any of the available virtual methods or not, as
394
needed. At minimum <em class="parameter"><code>handle_frame</code></em> needs to be overridden, and <em class="parameter"><code>set_format</code></em>
395
and <em class="parameter"><code>get_caps</code></em> are likely needed as well.
397
<div class="variablelist"><table border="0" class="variablelist">
1143
<p>Subclasses can override any of the available virtual methods or not, as
1144
needed. At minimum <em class="parameter"><code>handle_frame</code></em>
1145
needs to be overridden, and <em class="parameter"><code>set_format</code></em>
1147
and <em class="parameter"><code>get_caps</code></em>
1148
are likely needed as well.</p>
1149
<div class="refsect3">
1150
<a name="id-1.2.14.13.8.7.5"></a><h4>Members</h4>
1151
<div class="informaltable"><table width="100%" border="0">
399
<col align="left" valign="top">
1153
<col width="300px" class="struct_members_name">
1154
<col class="struct_members_description">
1155
<col width="200px" class="struct_members_annotations">
404
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.open"></a>open</code></em> ()</span></p></td>
1159
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.open"></a>open</code></em> ()</p></td>
1160
<td class="struct_member_description"><p>Optional.
406
1161
Called when the element changes to GST_STATE_READY.
407
Allows opening external resources.</td>
1162
Allows opening external resources.</p></td>
1163
<td class="struct_member_annotations"> </td>
410
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.close"></a>close</code></em> ()</span></p></td>
1166
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.close"></a>close</code></em> ()</p></td>
1167
<td class="struct_member_description"><p>Optional.
412
1168
Called when the element changes to GST_STATE_NULL.
413
Allows closing external resources.</td>
1169
Allows closing external resources.</p></td>
1170
<td class="struct_member_annotations"> </td>
416
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.start"></a>start</code></em> ()</span></p></td>
1173
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.start"></a>start</code></em> ()</p></td>
1174
<td class="struct_member_description"><p>Optional.
418
1175
Called when the element starts processing.
419
Allows opening external resources.</td>
1176
Allows opening external resources.</p></td>
1177
<td class="struct_member_annotations"> </td>
422
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.stop"></a>stop</code></em> ()</span></p></td>
1180
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.stop"></a>stop</code></em> ()</p></td>
1181
<td class="struct_member_description"><p>Optional.
424
1182
Called when the element stops processing.
425
Allows closing external resources.</td>
1183
Allows closing external resources.</p></td>
1184
<td class="struct_member_annotations"> </td>
428
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.set-format"></a>set_format</code></em> ()</span></p></td>
1187
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.set-format"></a>set_format</code></em> ()</p></td>
1188
<td class="struct_member_description"><p>Optional.
430
1189
Notifies subclass of incoming data format.
431
1190
GstVideoCodecState fields have already been
432
set according to provided caps.</td>
435
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.handle-frame"></a>handle_frame</code></em> ()</span></p></td>
436
<td>Provides input frame to subclass.</td>
439
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.reset"></a>reset</code></em> ()</span></p></td>
1191
set according to provided caps.</p></td>
1192
<td class="struct_member_annotations"> </td>
1195
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.handle-frame"></a>handle_frame</code></em> ()</p></td>
1196
<td class="struct_member_description"><p>Provides input frame to subclass.</p></td>
1197
<td class="struct_member_annotations"> </td>
1200
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.reset"></a>reset</code></em> ()</p></td>
1201
<td class="struct_member_description"><p>Optional.
441
1202
Allows subclass (encoder) to perform post-seek semantics reset.
1203
Deprecated.</p></td>
1204
<td class="struct_member_annotations"> </td>
445
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.finish"></a>finish</code></em> ()</span></p></td>
1207
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.finish"></a>finish</code></em> ()</p></td>
1208
<td class="struct_member_description"><p>Optional.
447
1209
Called to request subclass to dispatch any pending remaining
448
data (e.g. at EOS).</td>
1210
data (e.g. at EOS).</p></td>
1211
<td class="struct_member_annotations"> </td>
451
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.pre-push"></a>pre_push</code></em> ()</span></p></td>
1214
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.pre-push"></a>pre_push</code></em> ()</p></td>
1215
<td class="struct_member_description"><p>Optional.
453
1216
Allows subclass to push frame downstream in whatever
454
1217
shape or form it deems appropriate. If not provided,
455
provided encoded frame data is simply pushed downstream.</td>
1218
provided encoded frame data is simply pushed downstream.</p></td>
1219
<td class="struct_member_annotations"> </td>
458
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.getcaps"></a>getcaps</code></em> ()</span></p></td>
1222
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.getcaps"></a>getcaps</code></em> ()</p></td>
1223
<td class="struct_member_description"><p>Optional.
460
1224
Allows for a custom sink getcaps implementation (e.g.
461
1225
for multichannel input specification). If not implemented,
462
1226
default returns gst_video_encoder_proxy_getcaps
463
applied to sink template caps.</td>
1227
applied to sink template caps.</p></td>
1228
<td class="struct_member_annotations"> </td>
466
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.sink-event"></a>sink_event</code></em> ()</span></p></td>
1231
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.sink-event"></a>sink_event</code></em> ()</p></td>
1232
<td class="struct_member_description"><p>Optional.
468
1233
Event handler on the sink pad. This function should return
469
1234
TRUE if the event was handled and should be discarded
470
1235
(i.e. not unref'ed).
471
1236
Subclasses should chain up to the parent implementation to
472
invoke the default handler.</td>
1237
invoke the default handler.</p></td>
1238
<td class="struct_member_annotations"> </td>
475
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.src-event"></a>src_event</code></em> ()</span></p></td>
1241
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.src-event"></a>src_event</code></em> ()</p></td>
1242
<td class="struct_member_description"><p>Optional.
477
1243
Event handler on the source pad. This function should return
478
1244
TRUE if the event was handled and should be discarded
479
1245
(i.e. not unref'ed).
480
1246
Subclasses should chain up to the parent implementation to
481
invoke the default handler.</td>
1247
invoke the default handler.</p></td>
1248
<td class="struct_member_annotations"> </td>
484
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.negotiate"></a>negotiate</code></em> ()</span></p></td>
1251
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.negotiate"></a>negotiate</code></em> ()</p></td>
1252
<td class="struct_member_description"><p>Optional.
486
1253
Negotiate with downstream and configure buffer pools, etc.
487
1254
Subclasses should chain up to the parent implementation to
488
invoke the default handler.</td>
1255
invoke the default handler.</p></td>
1256
<td class="struct_member_annotations"> </td>
491
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.decide-allocation"></a>decide_allocation</code></em> ()</span></p></td>
1259
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.decide-allocation"></a>decide_allocation</code></em> ()</p></td>
1260
<td class="struct_member_description"><p>Optional.
493
1261
Setup the allocation parameters for allocating output
494
1262
buffers. The passed in query contains the result of the
495
1263
downstream allocation query.
496
1264
Subclasses should chain up to the parent implementation to
497
invoke the default handler.</td>
1265
invoke the default handler.</p></td>
1266
<td class="struct_member_annotations"> </td>
500
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.propose-allocation"></a>propose_allocation</code></em> ()</span></p></td>
1269
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.propose-allocation"></a>propose_allocation</code></em> ()</p></td>
1270
<td class="struct_member_description"><p>Optional.
502
1271
Propose buffer allocation parameters for upstream elements.
503
1272
Subclasses should chain up to the parent implementation to
504
invoke the default handler.</td>
1273
invoke the default handler.</p></td>
1274
<td class="struct_member_annotations"> </td>
507
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.flush"></a>flush</code></em> ()</span></p></td>
1277
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.flush"></a>flush</code></em> ()</p></td>
1278
<td class="struct_member_description"><p>Optional.
509
1279
Flush all remaining data from the encoder without
510
pushing it downstream. Since: 1.2</td>
516
<div class="refsect2">
517
<a name="gst-video-encoder-allocate-output-buffer"></a><h3>gst_video_encoder_allocate_output_buffer ()</h3>
518
<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_encoder_allocate_output_buffer
519
(<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
520
<em class="parameter"><code><span class="type">gsize</span> size</code></em>);</pre>
522
Helper function that allocates a buffer to hold an encoded video frame
523
for <em class="parameter"><code>encoder</code></em>'s current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.
525
<div class="variablelist"><table border="0" class="variablelist">
527
<col align="left" valign="top">
532
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
533
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
537
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
538
<td>size of the buffer</td>
541
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
542
<td>allocated buffer. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
549
<div class="refsect2">
550
<a name="gst-video-encoder-allocate-output-frame"></a><h3>gst_video_encoder_allocate_output_frame ()</h3>
551
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> gst_video_encoder_allocate_output_frame
552
(<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
553
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>,
554
<em class="parameter"><code><span class="type">gsize</span> size</code></em>);</pre>
556
Helper function that allocates a buffer to hold an encoded video frame for <em class="parameter"><code>encoder</code></em>'s
557
current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>. Subclass should already have configured video
558
state and set src pad caps.
561
The buffer allocated here is owned by the frame and you should only
562
keep references to the frame, not the buffer.
564
<div class="variablelist"><table border="0" class="variablelist">
566
<col align="left" valign="top">
571
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
572
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
576
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
577
<td>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>
581
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
582
<td>size of the buffer</td>
585
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
587
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> if an output buffer could be allocated</td>
593
<div class="refsect2">
594
<a name="gst-video-encoder-get-allocator"></a><h3>gst_video_encoder_get_allocator ()</h3>
595
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_encoder_get_allocator (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
596
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a> **allocator</code></em>,
597
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html#GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
599
Lets <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> sub-classes to know the memory <em class="parameter"><code>allocator</code></em>
600
used by the base class and its <em class="parameter"><code>params</code></em>.
603
Unref the <em class="parameter"><code>allocator</code></em> after use it.
605
<div class="variablelist"><table border="0" class="variablelist">
607
<col align="left" valign="top">
612
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
613
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
617
<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
618
<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstAllocator.html"><span class="type">GstAllocator</span></a>
619
used. <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>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
623
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
625
<span class="type">GstAllocatorParams</span> of <em class="parameter"><code>allocator</code></em>. <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>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
632
<div class="refsect2">
633
<a name="gst-video-encoder-finish-frame"></a><h3>gst_video_encoder_finish_frame ()</h3>
634
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> gst_video_encoder_finish_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
635
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
637
<em class="parameter"><code>frame</code></em> must have a valid encoded data buffer, whose metadata fields
638
are then appropriately set according to frame data or no buffer at
639
all if the frame should be dropped.
640
It is subsequently pushed downstream or provided to <em class="parameter"><code>pre_push</code></em>.
641
In any case, the frame is considered finished and released.
644
After calling this function the output buffer of the frame is to be
645
considered read-only. This function will also change the metadata
648
<div class="variablelist"><table border="0" class="variablelist">
650
<col align="left" valign="top">
655
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
656
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
660
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
661
<td>an encoded <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
665
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
666
<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> resulting from sending data downstream</td>
672
<div class="refsect2">
673
<a name="gst-video-encoder-negotiate"></a><h3>gst_video_encoder_negotiate ()</h3>
674
<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_encoder_negotiate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
676
Negotiate with downstream elements to currently configured <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.
677
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
680
<div class="variablelist"><table border="0" class="variablelist">
682
<col align="left" valign="top">
687
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
688
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
692
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
694
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the negotiation succeeded, else <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.</td>
700
<div class="refsect2">
701
<a name="gst-video-encoder-get-frame"></a><h3>gst_video_encoder_get_frame ()</h3>
702
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> * gst_video_encoder_get_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
703
<em class="parameter"><code><span class="type">int</span> frame_number</code></em>);</pre>
705
Get a pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>
707
<div class="variablelist"><table border="0" class="variablelist">
709
<col align="left" valign="top">
714
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
715
<td>a <span class="type">GstVideoEnccoder</span>
719
<td><p><span class="term"><em class="parameter"><code>frame_number</code></em> :</span></p></td>
720
<td>system_frame_number of a frame</td>
723
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
724
<td>pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> identified by <em class="parameter"><code>frame_number</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
731
<div class="refsect2">
732
<a name="gst-video-encoder-get-frames"></a><h3>gst_video_encoder_get_frames ()</h3>
733
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gst_video_encoder_get_frames (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
735
Get all pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>
737
<div class="variablelist"><table border="0" class="variablelist">
739
<col align="left" valign="top">
744
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
745
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
749
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
750
<td>pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstVideoCodecFrame]</span>
757
<div class="refsect2">
758
<a name="gst-video-encoder-get-oldest-frame"></a><h3>gst_video_encoder_get_oldest_frame ()</h3>
759
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> * gst_video_encoder_get_oldest_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
761
Get the oldest unfinished pending <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>
763
<div class="variablelist"><table border="0" class="variablelist">
765
<col align="left" valign="top">
770
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
771
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
775
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
776
<td>oldest unfinished pending <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
783
<div class="refsect2">
784
<a name="gst-video-encoder-set-headers"></a><h3>gst_video_encoder_set_headers ()</h3>
785
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_encoder_set_headers (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
786
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *headers</code></em>);</pre>
788
Set the codec headers to be sent downstream whenever requested.
790
<div class="variablelist"><table border="0" class="variablelist">
792
<col align="left" valign="top">
797
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
798
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
802
<td><p><span class="term"><em class="parameter"><code>headers</code></em> :</span></p></td>
803
<td>a list of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing the codec header. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstBuffer]</span>
810
<div class="refsect2">
811
<a name="gst-video-encoder-get-latency"></a><h3>gst_video_encoder_get_latency ()</h3>
812
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_encoder_get_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
813
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
814
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
816
Query the configured encoding latency. Results will be returned via
817
<em class="parameter"><code>min_latency</code></em> and <em class="parameter"><code>max_latency</code></em>.
819
<div class="variablelist"><table border="0" class="variablelist">
821
<col align="left" valign="top">
826
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
827
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
831
<td><p><span class="term"><em class="parameter"><code>min_latency</code></em> :</span></p></td>
832
<td>address of variable in which to store the
833
configured minimum latency, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <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>
837
<td><p><span class="term"><em class="parameter"><code>max_latency</code></em> :</span></p></td>
838
<td>address of variable in which to store the
839
configured maximum latency, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <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>
846
<div class="refsect2">
847
<a name="gst-video-encoder-set-latency"></a><h3>gst_video_encoder_set_latency ()</h3>
848
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_encoder_set_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
849
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
850
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);</pre>
852
Informs baseclass of encoding latency.
854
<div class="variablelist"><table border="0" class="variablelist">
856
<col align="left" valign="top">
861
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
862
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
866
<td><p><span class="term"><em class="parameter"><code>min_latency</code></em> :</span></p></td>
867
<td>minimum latency</td>
870
<td><p><span class="term"><em class="parameter"><code>max_latency</code></em> :</span></p></td>
871
<td>maximum latency</td>
877
<div class="refsect2">
878
<a name="gst-video-encoder-get-discont"></a><h3>gst_video_encoder_get_discont ()</h3>
879
<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_encoder_get_discont (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
882
<div class="refsect2">
883
<a name="gst-video-encoder-set-discont"></a><h3>gst_video_encoder_set_discont ()</h3>
884
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_encoder_set_discont (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
887
<div class="refsect2">
888
<a name="gst-video-encoder-set-output-state"></a><h3>gst_video_encoder_set_output_state ()</h3>
889
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> * gst_video_encoder_set_output_state (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
890
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
891
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> *reference</code></em>);</pre>
893
Creates a new <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> with the specified caps as the output state
895
Any previously set output state on <em class="parameter"><code>encoder</code></em> will be replaced by the newly
899
The specified <em class="parameter"><code>caps</code></em> should not contain any resolution, pixel-aspect-ratio,
900
framerate, codec-data, .... Those should be specified instead in the returned
901
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.
904
If the subclass wishes to copy over existing fields (like pixel aspect ratio,
905
or framerate) from an existing <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>, it can be provided as a
906
<em class="parameter"><code>reference</code></em>.
909
If the subclass wishes to override some fields from the output state (like
910
pixel-aspect-ratio or framerate) it can do so on the returned <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.
913
The new output state will only take effect (set on pads and buffers) starting
914
from the next call to #<a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-finish-frame" title="gst_video_encoder_finish_frame ()"><code class="function">gst_video_encoder_finish_frame()</code></a>.
916
<div class="variablelist"><table border="0" class="variablelist">
918
<col align="left" valign="top">
923
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
924
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
928
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
929
<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> to use for the output. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
933
<td><p><span class="term"><em class="parameter"><code>reference</code></em> :</span></p></td>
934
<td>An optional reference <em class="parameter"><code>GstVideoCodecState</code></em>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
938
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
939
<td>the newly configured output state. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
946
<div class="refsect2">
947
<a name="gst-video-encoder-get-output-state"></a><h3>gst_video_encoder_get_output_state ()</h3>
948
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> * gst_video_encoder_get_output_state (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
950
Get the current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>
952
<div class="variablelist"><table border="0" class="variablelist">
954
<col align="left" valign="top">
959
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
960
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
964
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
966
<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> describing format of video data. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
973
<div class="refsect2">
974
<a name="gst-video-encoder-proxy-getcaps"></a><h3>gst_video_encoder_proxy_getcaps ()</h3>
975
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> * gst_video_encoder_proxy_getcaps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *enc</code></em>,
976
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
977
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>);</pre>
979
Returns caps that express <em class="parameter"><code>caps</code></em> (or sink template caps if <em class="parameter"><code>caps</code></em> == NULL)
980
restricted to resolution/format/... combinations supported by downstream
981
elements (e.g. muxers).
983
<div class="variablelist"><table border="0" class="variablelist">
985
<col align="left" valign="top">
990
<td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
991
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
995
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
996
<td>initial caps</td>
999
<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
1000
<td>filter caps</td>
1003
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1004
<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> owned by caller</td>
1010
<div class="refsect2">
1011
<a name="gst-video-encoder-merge-tags"></a><h3>gst_video_encoder_merge_tags ()</h3>
1012
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_encoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
1013
<em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>,
1014
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
1016
Adds tags to so-called pending tags, which will be processed
1017
before pushing out data downstream.
1020
Note that this is provided for convenience, and the subclass is
1021
not required to use this and can still do tag handling on its own.
1026
<div class="variablelist"><table border="0" class="variablelist">
1028
<col align="left" valign="top">
1033
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
1034
<td>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a>
1038
<td><p><span class="term"><em class="parameter"><code>tags</code></em> :</span></p></td>
1039
<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a> to merge</td>
1042
<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
1043
<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use</td>
1280
pushing it downstream. Since: 1.2</p></td>
1281
<td class="struct_member_annotations"> </td>
1050
1289
<div class="footer">
1052
Generated by GTK-Doc V1.19</div>
1291
Generated by GTK-Doc V1.20</div>
b'\\ No newline at end of file'