~sipe-collab/sipe-collab/gstreamer-plugins-base

« back to all changes in this revision

Viewing changes to docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html

  • Committer: Sebastian Dröge
  • Date: 2014-04-19 13:47:47 UTC
  • mfrom: (1.1.23)
  • Revision ID: git-v1:d06393f82dba0d5f13ec2e66275d75cf8178fe5c
Merge tag 'upstream/1.2.4'

Upstream version 1.2.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
<html>
3
3
<head>
4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
 
<title>GstVideoEncoder</title>
 
5
<title>GStreamer Base Plugins 1.0 Library Reference Manual: GstVideoEncoder</title>
6
6
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
7
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
8
8
<link rel="up" href="gstreamer-video.html" title="Video Library">
9
9
<link rel="prev" href="gst-plugins-base-libs-GstVideoDecoder.html" title="GstVideoDecoder">
10
10
<link rel="next" href="gst-plugins-base-libs-gstvideoutils.html" title="gstvideoutils">
11
 
<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
</head>
14
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
 
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16
 
<tr valign="middle">
17
 
<td><a accesskey="p" href="gst-plugins-base-libs-GstVideoDecoder.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
 
<td><a accesskey="u" href="gstreamer-video.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
 
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
 
<th width="100%" align="center">GStreamer Base Plugins 1.0 Library Reference Manual</th>
21
 
<td><a accesskey="n" href="gst-plugins-base-libs-gstvideoutils.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
 
</tr>
23
 
<tr><td colspan="5" class="shortcuts">
24
 
<a href="#gst-plugins-base-libs-GstVideoEncoder.synopsis" class="shortcut">Top</a>
25
 
                   | 
26
 
                  <a href="#gst-plugins-base-libs-GstVideoEncoder.description" class="shortcut">Description</a>
27
 
</td></tr>
28
 
</table>
 
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
 
16
<td width="100%" align="left" class="shortcuts">
 
17
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> 
 
18
                  <a href="#gst-plugins-base-libs-GstVideoEncoder.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 
 
19
                  <a href="#gst-plugins-base-libs-GstVideoEncoder.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
 
20
</td>
 
21
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 
22
<td><a accesskey="u" href="gstreamer-video.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 
23
<td><a accesskey="p" href="gst-plugins-base-libs-GstVideoDecoder.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 
24
<td><a accesskey="n" href="gst-plugins-base-libs-gstvideoutils.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 
25
</tr></table>
29
26
<div class="refentry">
30
27
<a name="gst-plugins-base-libs-GstVideoEncoder"></a><div class="titlepage"></div>
31
28
<div class="refnamediv"><table width="100%"><tr>
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>
35
32
</td>
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">
 
38
<colgroup>
 
39
<col width="150px" class="functions_return">
 
40
<col class="functions_name">
 
41
</colgroup>
 
42
<tbody>
 
43
<tr>
 
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>
 
47
</td>
 
48
</tr>
 
49
<tr>
 
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>
 
53
</td>
 
54
</tr>
 
55
<tr>
 
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>
 
59
</td>
 
60
</tr>
 
61
<tr>
 
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>
 
65
</td>
 
66
</tr>
 
67
<tr>
 
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>
 
71
</td>
 
72
</tr>
 
73
<tr>
 
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>
 
77
</td>
 
78
</tr>
 
79
<tr>
 
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>
 
83
</td>
 
84
</tr>
 
85
<tr>
 
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> *
 
88
</td>
 
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>
 
91
</td>
 
92
</tr>
 
93
<tr>
 
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>
 
96
</td>
 
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>
 
99
</td>
 
100
</tr>
 
101
<tr>
 
102
<td class="function_type">
 
103
<span class="returnvalue">void</span>
 
104
</td>
 
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>
 
107
</td>
 
108
</tr>
 
109
<tr>
 
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>
 
112
</td>
 
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>
 
115
</td>
 
116
</tr>
 
117
<tr>
 
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>
 
120
</td>
 
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>
 
123
</td>
 
124
</tr>
 
125
<tr>
 
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> *
 
128
</td>
 
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>
 
131
</td>
 
132
</tr>
 
133
<tr>
 
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> *
 
136
</td>
 
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>
 
139
</td>
 
140
</tr>
 
141
<tr>
 
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> *
 
144
</td>
 
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>
 
147
</td>
 
148
</tr>
 
149
<tr>
 
150
<td class="function_type">
 
151
<span class="returnvalue">void</span>
 
152
</td>
 
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>
 
155
</td>
 
156
</tr>
 
157
<tr>
 
158
<td class="function_type">
 
159
<span class="returnvalue">void</span>
 
