<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstProtectionMeta: GStreamer 1.0 Core Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstPreset.html" title="GstPreset">
<link rel="next" href="GstQuery.html" title="GstQuery">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#gstreamer-GstProtectionMeta.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GstPreset.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GstQuery.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gstreamer-GstProtectionMeta"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gstreamer-GstProtectionMeta.top_of_page"></a>GstProtectionMeta</span></h2>
<p>GstProtectionMeta — Functions and classes to support encrypted streams.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gstreamer-GstProtectionMeta.functions"></a><h2>Functions</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="gstreamer-GstProtectionMeta.html#GstProtectionMeta" title="struct GstProtectionMeta"><span class="returnvalue">GstProtectionMeta</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstProtectionMeta.html#gst-buffer-add-protection-meta" title="gst_buffer_add_protection_meta ()">gst_buffer_add_protection_meta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstProtectionMeta.html#gst-buffer-get-protection-meta" title="gst_buffer_get_protection_meta()">gst_buffer_get_protection_meta</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstProtectionMeta.html#gst-protection-select-system" title="gst_protection_select_system ()">gst_protection_select_system</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gstreamer-GstProtectionMeta.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gstreamer-GstProtectionMeta.html#GstProtectionMeta" title="struct GstProtectionMeta">GstProtectionMeta</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gstreamer-GstProtectionMeta.html#GST-PROTECTION-SYSTEM-ID-CAPS-FIELD:CAPS" title="GST_PROTECTION_SYSTEM_ID_CAPS_FIELD">GST_PROTECTION_SYSTEM_ID_CAPS_FIELD</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gstreamer-GstProtectionMeta.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gst/gstprotection.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-GstProtectionMeta.description"></a><h2>Description</h2>
<p>The GstProtectionMeta class enables the information needed to decrypt a
<a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> to be attached to that buffer.</p>
<p>Typically, a demuxer element would attach GstProtectionMeta objects
to the buffers that it pushes downstream. The demuxer would parse the
protection information for a video/audio frame from its input data and use
this information to populate the <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> <em class="parameter"><code>info</code></em>
 field,
which is then encapsulated in a GstProtectionMeta object and attached to
the corresponding output buffer using the <a class="link" href="gstreamer-GstProtectionMeta.html#gst-buffer-add-protection-meta" title="gst_buffer_add_protection_meta ()"><code class="function">gst_buffer_add_protection_meta()</code></a>
function. The information in this attached GstProtectionMeta would be
used by a downstream decrypter element to recover the original unencrypted
frame.</p>
</div>
<div class="refsect1">
<a name="gstreamer-GstProtectionMeta.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gst-buffer-add-protection-meta"></a><h3>gst_buffer_add_protection_meta ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstProtectionMeta.html#GstProtectionMeta" title="struct GstProtectionMeta"><span class="returnvalue">GstProtectionMeta</span></a> *
gst_buffer_add_protection_meta (<em class="parameter"><code><a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                <em class="parameter"><code><a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *info</code></em>);</pre>
<p>Attaches protection metadata to a <a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a>.</p>
<div class="refsect3">
<a name="id-1.3.42.7.2.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
<td class="parameter_description"><p><a class="link" href="GstBuffer.html" title="GstBuffer"><span class="type">GstBuffer</span></a> holding an encrypted sample, to which protection
metadata should be added.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>info</p></td>
<td class="parameter_description"><p> a <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> holding cryptographic
information relating to the sample contained in <em class="parameter"><code>buffer</code></em>
. This
function takes ownership of <em class="parameter"><code>info</code></em>
. </p></td>
<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>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.42.7.2.6"></a><h4>Returns</h4>
<p> a pointer to the added <a class="link" href="gstreamer-GstProtectionMeta.html#GstProtectionMeta" title="struct GstProtectionMeta"><span class="type">GstProtectionMeta</span></a> if successful; <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
unsuccessful. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix03.html#api-index-1.6">1.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gst-buffer-get-protection-meta"></a><h3>gst_buffer_get_protection_meta()</h3>
<pre class="programlisting">#define             gst_buffer_get_protection_meta(b)</pre>
</div>
<hr>
<div class="refsect2">
<a name="gst-protection-select-system"></a><h3>gst_protection_select_system ()</h3>
<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gst_protection_select_system (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **system_identifiers</code></em>);</pre>
<p>Iterates the supplied list of UUIDs and checks the GstRegistry for
an element that supports one of the supplied UUIDs. If more than one
element matches, the system ID of the highest ranked element is selected.</p>
<div class="refsect3">
<a name="id-1.3.42.7.4.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>system_identifiers</p></td>
<td class="parameter_description"><p> A null terminated array of strings
that contains the UUID values of each protection system that is to be
checked. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.42.7.4.6"></a><h4>Returns</h4>
<p> One of the strings from <em class="parameter"><code>system_identifiers</code></em>
that
indicates the highest ranked element that implements the protection system
indicated by that system ID, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no element has been found. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix03.html#api-index-1.6">1.6</a></p>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-GstProtectionMeta.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GstProtectionMeta"></a><h3>struct GstProtectionMeta</h3>
<pre class="programlisting">struct GstProtectionMeta {
  GstMeta meta;

  GstStructure *info;
};
</pre>
<p>Metadata type that holds information about a sample from a protection-protected
track, including the information needed to decrypt it (if it is encrypted).</p>
<div class="refsect3">
<a name="id-1.3.42.8.2.5"></a><h4>Members</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="gstreamer-GstMeta.html#GstMeta" title="struct GstMeta"><span class="type">GstMeta</span></a> <em class="structfield"><code><a name="GstProtectionMeta.meta"></a>meta</code></em>;</p></td>
<td class="struct_member_description"><p>the parent <a class="link" href="gstreamer-GstMeta.html#GstMeta" title="struct GstMeta"><span class="type">GstMeta</span></a>.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *<em class="structfield"><code><a name="GstProtectionMeta.info"></a>info</code></em>;</p></td>
<td class="struct_member_description"><p>the cryptographic information needed to decrypt the sample.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix03.html#api-index-1.6">1.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GST-PROTECTION-SYSTEM-ID-CAPS-FIELD:CAPS"></a><h3>GST_PROTECTION_SYSTEM_ID_CAPS_FIELD</h3>
<pre class="programlisting">#define GST_PROTECTION_SYSTEM_ID_CAPS_FIELD "protection-system"
</pre>
<p>The field name in a GstCaps that is used to signal the UUID of the protection
system.</p>
<p class="since">Since: <a class="link" href="ix03.html#api-index-1.6">1.6</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>