shaka-packager/docs/d5/db1/classshaka_1_1media_1_1Stre...

263 lines
19 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
2018-02-10 23:37:42 +00:00
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Shaka Packager SDK: shaka::media::StreamInfo Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
2018-02-10 23:37:42 +00:00
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
2018-02-10 23:37:42 +00:00
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Shaka Packager SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license-end */
</script>
2018-02-10 23:37:42 +00:00
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
2018-02-10 23:37:42 +00:00
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
2018-02-10 23:37:42 +00:00
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
2018-02-10 23:37:42 +00:00
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../d8/daf/namespaceshaka.html">shaka</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d5/db1/classshaka_1_1media_1_1StreamInfo.html">StreamInfo</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../dc/d06/classshaka_1_1media_1_1StreamInfo-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">shaka::media::StreamInfo Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Abstract class holds stream information.
<a href="../../d5/db1/classshaka_1_1media_1_1StreamInfo.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d8/daa/stream__info_8h_source.html">stream_info.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for shaka::media::StreamInfo:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d5/db1/classshaka_1_1media_1_1StreamInfo.png" usemap="#shaka::media::StreamInfo_map" alt=""/>
<map id="shaka::media::StreamInfo_map" name="shaka::media::StreamInfo_map">
<area href="../../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html" title="Holds audio stream information." alt="shaka::media::AudioStreamInfo" shape="rect" coords="0,56,183,80"/>
<area href="../../db/dab/classshaka_1_1media_1_1TextStreamInfo.html" alt="shaka::media::TextStreamInfo" shape="rect" coords="193,56,376,80"/>
<area href="../../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html" title="Holds video stream information." alt="shaka::media::VideoStreamInfo" shape="rect" coords="386,56,569,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:a4dd520edf7452a27afccd578a53c246f"><td class="memItemLeft" align="right" valign="top"><a id="a4dd520edf7452a27afccd578a53c246f"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>StreamInfo</b> (StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &amp;codec_string, const uint8_t *codec_config, size_t codec_config_size, const std::string &amp;language, bool is_encrypted)</td></tr>
<tr class="separator:a4dd520edf7452a27afccd578a53c246f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e5c5ade77b7bcf0b7822de568695dc8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/db1/classshaka_1_1media_1_1StreamInfo.html#a6e5c5ade77b7bcf0b7822de568695dc8">IsValidConfig</a> () const =0</td></tr>
<tr class="separator:a6e5c5ade77b7bcf0b7822de568695dc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:ab3628e7fdcfccd0dc530df4b0f6e83b8"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/db1/classshaka_1_1media_1_1StreamInfo.html#ab3628e7fdcfccd0dc530df4b0f6e83b8">ToString</a> () const</td></tr>
<tr class="separator:ab3628e7fdcfccd0dc530df4b0f6e83b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdd9b2df8ae1c11bb033c44eaba5e38d"><td class="memItemLeft" align="right" valign="top">virtual std::unique_ptr&lt; <a class="el" href="../../d5/db1/classshaka_1_1media_1_1StreamInfo.html">StreamInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/db1/classshaka_1_1media_1_1StreamInfo.html#afdd9b2df8ae1c11bb033c44eaba5e38d">Clone</a> () const =0</td></tr>
<tr class="separator:afdd9b2df8ae1c11bb033c44eaba5e38d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:a9835c6ef38897c5d44b510c65548ce05"><td class="memItemLeft" align="right" valign="top"><a id="a9835c6ef38897c5d44b510c65548ce05"></a>
StreamType&#160;</td><td class="memItemRight" valign="bottom"><b>stream_type</b> () const</td></tr>
<tr class="separator:a9835c6ef38897c5d44b510c65548ce05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7816dc6944476f469b9fc754b942d9c1"><td class="memItemLeft" align="right" valign="top"><a id="a7816dc6944476f469b9fc754b942d9c1"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>track_id</b> () const</td></tr>
<tr class="separator:a7816dc6944476f469b9fc754b942d9c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae85f78a0c703e022d11c00b7b72d6a07"><td class="memItemLeft" align="right" valign="top"><a id="ae85f78a0c703e022d11c00b7b72d6a07"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>time_scale</b> () const</td></tr>
<tr class="separator:ae85f78a0c703e022d11c00b7b72d6a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad104a3ded73699b2603186e82d0f6a58"><td class="memItemLeft" align="right" valign="top"><a id="ad104a3ded73699b2603186e82d0f6a58"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>duration</b> () const</td></tr>
<tr class="separator:ad104a3ded73699b2603186e82d0f6a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e59776f40d93a3fbf5d68a090243a9f"><td class="memItemLeft" align="right" valign="top"><a id="a0e59776f40d93a3fbf5d68a090243a9f"></a>
Codec&#160;</td><td class="memItemRight" valign="bottom"><b>codec</b> () const</td></tr>
<tr class="separator:a0e59776f40d93a3fbf5d68a090243a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af969cb3d31979d3468b84d1a0ba5e2f6"><td class="memItemLeft" align="right" valign="top"><a id="af969cb3d31979d3468b84d1a0ba5e2f6"></a>
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>codec_string</b> () const</td></tr>
<tr class="separator:af969cb3d31979d3468b84d1a0ba5e2f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a493a98b67db7efa91df80e08466d850e"><td class="memItemLeft" align="right" valign="top"><a id="a493a98b67db7efa91df80e08466d850e"></a>
const std::vector&lt; uint8_t &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>codec_config</b> () const</td></tr>
<tr class="separator:a493a98b67db7efa91df80e08466d850e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6e17af7698c28d9d3f8cba398d9c3c4"><td class="memItemLeft" align="right" valign="top"><a id="ac6e17af7698c28d9d3f8cba398d9c3c4"></a>
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>language</b> () const</td></tr>
<tr class="separator:ac6e17af7698c28d9d3f8cba398d9c3c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77602180c6ea6cd20deeb2947a184fb1"><td class="memItemLeft" align="right" valign="top"><a id="a77602180c6ea6cd20deeb2947a184fb1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_encrypted</b> () const</td></tr>
<tr class="separator:a77602180c6ea6cd20deeb2947a184fb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af80fd9e3f318adb43dc11e08a8498dff"><td class="memItemLeft" align="right" valign="top"><a id="af80fd9e3f318adb43dc11e08a8498dff"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_clear_lead</b> () const</td></tr>
<tr class="separator:af80fd9e3f318adb43dc11e08a8498dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc3e97f59b7f8006f1513a8c56c51395"><td class="memItemLeft" align="right" valign="top"><a id="afc3e97f59b7f8006f1513a8c56c51395"></a>
const <a class="el" href="../../d7/d34/structshaka_1_1media_1_1EncryptionConfig.html">EncryptionConfig</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>encryption_config</b> () const</td></tr>
<tr class="separator:afc3e97f59b7f8006f1513a8c56c51395"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7848cffb0b01bb4ff8f998a5eb732f4"><td class="memItemLeft" align="right" valign="top"><a id="ad7848cffb0b01bb4ff8f998a5eb732f4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_duration</b> (uint64_t duration)</td></tr>
<tr class="separator:ad7848cffb0b01bb4ff8f998a5eb732f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:a0744a0e813c8ad8c5df649a130794fb6"><td class="memItemLeft" align="right" valign="top"><a id="a0744a0e813c8ad8c5df649a130794fb6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_codec</b> (Codec codec)</td></tr>
<tr class="separator:a0744a0e813c8ad8c5df649a130794fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:aa54bb3e89db461517aec46d994bf972f"><td class="memItemLeft" align="right" valign="top"><a id="aa54bb3e89db461517aec46d994bf972f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_codec_config</b> (const std::vector&lt; uint8_t &gt; &amp;data)</td></tr>
<tr class="separator:aa54bb3e89db461517aec46d994bf972f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:a253c9f1d0cd2d58cd041a2b5fcd2eb93"><td class="memItemLeft" align="right" valign="top"><a id="a253c9f1d0cd2d58cd041a2b5fcd2eb93"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_codec_string</b> (const std::string &amp;codec_string)</td></tr>
<tr class="separator:a253c9f1d0cd2d58cd041a2b5fcd2eb93"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:aa939a8328421d629d778f8b149146911"><td class="memItemLeft" align="right" valign="top"><a id="aa939a8328421d629d778f8b149146911"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_language</b> (const std::string &amp;language)</td></tr>
<tr class="separator:aa939a8328421d629d778f8b149146911"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:a6b43537963de8997b570932f84ba08d0"><td class="memItemLeft" align="right" valign="top"><a id="a6b43537963de8997b570932f84ba08d0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_is_encrypted</b> (bool is_encrypted)</td></tr>
<tr class="separator:a6b43537963de8997b570932f84ba08d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:ac1642886c381844d411740414dfde36c"><td class="memItemLeft" align="right" valign="top"><a id="ac1642886c381844d411740414dfde36c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_has_clear_lead</b> (bool has_clear_lead)</td></tr>
<tr class="separator:ac1642886c381844d411740414dfde36c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2018-02-10 23:37:42 +00:00
<tr class="memitem:a0e302302c13350278e4dda8c4964e483"><td class="memItemLeft" align="right" valign="top"><a id="a0e302302c13350278e4dda8c4964e483"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_encryption_config</b> (const <a class="el" href="../../d7/d34/structshaka_1_1media_1_1EncryptionConfig.html">EncryptionConfig</a> &amp;encryption_config)</td></tr>
<tr class="separator:a0e302302c13350278e4dda8c4964e483"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract class holds stream information. </p>
<p class="definition">Definition at line <a class="el" href="../../d8/daa/stream__info_8h_source.html#l00065">65</a> of file <a class="el" href="../../d8/daa/stream__info_8h_source.html">stream_info.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
2018-02-10 23:37:42 +00:00
<a id="afdd9b2df8ae1c11bb033c44eaba5e38d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdd9b2df8ae1c11bb033c44eaba5e38d">&#9670;&nbsp;</a></span>Clone()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::unique_ptr&lt;<a class="el" href="../../d5/db1/classshaka_1_1media_1_1StreamInfo.html">StreamInfo</a>&gt; shaka::media::StreamInfo::Clone </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A new copy of this stream info. The copy will be of the same type as the original. This should be used when a copy is needed without explicitly knowing the stream info type. </dd></dl>
<p>Implemented in <a class="el" href="../../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html#a0d62499eaf37fe6df75f35beaebf71f1">shaka::media::VideoStreamInfo</a>, <a class="el" href="../../db/dab/classshaka_1_1media_1_1TextStreamInfo.html#aa8cfad62fa0186a4f82a8dc43ee1c96d">shaka::media::TextStreamInfo</a>, and <a class="el" href="../../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a306c5ebb4a42eced7d1a3deaad23c17b">shaka::media::AudioStreamInfo</a>.</p>
</div>
</div>
2018-02-10 23:37:42 +00:00
<a id="a6e5c5ade77b7bcf0b7822de568695dc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e5c5ade77b7bcf0b7822de568695dc8">&#9670;&nbsp;</a></span>IsValidConfig()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool shaka::media::StreamInfo::IsValidConfig </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if this object has appropriate configuration values, false otherwise. </dd></dl>
<p>Implemented in <a class="el" href="../../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html#a8978ca2bc2dd63c2e25e77cdcf676162">shaka::media::VideoStreamInfo</a>, <a class="el" href="../../db/dab/classshaka_1_1media_1_1TextStreamInfo.html#ab40aed17c046e639efde04a2075e25a8">shaka::media::TextStreamInfo</a>, and <a class="el" href="../../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a3c50d026e8deadac46741143d4b5ddb9">shaka::media::AudioStreamInfo</a>.</p>
</div>
</div>
2018-02-10 23:37:42 +00:00
<a id="ab3628e7fdcfccd0dc530df4b0f6e83b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3628e7fdcfccd0dc530df4b0f6e83b8">&#9670;&nbsp;</a></span>ToString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string shaka::media::StreamInfo::ToString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A human-readable string describing the stream info. </dd></dl>
<p>Reimplemented in <a class="el" href="../../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html#a9cac8e75d76f1192a48d1dcf61435537">shaka::media::VideoStreamInfo</a>, <a class="el" href="../../db/dab/classshaka_1_1media_1_1TextStreamInfo.html#a66a548f3c813e07a1d87b0e9b389efc0">shaka::media::TextStreamInfo</a>, and <a class="el" href="../../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a7f94e51abcf522ff70e2456a8c8595df">shaka::media::AudioStreamInfo</a>.</p>
<p class="definition">Definition at line <a class="el" href="../../de/dfd/stream__info_8cc_source.html#l00059">59</a> of file <a class="el" href="../../de/dfd/stream__info_8cc_source.html">stream_info.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>packager/media/base/<a class="el" href="../../d8/daa/stream__info_8h_source.html">stream_info.h</a></li>
<li>packager/media/base/<a class="el" href="../../de/dfd/stream__info_8cc_source.html">stream_info.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 10 2021 21:44:27 for Shaka Packager SDK by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>