160
</td>
 
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>
 
163
</td>
 
164
</tr>
 
165
<tr>
 
166
<td class="function_type">
 
167
<span class="returnvalue">void</span>
 
168
</td>
 
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>
 
171
</td>
 
172
</tr>
 
173
<tr>
 
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>
 
176
</td>
 
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>
 
179
</td>
 
180
</tr>
 
181
<tr>
 
182
<td class="function_type">
 
183
<span class="returnvalue">void</span>
 
184
</td>
 
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>
 
187
</td>
 
188
</tr>
 
189
<tr>
 
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> *
 
192
</td>
 
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>
 
195
</td>
 
196
</tr>
 
197
<tr>
 
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> *
 
200
</td>
 
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>
 
203
</td>
 
204
</tr>
 
205
<tr>
 
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> *
 
208
</td>
 
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>
 
211
</td>
 
212
</tr>
 
213
<tr>
 
214
<td class="function_type">
 
215
<span class="returnvalue">void</span>
 
216
</td>
 
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>
 
219
</td>
 
220
</tr>
 
221
</tbody>
 
222
</table></div>
 
223
</div>
 
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">
 
227
<colgroup>
 
228
<col width="150px" class="name">
 
229
<col class="description">
 
230
</colgroup>
 
231
<tbody>
 
232
<tr>
 
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>
 
235
</tr>
 
236
<tr>
 
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>
 
239
</tr>
 
240
<tr>
 
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>
 
243
</tr>
 
244
<tr>
 
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>
 
247
</tr>
 
248
<tr>
 
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>
 
251
</tr>
 
252
<tr>
 
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>
 
255
</tr>
 
256
</tbody>
 
257
</table></div>
 
258
</div>
 
259
<div class="refsect1">
 
260
<a name="gst-plugins-base-libs-GstVideoEncoder.object-hierarchy"></a><h2>Object Hierarchy</h2>
 
261
<pre class="screen">
90
262
</pre>
91
263
</div>
92
264
<div class="refsect1">
93
265
<a name="gst-plugins-base-libs-GstVideoEncoder.description"></a><h2>Description</h2>
94
 
<p>
95
 
This base class is for video encoders turning raw video into
96
 
encoded video data.
97
 
</p>
98
 
<p>
99
 
GstVideoEncoder and subclass should cooperate as follows.
100
 
</p>
 
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>
151
319
  </p></li></ul>
152
320
</div></li>
153
321
</ol></div>
154
 
<p>
155
 
</p>
156
 
<p>
157
 
Subclass is responsible for providing pad template caps for
 
322
<p>Subclass is responsible for providing pad template caps for
158
323
source and sink pads. The pads need to be named "sink" and "src". It should
159
 
also be able to provide fixed src pad caps in <em class="parameter"><code>getcaps</code></em> by the time it calls
160
 
<em class="parameter"><code>gst_video_encoder_finish_frame</code></em>.
161
 
</p>
162
 
<p>
163
 
Things that subclass need to take care of:
164
 
</p>
 
324
also be able to provide fixed src pad caps in <em class="parameter"><code>getcaps</code></em>
 
325
 by the time it calls
 
326
<em class="parameter"><code>gst_video_encoder_finish_frame</code></em>
 
327
.</p>
 
328
<p>Things that subclass need to take care of:</p>
165
329
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
166
330
<li class="listitem"><p>Provide pad templates</p></li>
167
331
<li class="listitem"><p>
172
336
     <em class="parameter"><code>gst_video_encoder_finish_frame</code></em>.
173
337
  </p></li>
174
338
</ul></div>
175
 
<p>
176
 
</p>
177
339
</div>
178
340
<div class="refsect1">
179
 
<a name="gst-plugins-base-libs-GstVideoEncoder.details"></a><h2>Details</h2>
 
341
<a name="gst-plugins-base-libs-GstVideoEncoder.functions_details"></a><h2>Functions</h2>
180
342
<div class="refsect2">
181
343
<a name="GST-VIDEO-ENCODER-CAST:CAPS"></a><h3>GST_VIDEO_ENCODER_CAST()</h3>
182
344
<pre class="programlisting">#define GST_VIDEO_ENCODER_CAST(enc) ((GstVideoEncoder*)enc)
184
346
</div>
185
347
<hr>
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
189
 
</pre>
190
 
<p>
191
 
Returned when the event/buffer should be dropped.
192
 
</p>
193
 
</div>
194
 
<hr>
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
198
 
</pre>
199
 
<p>
200
 
Returned while parsing to indicate more data is needed.
201
 
</p>
202
 
</div>
203
 
<hr>
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"
207
 
</pre>
208
 
