<!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.79.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 class="informaltable" 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 class="informaltable" 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 class="informaltable" 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 class="informaltable" 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 class="informaltable" 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>