<p>
209
 
The name of the templates for the sink pad.
210
 
</p>
211
 
</div>
212
 
<hr>
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))-&gt;sinkpad)
216
351
</pre>
217
 
<p>
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.
219
 
</p>
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">
221
356
<colgroup>
222
 
<col align="left" valign="top">
223
 
<col>
 
357
<col width="150px" class="parameters_name">
 
358
<col class="parameters_description">
 
359
<col width="200px" class="parameters_annotations">
224
360
</colgroup>
225
361
<tbody><tr>
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>
228
 
</td>
 
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>
229
365
</tr></tbody>
230
366
</table></div>
231
367
</div>
232
 
<hr>
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"
236
 
</pre>
237
 
<p>
238
 
The name of the templates for the source pad.
239
 
</p>
240
368
</div>
241
369
<hr>
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))-&gt;srcpad)
245
373
</pre>
246
 
<p>
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.
248
 
</p>
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">
250
378
<colgroup>
251
 
<col align="left" valign="top">
252
 
<col>
 
379
<col width="150px" class="parameters_name">
 
380
<col class="parameters_description">
 
381
<col width="200px" class="parameters_annotations">
253
382
</colgroup>
254
383
<tbody><tr>
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>
257
 
</td>
 
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>
258
387
</tr></tbody>
259
388
</table></div>
260
389
</div>
 
390
</div>
261
391
<hr>
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)-&gt;input_segment)
265
395
</pre>
266
 
<p>
267
 
Gives the segment of the element.
268
 
</p>
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">
270
400
<colgroup>
271
 
<col align="left" valign="top">
272
 
<col>
 
401
<col width="150px" class="parameters_name">
 
402
<col class="parameters_description">
 
403
<col width="200px" class="parameters_annotations">
273
404
</colgroup>
274
405
<tbody><tr>
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>
277
409
</tr></tbody>
278
410
</table></div>
279
411
</div>
 
412
</div>
280
413
<hr>
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)-&gt;output_segment)
284
417
</pre>
285
 
<p>
286
 
Gives the segment of the element.
287
 
</p>
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">
289
422
<colgroup>
290
 
<col align="left" valign="top">
291
 
<col>
 
423
<col width="150px" class="parameters_name">
 
424
<col class="parameters_description">
 
425
<col width="200px" class="parameters_annotations">
292
426
</colgroup>
293
427
<tbody><tr>
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>
296
431
</tr></tbody>
297
432
</table></div>
298
433
</div>
 
434
</div>
299
435
<hr>
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 (&amp;GST_VIDEO_ENCODER (encoder)-&gt;stream_lock)
303
439
</pre>
304
 
<p>
305
 
Obtain a lock to protect the encoder function from concurrent access.
306
 
</p>
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">
308
444
<colgroup>
309
 
<col align="left" valign="top">
310
 
<col>
 
445
<col width="150px" class="parameters_name">
 
446
<col class="parameters_description">
 
447
<col width="200px" class="parameters_annotations">
311
448
</colgroup>
312
449
<tbody><tr>
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>
315
453
</tr></tbody>
316
454
</table></div>
317
455
</div>
 
456
</div>
318
457
<hr>
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 (&amp;GST_VIDEO_ENCODER (encoder)-&gt;stream_lock)
322
461
</pre>
323
 
<p>
324
 
Release the lock that protects the encoder function from concurrent access.
325
 
</p>
326
 
<div class="variablelist"><table border="0" class="variablelist">
327
 
<colgroup>
328
 
<col align="left" valign="top">
329
 
<col>
330
 
</colgroup>
331
 
<tbody><tr>
332
 
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
333
 
<td>video encoder instance</td>
334
 
</tr></tbody>
335
 
</table></div>
 
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">
 
466
<colgroup>
 
467
<col width="150px" class="parameters_name">
 
468
<col class="parameters_description">
 
469
<col width="200px" class="parameters_annotations">
 
470
</colgroup>
 
471
<tbody><tr>
 
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>
 
475
</tr></tbody>
 
476
</table></div>
 
477
</div>
 
478
</div>
 
479
<hr>
 
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">
 
492
<colgroup>
 
493
<col width="150px" class="parameters_name">
 
494
<col class="parameters_description">
 
495
<col width="200px" class="parameters_annotations">
 
496
</colgroup>
 
497
<tbody>
 
498
<tr>
 
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>
 
502
</tr>
 
503
<tr>
 
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>
 
507
</tr>
 
508
</tbody>
 
509
</table></div>
 
510
</div>
 
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>
 
515
</div>
 
516
</div>
 
517
<hr>
 
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>
 
526
's
 
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">
 
534
<colgroup>
 
535
<col width="150px" class="parameters_name">
 
536
<col class="parameters_description">
 
537
<col width="200px" class="parameters_annotations">
 
538
</colgroup>
 
539
<tbody>
 
540
<tr>
 
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>
 
544
</tr>
 
545
<tr>
 
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>
 
549
</tr>
 
550
<tr>
 
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>
 
554
</tr>
 
555
</tbody>
 
556
</table></div>
 
557
</div>
 
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>
 
561
<p></p>
 
562
</div>
 
563
</div>
 
564
<hr>
 
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>
 
572
 
 
573
used by the base class and its <em class="parameter"><code>params</code></em>
 
574
.</p>
 
575
<p>Unref the <em class="parameter"><code>allocator</code></em>
 
576
 after use it.</p>
 
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">
 
580
<colgroup>
 
581
<col width="150px" class="parameters_name">
 
582
<col class="parameters_description">
 
583
<col width="200px" class="parameters_annotations">
 
584
</colgroup>
 
585
<tbody>
 
586
<tr>
 
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>
 
590
</tr>
 
591
<tr>
 
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>
 
594
used. </p></td>
 
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>
 
596
</tr>
 
597
<tr>
 
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>
 
601
. </p></td>
 
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>
 
603
</tr>
 
604
</tbody>
 
605
</table></div>
 
606
</div>
 
607
</div>
 
608
<hr>
 
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>
 
619
.
 
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
 
623
of the buffer.</p>
 
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">
 
627
<colgroup>
 
628
<col width="150px" class="parameters_name">
 
629
<col class="parameters_description">
 
630
<col width="200px" class="parameters_annotations">
 
631
</colgroup>
 
632
<tbody>
 
633
<tr>
 
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>
 
637
</tr>
 
638
<tr>
 
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>
 
642
</tr>
 
643
</tbody>
 
644
</table></div>
 
645
</div>
 
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>
 
649
<p></p>
 
650
</div>
 
651
</div>
 
652
<hr>
 
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
 
659
negotiate fails.</p>
 
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">
 
663
<colgroup>
 
664
<col width="150px" class="parameters_name">
 
665
<col class="parameters_description">
 
666
<col width="200px" class="parameters_annotations">
 
667
</colgroup>
 
668
<tbody><tr>
 
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>
 
672
</tr></tbody>
 
673
</table></div>
 
674
</div>
 
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>
 
678
<p></p>
 
679
</div>
 
680
</div>
 
681
<hr>
 
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">
 
691
<colgroup>
 
692
<col width="150px" class="parameters_name">
 
693
<col class="parameters_description">
 
694
<col width="200px" class="parameters_annotations">
 
695
</colgroup>
 
696
<tbody>
 
697
<tr>
 
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>
 
701
</tr>
 
702
<tr>
 
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>
 
706
</tr>
 
707
</tbody>
 
708
</table></div>
 
709
</div>
 
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>
 
713
. </p>
 
714
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 
715
</div>
 
716
</div>
 
717
<hr>
 
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">
 
726
<colgroup>
 
727
<col width="150px" class="parameters_name">
 
728
<col class="parameters_description">
 
729
<col width="200px" class="parameters_annotations">
 
730
</colgroup>
 
731
<tbody><tr>
 
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>
 
735
</tr></tbody>
 
736
</table></div>
 
737
</div>
 
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>
 
742
</div>
 
743
</div>
 
744
<hr>
 
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">
 
753
<colgroup>
 
754
<col width="150px" class="parameters_name">
 
755
<col class="parameters_description">
 
756
<col width="200px" class="parameters_annotations">
 
757
</colgroup>
 
758
<tbody><tr>
 
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>
 
762
</tr></tbody>
 
763
</table></div>
 
764
</div>
 
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>
 
769
</div>
 
770
</div>
 
771
<hr>
 
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">
 
781
<colgroup>
 
782
<col width="150px" class="parameters_name">
 
783
<col class="parameters_description">
 
784
<col width="200px" class="parameters_annotations">
 
785
</colgroup>
 
786
<tbody>
 
787
<tr>
 
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>
 
791
</tr>
 
792
<tr>
 
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>
 
796
</tr>
 
797
</tbody>
 
798
</table></div>
 
799
</div>
 
800
</div>
 
801
<hr>
 
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>
 
811
.</p>
 
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">
 
815
<colgroup>
 
816
<col width="150px" class="parameters_name">
 
817
<col class="parameters_description">
 
818
<col width="200px" class="parameters_annotations">
 
819
</colgroup>
 
820
<tbody>
 
821
<tr>
 
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>
 
825
</tr>
 
826
<tr>
 
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>
 
831
</tr>
 
832
<tr>
 
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>
 
837
</tr>
 
838
</tbody>
 
839
</table></div>
 
840
</div>
 
841
</div>
 
842
<hr>
 
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">
 
853
<colgroup>
 
854
<col width="150px" class="parameters_name">
 
855
<col class="parameters_description">
 
856
<col width="200px" class="parameters_annotations">
 
857
</colgroup>
 
858
<tbody>
 
859
<tr>
 
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>
 
863
</tr>
 
864
<tr>
 
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>
 
868
</tr>
 
869
<tr>
 
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>
 
873
</tr>
 
874
</tbody>
 
875
</table></div>
 
876
</div>
 
877
</div>
 
878
<hr>
 
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>
 
883
</div>
 
884
<hr>
 
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>
 
889
</div>
 
890
<hr>
 
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
 
898
for the encoder.
 
899
Any previously set output state on <em class="parameter"><code>encoder</code></em>
 
900
 will be replaced by the newly
 
901
created one.</p>
 
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>
 
909
.</p>
 
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">
 
917
<colgroup>
 
918
<col width="150px" class="parameters_name">
 
919
<col class="parameters_description">
 
920
<col width="200px" class="parameters_annotations">
 
921
</colgroup>
 
922
<tbody>
 
923
<tr>
 
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>
 
927
</tr>
 
928
<tr>
 
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>
 
932
</tr>
 
933
<tr>
 
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>
 
936
. </p></td>
 
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>
 
938
</tr>
 
939
</tbody>
 
940
</table></div>
 
941
</div>
 
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>
 
946
</div>
 
947
</div>
 
948
<hr>
 
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">
 
957
<colgroup>
 
958
<col width="150px" class="parameters_name">
 
959
<col class="parameters_description">
 
960
<col width="200px" class="parameters_annotations">
 
961
</colgroup>
 
962
<tbody><tr>
 
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>
 
966
</tr></tbody>
 
967
</table></div>
 
968
</div>
 
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>
 
973
</div>
 
974
</div>
 
975
<hr>
 
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>
 
984
 == NULL)
 
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">
 
990
<colgroup>
 
991
<col width="150px" class="parameters_name">
 
992
<col class="parameters_description">
 
993
<col width="200px" class="parameters_annotations">
 
994
</colgroup>
 
995
<tbody>
 
996
<tr>
 
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>
 
1000
</tr>
 
1001
<tr>
 
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>
 
1005
</tr>
 
1006
<tr>
 
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>
 
1010
</tr>
 
1011
</tbody>
 
1012
</table></div>
 
1013
</div>
 
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>
 
1017
<p></p>
 
1018
</div>
 
1019
</div>
 
1020
<hr>
 
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>
 
1031
<p>MT safe.</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">
 
1035
<colgroup>
 
1036
<col width="150px" class="parameters_name">
 
1037
<col class="parameters_description">
 
1038
<col width="200px" class="parameters_annotations">
 
1039
</colgroup>
 
1040
<tbody>
 
1041
<tr>
 
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>
 
1045
</tr>
 
1046
<tr>
 
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>
 
1050
</tr>
 
1051
<tr>
 
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>
 
1055
</tr>
 
1056
</tbody>
 
1057
</table></div>
 
1058
</div>
 
1059
</div>
 
1060
</div>
 
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
 
1066
</pre>
 
1067
<p>Returned when the event/buffer should be dropped.</p>
 
1068
</div>
 
1069
<hr>
 
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
 
1073
</pre>
 
1074
<p>Returned while parsing to indicate more data is needed.</p>
 
1075
</div>
 
1076
<hr>
 
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"
 
1080
</pre>
 
1081
<p>The name of the templates for the sink pad.</p>
 
1082
</div>
 
1083
<hr>
 
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"
 
1087
</pre>
 
1088
<p>The name of the templates for the source pad.</p>
336
1089
</div>
337
1090
<hr>
338
1091
<div class="refsect2">
340
1093
<pre class="programlisting">struct GstVideoEncoder {
341
1094
};
342
1095
</pre>
343
 
<p>
344
 
The opaque <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> data structure.
345
 
</p>
 
1096
<p>The opaque <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> data structure.</p>
346
1097
</div>
347
1098
<hr>
348
1099
<div class="refsect2">
389
1140
  gboolean      (*flush)              (GstVideoEncoder *encoder);
390
1141
};
391
1142
</pre>
392
 
<p>
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.
396
 
</p>
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>
 
1146
 
 
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">
398
1152
<colgroup>
399
 
<col align="left" valign="top">
400
 
<col>
 
1153
<col width="300px" class="struct_members_name">
 
1154
<col class="struct_members_description">
 
1155
<col width="200px" class="struct_members_annotations">
401
1156
</colgroup>
402
1157
<tbody>
403
1158
<tr>
404
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.open"></a>open</code></em> ()</span></p></td>
405
 
<td>Optional.
 
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>
408
1164
</tr>
409
1165
<tr>
410
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.close"></a>close</code></em> ()</span></p></td>
411
 
<td>Optional.
 
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>
414
1171
</tr>
415
1172
<tr>
416
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.start"></a>start</code></em> ()</span></p></td>
417
 
<td>Optional.
 
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>
420
1178
</tr>
421
1179
<tr>
422
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.stop"></a>stop</code></em> ()</span></p></td>
423
 
<td>Optional.
 
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>
426
1185
</tr>
427
1186
<tr>
428
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.set-format"></a>set_format</code></em> ()</span></p></td>
429
 
<td>Optional.
 
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>
433
 
</tr>
434
 
<tr>
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>
437
 
</tr>
438
 
<tr>
439
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.reset"></a>reset</code></em> ()</span></p></td>
440
 
<td>Optional.
 
1191
set according to provided caps.</p></td>
 
1192
<td class="struct_member_annotations"> </td>
 
1193
</tr>
 
1194
<tr>
 
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>
 
1198
</tr>
 
1199
<tr>
 
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.
442
 
Deprecated.</td>
 
1203
Deprecated.</p></td>
 
1204
<td class="struct_member_annotations"> </td>
443
1205
</tr>
444
1206
<tr>
445
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.finish"></a>finish</code></em> ()</span></p></td>
446
 
<td>Optional.
 
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>
449
1212
</tr>
450
1213
<tr>
451
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.pre-push"></a>pre_push</code></em> ()</span></p></td>
452
 
<td>Optional.
 
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>
456
1220
</tr>
457
1221
<tr>
458
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.getcaps"></a>getcaps</code></em> ()</span></p></td>
459
 
<td>Optional.
 
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>
464
1229
</tr>
465
1230
<tr>
466
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.sink-event"></a>sink_event</code></em> ()</span></p></td>
467
 
<td>Optional.
 
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>
473
1239
</tr>
474
1240
<tr>
475
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.src-event"></a>src_event</code></em> ()</span></p></td>
476
 
<td>Optional.
 
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>
482
1249
</tr>
483
1250
<tr>
484
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.negotiate"></a>negotiate</code></em> ()</span></p></td>
485
 
<td>Optional.
 
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>
489
1257
</tr>
490
1258
<tr>
491
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.decide-allocation"></a>decide_allocation</code></em> ()</span></p></td>
492
 
<td>Optional.
 
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>
498
1267
</tr>
499
1268
<tr>
500
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.propose-allocation"></a>propose_allocation</code></em> ()</span></p></td>
501
 
<td>Optional.
 
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>
505
1275
</tr>
506
1276
<tr>
507
 
<td><p><span class="term"><em class="structfield"><code><a name="GstVideoEncoderClass.flush"></a>flush</code></em> ()</span></p></td>
508
 
<td>Optional.
 
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>
511
 
</tr>
512
 
</tbody>
513
 
</table></div>
514
 
</div>
515
 
<hr>
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>
521
 
<p>
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>.
524
 
</p>
525
 
<div class="variablelist"><table border="0" class="variablelist">
526
 
<colgroup>
527
 
<col align="left" valign="top">
528
 
<col>
529
 
</colgroup>
530
 
<tbody>
531
 
<tr>
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>
534
 
</td>
535
 
</tr>
536
 
<tr>
537
 
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
538
 
<td>size of the buffer</td>
539
 
</tr>
540
 
<tr>
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>
543
 
</td>
544
 
</tr>
545
 
</tbody>
546
 
</table></div>
547
 
</div>
548
 
<hr>
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>
555
 
<p>
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.
559
 
</p>
560
 
<p>
561
 
The buffer allocated here is owned by the frame and you should only
562
 
keep references to the frame, not the buffer.
563
 
</p>
564
 
<div class="variablelist"><table border="0" class="variablelist">
565
 
<colgroup>
566
 
<col align="left" valign="top">
567
 
<col>
568
 
</colgroup>
569
 
<tbody>
570
 
<tr>
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>
573
 
</td>
574
 
</tr>
575
 
<tr>
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>
578
 
</td>
579
 
</tr>
580
 
<tr>
581
 
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
582
 
<td>size of the buffer</td>
583
 
</tr>
584
 
<tr>
585
 
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
586
 
<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>
588
 
</tr>
589
 
</tbody>
590
 
</table></div>
591
 
</div>
592
 
<hr>
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>
598
 
<p>
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>.
601
 
</p>
602
 
<p>
603
 
Unref the <em class="parameter"><code>allocator</code></em> after use it.
604
 
</p>
605
 
<div class="variablelist"><table border="0" class="variablelist">
606
 
<colgroup>
607
 
<col align="left" valign="top">
608
 
<col>
609
 
</colgroup>
610
 
<tbody>
611
 
<tr>
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>
614
 
</td>
615
 
</tr>
616
 
<tr>
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>
620
 
</td>
621
 
</tr>
622
 
<tr>
623
 
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
624
 
<td>the
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>
626
 
</td>
627
 
</tr>
628
 
</tbody>
629
 
</table></div>
630
 
</div>
631
 
<hr>
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>
636
 
<p>
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.
642
 
</p>
643
 
<p>
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
646
 
of the buffer.
647
 
</p>
648
 
<div class="variablelist"><table border="0" class="variablelist">
649
 
<colgroup>
650
 
<col align="left" valign="top">
651
 
<col>
652
 
</colgroup>
653
 
<tbody>
654
 
<tr>
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>
657
 
</td>
658
 
</tr>
659
 
<tr>
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>
662
 
</td>
663
 
</tr>
664
 
<tr>
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>
667
 
</tr>
668
 
</tbody>
669
 
</table></div>
670
 
</div>
671
 
<hr>
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>
675
 
<p>
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
678
 
negotiate fails.
679
 
</p>
680
 
<div class="variablelist"><table border="0" class="variablelist">
681
 
<colgroup>
682
 
<col align="left" valign="top">
683
 
<col>
684
 
</colgroup>
685
 
<tbody>
686
 
<tr>
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>
689
 
</td>
690
 
</tr>
691
 
<tr>
692
 
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
693
 
<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>
695
 
</tr>
696
 
</tbody>
697
 
</table></div>
698
 
</div>
699
 
<hr>
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>
704
 
<p>
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>
706
 
</p>
707
 
<div class="variablelist"><table border="0" class="variablelist">
708
 
<colgroup>
709
 
<col align="left" valign="top">
710
 
<col>
711
 
</colgroup>
712
 
<tbody>
713
 
<tr>
714
 
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
715
 
<td>a <span class="type">GstVideoEnccoder</span>
716
 
</td>
717
 
</tr>
718
 
<tr>
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>
721
 
</tr>
722
 
<tr>
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>
725
 
</td>
726
 
</tr>
727
 
</tbody>
728
 
</table></div>
729
 
</div>
730
 
<hr>
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>
734
 
<p>
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>
736
 
</p>
737
 
<div class="variablelist"><table border="0" class="variablelist">
738
 
<colgroup>
739
 
<col align="left" valign="top">
740
 
<col>
741
 
</colgroup>
742
 
<tbody>
743
 
<tr>
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>
746
 
</td>
747
 
</tr>
748
 
<tr>
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>
751
 
</td>
752
 
</tr>
753
 
</tbody>
754
 
</table></div>
755
 
</div>
756
 
<hr>
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>
760
 
<p>
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>
762
 
</p>
763
 
<div class="variablelist"><table border="0" class="variablelist">
764
 
<colgroup>
765
 
<col align="left" valign="top">
766
 
<col>
767
 
</colgroup>
768
 
<tbody>
769
 
<tr>
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>
772
 
</td>
773
 
</tr>
774
 
<tr>
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>
777
 
</td>
778
 
</tr>
779
 
</tbody>
780
 
</table></div>
781
 
</div>
782
 
<hr>
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>
787
 
<p>
788
 
Set the codec headers to be sent downstream whenever requested.
789
 
</p>
790
 
<div class="variablelist"><table border="0" class="variablelist">
791
 
<colgroup>
792
 
<col align="left" valign="top">
793
 
<col>
794
 
</colgroup>
795
 
<tbody>
796
 
<tr>
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>
799
 
</td>
800
 
</tr>
801
 
<tr>
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>
804
 
</td>
805
 
</tr>
806
 
</tbody>
807
 
</table></div>
808
 
</div>
809
 
<hr>
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>
815
 
<p>
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>.
818
 
</p>
819
 
<div class="variablelist"><table border="0" class="variablelist">
820
 
<colgroup>
821
 
<col align="left" valign="top">
822
 
<col>
823
 
</colgroup>
824
 
<tbody>
825
 
<tr>
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>
828
 
</td>
829
 
</tr>
830
 
<tr>
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>
834
 
</td>
835
 
</tr>
836
 
<tr>
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>
840
 
</td>
841
 
</tr>
842
 
</tbody>
843
 
</table></div>
844
 
</div>
845
 
<hr>
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>
851
 
<p>
852
 
Informs baseclass of encoding latency.
853
 
</p>
854
 
<div class="variablelist"><table border="0" class="variablelist">
855
 
<colgroup>
856
 
<col align="left" valign="top">
857
 
<col>
858
 
</colgroup>
859
 
<tbody>
860
 
<tr>
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>
863
 
</td>
864
 
</tr>
865
 
<tr>
866
 
<td><p><span class="term"><em class="parameter"><code>min_latency</code></em> :</span></p></td>
867
 
<td>minimum latency</td>
868
 
</tr>
869
 
<tr>
870
 
<td><p><span class="term"><em class="parameter"><code>max_latency</code></em> :</span></p></td>
871
 
<td>maximum latency</td>
872
 
</tr>
873
 
</tbody>
874
 
</table></div>
875
 
</div>
876
 
<hr>
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>
880
 
</div>
881
 
<hr>
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>
885
 
</div>
886
 
<hr>
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>
892
 
<p>
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
894
 
for the encoder.
895
 
Any previously set output state on <em class="parameter"><code>encoder</code></em> will be replaced by the newly
896
 
created one.
897
 
</p>
898
 
<p>
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>.
902
 
</p>
903
 
<p>
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>.
907
 
</p>
908
 
<p>
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>.
911
 
</p>
912
 
<p>
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>.
915
 
</p>
916
 
<div class="variablelist"><table border="0" class="variablelist">
917
 
<colgroup>
918
 
<col align="left" valign="top">
919
 
<col>
920
 
</colgroup>
921
 
<tbody>
922
 
<tr>
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>
925
 
</td>
926
 
</tr>
927
 
<tr>
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>
930
 
</td>
931
 
</tr>
932
 
<tr>
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>
935
 
</td>
936
 
</tr>
937
 
<tr>
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>
940
 
</td>
941
 
</tr>
942
 
</tbody>
943
 
</table></div>
944
 
</div>
945
 
<hr>
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>
949
 
<p>
950
 
Get the current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>
951
 
</p>
952
 
<div class="variablelist"><table border="0" class="variablelist">
953
 
<colgroup>
954
 
<col align="left" valign="top">
955
 
<col>
956
 
</colgroup>
957
 
<tbody>
958
 
<tr>
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>
961
 
</td>
962
 
</tr>
963
 
<tr>
964
 
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
965
 
<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>
967
 
</td>
968
 
</tr>
969
 
</tbody>
970
 
</table></div>
971
 
</div>
972
 
<hr>
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>
978
 
<p>
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).
982
 
</p>
983
 
<div class="variablelist"><table border="0" class="variablelist">
984
 
<colgroup>
985
 
<col align="left" valign="top">
986
 
<col>
987
 
</colgroup>
988
 
<tbody>
989
 
<tr>
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>
992
 
</td>
993
 
</tr>
994
 
<tr>
995
 
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
996
 
<td>initial caps</td>
997
 
</tr>
998
 
<tr>
999
 
<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
1000
 
<td>filter caps</td>
1001
 
</tr>
1002
 
<tr>
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>
1005
 
</tr>
1006
 
</tbody>
1007
 
</table></div>
1008
 
</div>
1009
 
<hr>
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>
1015
 
<p>
1016
 
Adds tags to so-called pending tags, which will be processed
1017
 
before pushing out data downstream.
1018
 
</p>
1019
 
<p>
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.
1022
 
</p>
1023
 
<p>
1024
 
MT safe.
1025
 
</p>
1026
 
<div class="variablelist"><table border="0" class="variablelist">
1027
 
<colgroup>
1028
 
<col align="left" valign="top">
1029
 
<col>
1030
 
</colgroup>
1031
 
<tbody>
1032
 
<tr>
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>
1035
 
</td>
1036
 
</tr>
1037
 
<tr>
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>
1040
 
</tr>
1041
 
<tr>
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>
1044
 
</tr>
1045
 
</tbody>
1046
 
</table></div>
 
1280
pushing it downstream. Since: 1.2</p></td>
 
1281
<td class="struct_member_annotations"> </td>
 
1282
</tr>
 
1283
</tbody>
 
1284
</table></div>
 
1285
</div>
1047
1286
</div>
1048
1287
</div>
1049
1288
</div>
1050
1289
<div class="footer">
1051
1290
<hr>
1052
 
          Generated by GTK-Doc V1.19</div>
 
1291
          Generated by GTK-Doc V1.20</div>
1053
1292
</body>
1054
1293
</html>
 
 
b'\\ No newline at end of file'