2015-10-16 00:33:37 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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" / >
2018-02-10 23:37:42 +00:00
< meta name = "generator" content = "Doxygen 1.8.13" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2017-09-20 02:35:05 +00:00
< title > Shaka Packager SDK: shaka::Representation Class Reference< / title >
2015-10-16 00:33:37 +00:00
< 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 >
2015-10-16 00:33:37 +00:00
< 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;" >
2017-09-20 02:35:05 +00:00
< div id = "projectname" > Shaka Packager SDK
2015-10-16 00:33:37 +00:00
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
2018-02-10 23:37:42 +00:00
<!-- Generated by Doxygen 1.8.13 -->
2015-10-16 00:33:37 +00:00
< script type = "text/javascript" >
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
< / 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" >
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
< / script >
< div id = "main-nav" > < / div >
2015-10-16 00:33:37 +00:00
<!-- 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 >
2015-10-16 00:33:37 +00:00
<!-- 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 >
2016-05-24 23:43:16 +00:00
< li class = "navelem" > < a class = "el" href = "../../d8/daf/namespaceshaka.html" > shaka< / a > < / li > < li class = "navelem" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > < / li > < / ul >
2015-10-16 00:33:37 +00:00
< / div >
< / div > <!-- top -->
< div class = "header" >
< div class = "summary" >
2016-01-09 01:03:21 +00:00
< a href = "#pub-types" > Public Types< / a > |
2015-10-16 00:33:37 +00:00
< a href = "#pub-methods" > Public Member Functions< / a > |
2016-05-24 23:43:16 +00:00
< a href = "../../da/db2/classshaka_1_1Representation-members.html" > List of all members< / a > < / div >
2015-10-16 00:33:37 +00:00
< div class = "headertitle" >
2016-05-24 23:43:16 +00:00
< div class = "title" > shaka::Representation Class Reference< / div > < / div >
2015-10-16 00:33:37 +00:00
< / div > <!-- header -->
< div class = "contents" >
2018-02-10 23:37:42 +00:00
< p > < code > #include < < a class = "el" href = "../../d0/d2b/representation_8h_source.html" > representation.h< / a > > < / code > < / p >
2015-10-16 00:33:37 +00:00
< div class = "dynheader" >
2016-05-24 23:43:16 +00:00
Inheritance diagram for shaka::Representation:< / div >
2015-10-16 00:33:37 +00:00
< div class = "dyncontent" >
< div class = "center" >
2016-05-24 23:43:16 +00:00
< img src = "../../de/d52/classshaka_1_1Representation.png" usemap = "#shaka::Representation_map" alt = "" / >
< map id = "shaka::Representation_map" name = "shaka::Representation_map" >
< area href = "../../d0/d33/classshaka_1_1MockRepresentation.html" alt = "shaka::MockRepresentation" shape = "rect" coords = "0,56,166,80" / >
2015-10-16 00:33:37 +00:00
< / map >
< / div > < / div >
< table class = "memberdecls" >
2016-01-09 01:03:21 +00:00
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-types" > < / a >
Public Types< / h2 > < / td > < / tr >
2018-02-10 23:37:42 +00:00
< tr class = "memitem:ad0c3f0dfed3c9b1cf4993530ea652661" > < td class = "memItemLeft" align = "right" valign = "top" > < a id = "ad0c3f0dfed3c9b1cf4993530ea652661" > < / a > enum   < / td > < td class = "memItemRight" valign = "bottom" > < b > SuppressFlag< / b > { < b > kSuppressWidth< / b > = 1,
2016-01-09 01:03:21 +00:00
< b > kSuppressHeight< / b > = 2,
< b > kSuppressFrameRate< / b > = 4
}< / td > < / tr >
2016-05-24 23:43:16 +00:00
< tr class = "separator:ad0c3f0dfed3c9b1cf4993530ea652661" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2016-01-09 01:03:21 +00:00
< / table > < table class = "memberdecls" >
2015-10-16 00:33:37 +00:00
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-methods" > < / a >
Public Member Functions< / h2 > < / td > < / tr >
2016-05-24 23:43:16 +00:00
< tr class = "memitem:ae998409ae94f3ba12909a96e8f3f4f7e" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#ae998409ae94f3ba12909a96e8f3f4f7e" > Init< / a > ()< / td > < / tr >
< tr class = "separator:ae998409ae94f3ba12909a96e8f3f4f7e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a265d014093c9073b08505013886aaa8d" > < td class = "memItemLeft" align = "right" valign = "top" > virtual void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a265d014093c9073b08505013886aaa8d" > AddContentProtectionElement< / a > (const < a class = "el" href = "../../da/d43/structshaka_1_1ContentProtectionElement.html" > ContentProtectionElement< / a > & element)< / td > < / tr >
< tr class = "separator:a265d014093c9073b08505013886aaa8d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a3d17325903aa01f0c8ff7753d94ff330" > < td class = "memItemLeft" align = "right" valign = "top" > virtual void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a3d17325903aa01f0c8ff7753d94ff330" > UpdateContentProtectionPssh< / a > (const std::string & drm_uuid, const std::string & pssh)< / td > < / tr >
< tr class = "separator:a3d17325903aa01f0c8ff7753d94ff330" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-02-10 23:37:42 +00:00
< tr class = "memitem:aad95da6fec382d9b88ac45ba397529f0" > < td class = "memItemLeft" align = "right" valign = "top" > < a id = "aad95da6fec382d9b88ac45ba397529f0" > < / a >
2015-10-16 00:33:37 +00:00
class  < / td > < td class = "memItemRight" valign = "bottom" > < b > AdaptationSet< / b > < / td > < / tr >
< tr class = "separator:aad95da6fec382d9b88ac45ba397529f0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-02-10 23:37:42 +00:00
< tr class = "memitem:a8e27c18b522c08ee8300a92881d1db5d" > < td class = "memItemLeft" align = "right" valign = "top" > < a id = "a8e27c18b522c08ee8300a92881d1db5d" > < / a >
class  < / td > < td class = "memItemRight" valign = "bottom" > < b > RepresentationTest< / b > < / td > < / tr >
< tr class = "separator:a8e27c18b522c08ee8300a92881d1db5d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-08-16 00:35:22 +00:00
< tr class = "memitem:ae9b6536925d1107e3f22ad3130cb9fe9" > < td class = "memItemLeft" align = "right" valign = "top" > virtual void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#ae9b6536925d1107e3f22ad3130cb9fe9" > AddNewSegment< / a > (int64_t start_time, int64_t duration, uint64_t size)< / td > < / tr >
< tr class = "separator:ae9b6536925d1107e3f22ad3130cb9fe9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2016-05-24 23:43:16 +00:00
< tr class = "memitem:a11b32833166b9c4bea78cca2c6069d98" > < td class = "memItemLeft" align = "right" valign = "top" > virtual void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a11b32833166b9c4bea78cca2c6069d98" > SetSampleDuration< / a > (uint32_t sample_duration)< / td > < / tr >
< tr class = "separator:a11b32833166b9c4bea78cca2c6069d98" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-02-10 23:37:42 +00:00
< tr class = "memitem:a524291f7a968cb040fdce0ac1db5fbd3" > < td class = "memItemLeft" align = "right" valign = "top" > virtual const MediaInfo &   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a524291f7a968cb040fdce0ac1db5fbd3" > GetMediaInfo< / a > () const< / td > < / tr >
< tr class = "separator:a524291f7a968cb040fdce0ac1db5fbd3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2016-05-24 23:43:16 +00:00
< tr class = "memitem:a606afa5df6a90f49faad0ce427b7e960" > < td class = "memItemLeft" align = "right" valign = "top" > xml::scoped_xml_ptr< xmlNode >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a606afa5df6a90f49faad0ce427b7e960" > GetXml< / a > ()< / td > < / tr >
< tr class = "separator:a606afa5df6a90f49faad0ce427b7e960" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a473e45dbbf64e6ab6ed670ccedac84ed" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a473e45dbbf64e6ab6ed670ccedac84ed" > SuppressOnce< / a > (SuppressFlag flag)< / td > < / tr >
< tr class = "separator:a473e45dbbf64e6ab6ed670ccedac84ed" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-05-23 23:12:00 +00:00
< tr class = "memitem:aa93fd6cd965d3091a280debc93656d57" > < td class = "memItemLeft" align = "right" valign = "top" > < a id = "aa93fd6cd965d3091a280debc93656d57" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#aa93fd6cd965d3091a280debc93656d57" > SetPresentationTimeOffset< / a > (double presentation_time_offset)< / td > < / tr >
< tr class = "memdesc:aa93fd6cd965d3091a280debc93656d57" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Set in SegmentBase / SegmentTemplate. < br / > < / td > < / tr >
< tr class = "separator:aa93fd6cd965d3091a280debc93656d57" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a94fcb546e555637d33286515c1a44545" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a94fcb546e555637d33286515c1a44545" > GetStartAndEndTimestamps< / a > (double *start_timestamp_seconds, double *end_timestamp_seconds) const< / td > < / tr >
< tr class = "separator:a94fcb546e555637d33286515c1a44545" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-02-10 23:37:42 +00:00
< tr class = "memitem:a9cb9a38de5e57bff1feb81d2575ae1b2" > < td class = "memItemLeft" align = "right" valign = "top" > uint32_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a9cb9a38de5e57bff1feb81d2575ae1b2" > id< / a > () const< / td > < / tr >
< tr class = "separator:a9cb9a38de5e57bff1feb81d2575ae1b2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-05-23 23:12:00 +00:00
< tr class = "memitem:a149769f6d702726b3fda5b99af622673" > < td class = "memItemLeft" align = "right" valign = "top" > < a id = "a149769f6d702726b3fda5b99af622673" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < b > set_media_info< / b > (const MediaInfo & media_info)< / td > < / tr >
< tr class = "separator:a149769f6d702726b3fda5b99af622673" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2016-08-19 00:58:26 +00:00
< tr class = "memitem:a997138fcaa5deef5151a64a2d7ce6aeb" > < td class = "memItemLeft" align = "right" valign = "top" >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a997138fcaa5deef5151a64a2d7ce6aeb" > Representation< / a > (const MediaInfo & media_info, const < a class = "el" href = "../../d1/df3/structshaka_1_1MpdOptions.html" > MpdOptions< / a > & mpd_options, uint32_t representation_id, std::unique_ptr< < a class = "el" href = "../../df/d94/classshaka_1_1RepresentationStateChangeListener.html" > RepresentationStateChangeListener< / a > > state_change_listener)< / td > < / tr >
< tr class = "separator:a997138fcaa5deef5151a64a2d7ce6aeb" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-05-23 23:12:00 +00:00
< tr class = "memitem:a1854062c6c5a3a1e622fca4d47eb4903" > < td class = "memItemLeft" align = "right" valign = "top" >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a1854062c6c5a3a1e622fca4d47eb4903" > Representation< / a > (const < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > & representation, std::unique_ptr< < a class = "el" href = "../../df/d94/classshaka_1_1RepresentationStateChangeListener.html" > RepresentationStateChangeListener< / a > > state_change_listener)< / td > < / tr >
< tr class = "separator:a1854062c6c5a3a1e622fca4d47eb4903" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2015-10-16 00:33:37 +00:00
< / table >
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Detailed Description< / h2 >
2016-05-24 23:43:16 +00:00
< div class = "textblock" > < p > < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > class contains references to a single media stream, as well as optional ContentProtection elements for that stream. < / p >
2015-10-16 00:33:37 +00:00
2018-02-10 23:37:42 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d0/d2b/representation_8h_source.html#l00054" > 54< / a > of file < a class = "el" href = "../../d0/d2b/representation_8h_source.html" > representation.h< / a > .< / p >
2015-10-16 00:33:37 +00:00
< / div > < h2 class = "groupheader" > Constructor & Destructor Documentation< / h2 >
2018-02-10 23:37:42 +00:00
< a id = "a997138fcaa5deef5151a64a2d7ce6aeb" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a997138fcaa5deef5151a64a2d7ce6aeb" > ◆ < / a > < / span > Representation() < span class = "overload" > [1/2]< / span > < / h2 >
2015-10-16 00:33:37 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2016-05-24 23:43:16 +00:00
< td class = "memname" > shaka::Representation::Representation < / td >
2015-10-16 00:33:37 +00:00
< td > (< / td >
< td class = "paramtype" > const MediaInfo &   < / td >
< td class = "paramname" > < em > media_info< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2016-05-24 23:43:16 +00:00
< td class = "paramtype" > const < a class = "el" href = "../../d1/df3/structshaka_1_1MpdOptions.html" > MpdOptions< / a > &   < / td >
2015-10-16 00:33:37 +00:00
< td class = "paramname" > < em > mpd_options< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint32_t  < / td >
< td class = "paramname" > < em > representation_id< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2016-08-19 00:58:26 +00:00
< td class = "paramtype" > std::unique_ptr< < a class = "el" href = "../../df/d94/classshaka_1_1RepresentationStateChangeListener.html" > RepresentationStateChangeListener< / a > >   < / td >
2015-10-16 00:33:37 +00:00
< td class = "paramname" > < em > state_change_listener< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > protected< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2018-08-16 00:35:22 +00:00
< tr > < td class = "paramname" > media_info< / td > < td > is a MediaInfo containing information on the media. < em > media_info.bandwidth< / em > is required for 'static' profile. If < em > media_info.bandwidth< / em > is not present in 'dynamic' profile, this tries to estimate it using the info passed to < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#ae9b6536925d1107e3f22ad3130cb9fe9" > AddNewSegment()< / a > . < / td > < / tr >
2015-10-16 00:33:37 +00:00
< tr > < td class = "paramname" > mpd_options< / td > < td > is options for the entire MPD. < / td > < / tr >
< tr > < td class = "paramname" > representation_id< / td > < td > is the numeric ID for the < Representation> . < / td > < / tr >
< tr > < td class = "paramname" > state_change_listener< / td > < td > is an event handler for state changes to the representation. If null, no event handler registered. < / td > < / tr >
< / table >
< / dd >
< / dl >
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00085" > 85< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2018-02-10 23:37:42 +00:00
< / div >
< / div >
2018-05-23 23:12:00 +00:00
< a id = "a1854062c6c5a3a1e622fca4d47eb4903" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a1854062c6c5a3a1e622fca4d47eb4903" > ◆ < / a > < / span > Representation() < span class = "overload" > [2/2]< / span > < / h2 >
2018-02-10 23:37:42 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > shaka::Representation::Representation < / td >
< td > (< / td >
< td class = "paramtype" > const < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > &   < / td >
< td class = "paramname" > < em > representation< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > std::unique_ptr< < a class = "el" href = "../../df/d94/classshaka_1_1RepresentationStateChangeListener.html" > RepresentationStateChangeListener< / a > >   < / td >
< td class = "paramname" > < em > state_change_listener< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > protected< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > representation< / td > < td > points to the original < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > to be cloned. < / td > < / tr >
< tr > < td class = "paramname" > state_change_listener< / td > < td > is an event handler for state changes to the representation. If null, no event handler registered. < / td > < / tr >
< / table >
< / dd >
< / dl >
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00100" > 100< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2015-10-16 00:33:37 +00:00
< / div >
< / div >
< h2 class = "groupheader" > Member Function Documentation< / h2 >
2018-02-10 23:37:42 +00:00
< a id = "a265d014093c9073b08505013886aaa8d" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a265d014093c9073b08505013886aaa8d" > ◆ < / a > < / span > AddContentProtectionElement()< / h2 >
2015-10-16 00:33:37 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2016-05-24 23:43:16 +00:00
< td class = "memname" > void shaka::Representation::AddContentProtectionElement < / td >
2015-10-16 00:33:37 +00:00
< td > (< / td >
2016-05-24 23:43:16 +00:00
< td class = "paramtype" > const < a class = "el" href = "../../da/d43/structshaka_1_1ContentProtectionElement.html" > ContentProtectionElement< / a > &   < / td >
2015-10-16 00:33:37 +00:00
< td class = "paramname" > < em > element< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-02-10 23:37:42 +00:00
< p > Add a ContenProtection element to the representation. < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > does not add < ContentProtection> elements automatically to itself even if < em > media_info< / em > passed to < a class = "el" href = "../../d8/d8e/classshaka_1_1AdaptationSet.html#a124e3c1ba5e3209f3214a556ecae28c3" > AdaptationSet::AddRepresentation()< / a > has < em > media_info.protected_content< / em > populated. This is because some MPDs should have the elements at < a class = "el" href = "../../d8/d8e/classshaka_1_1AdaptationSet.html" > AdaptationSet< / a > level and some at < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > level. < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
2015-10-16 00:33:37 +00:00
< table class = "params" >
< tr > < td class = "paramname" > element< / td > < td > contains the ContentProtection element contents. If < em > element< / em > has {value, schemeIdUri} set and has {“value”, “schemeIdUri”} as key for < em > additional_attributes< / em > , then the former is used. < / td > < / tr >
< / table >
< / dd >
< / dl >
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00159" > 159< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2015-10-16 00:33:37 +00:00
< / div >
< / div >
2018-08-16 00:35:22 +00:00
< a id = "ae9b6536925d1107e3f22ad3130cb9fe9" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ae9b6536925d1107e3f22ad3130cb9fe9" > ◆ < / a > < / span > AddNewSegment()< / h2 >
2018-02-10 23:37:42 +00:00
2015-10-16 00:33:37 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2016-05-24 23:43:16 +00:00
< td class = "memname" > void shaka::Representation::AddNewSegment < / td >
2015-10-16 00:33:37 +00:00
< td > (< / td >
2018-08-16 00:35:22 +00:00
< td class = "paramtype" > int64_t  < / td >
2015-10-16 00:33:37 +00:00
< td class = "paramname" > < em > start_time< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2018-08-16 00:35:22 +00:00
< td class = "paramtype" > int64_t  < / td >
2015-10-16 00:33:37 +00:00
< td class = "paramname" > < em > duration< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint64_t  < / td >
< td class = "paramname" > < em > size< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-02-10 23:37:42 +00:00
< p > Add a media (sub)segment to the representation. AdaptationSetsubsegmentAlignment,segmentAlignment} cannot be set if this is not called for all Representations. < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
2015-10-16 00:33:37 +00:00
< table class = "params" >
< tr > < td class = "paramname" > start_time< / td > < td > is the start time for the (sub)segment, in units of the stream's time scale. < / td > < / tr >
< tr > < td class = "paramname" > duration< / td > < td > is the duration of the segment, in units of the stream's time scale. < / td > < / tr >
< tr > < td class = "paramname" > size< / td > < td > of the segment in bytes. < / td > < / tr >
< / table >
< / dd >
< / dl >
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00171" > 171< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2018-02-10 23:37:42 +00:00
< / div >
< / div >
2018-05-23 23:12:00 +00:00
< a id = "a524291f7a968cb040fdce0ac1db5fbd3" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a524291f7a968cb040fdce0ac1db5fbd3" > ◆ < / a > < / span > GetMediaInfo()< / h2 >
2018-02-10 23:37:42 +00:00
< div class = "memitem" >
< div class = "memproto" >
2018-05-23 23:12:00 +00:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
2018-02-10 23:37:42 +00:00
< table class = "memname" >
< tr >
2018-05-23 23:12:00 +00:00
< td class = "memname" > const MediaInfo & shaka::Representation::GetMediaInfo < / td >
2018-02-10 23:37:42 +00:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
2018-05-23 23:12:00 +00:00
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
2018-02-10 23:37:42 +00:00
< / div > < div class = "memdoc" >
2018-05-23 23:12:00 +00:00
< dl class = "section return" > < dt > Returns< / dt > < dd > MediaInfo for the < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > . < / dd > < / dl >
2018-02-10 23:37:42 +00:00
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00211" > 211< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2015-10-16 00:33:37 +00:00
< / div >
< / div >
2018-05-23 23:12:00 +00:00
< a id = "a94fcb546e555637d33286515c1a44545" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a94fcb546e555637d33286515c1a44545" > ◆ < / a > < / span > GetStartAndEndTimestamps()< / h2 >
2018-02-10 23:37:42 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2018-05-23 23:12:00 +00:00
< td class = "memname" > bool shaka::Representation::GetStartAndEndTimestamps < / td >
2018-02-10 23:37:42 +00:00
< td > (< / td >
< td class = "paramtype" > double *  < / td >
2018-05-23 23:12:00 +00:00
< td class = "paramname" > < em > start_timestamp_seconds< / em > , < / td >
2018-02-10 23:37:42 +00:00
< / tr >
< tr >
2018-05-23 23:12:00 +00:00
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > double *  < / td >
< td class = "paramname" > < em > end_timestamp_seconds< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > const< / td >
2018-02-10 23:37:42 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-05-23 23:12:00 +00:00
< p > Gets the start and end timestamps in seconds. < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > start_timestamp_seconds< / td > < td > contains the returned start timestamp in seconds on success. It can be nullptr, which means that start timestamp does not need to be returned. < / td > < / tr >
< tr > < td class = "paramname" > end_timestamp_seconds< / td > < td > contains the returned end timestamp in seconds on success. It can be nullptr, which means that end timestamp does not need to be returned. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > true if successful, false otherwise. < / dd > < / dl >
2018-02-10 23:37:42 +00:00
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00296" > 296< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2018-02-10 23:37:42 +00:00
< / div >
< / div >
< a id = "a606afa5df6a90f49faad0ce427b7e960" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a606afa5df6a90f49faad0ce427b7e960" > ◆ < / a > < / span > GetXml()< / h2 >
2015-10-16 00:33:37 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2016-05-24 23:43:16 +00:00
< td class = "memname" > xml::scoped_xml_ptr< xmlNode > shaka::Representation::GetXml < / td >
2015-10-16 00:33:37 +00:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "section return" > < dt > Returns< / dt > < dd > Copy of < Representation> . < / dd > < / dl >
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00221" > 221< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2015-10-16 00:33:37 +00:00
< / div >
< / div >
2018-02-10 23:37:42 +00:00
< a id = "a9cb9a38de5e57bff1feb81d2575ae1b2" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a9cb9a38de5e57bff1feb81d2575ae1b2" > ◆ < / a > < / span > id()< / h2 >
2015-10-16 00:33:37 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2016-05-24 23:43:16 +00:00
< td class = "memname" > uint32_t shaka::Representation::id < / td >
2015-10-16 00:33:37 +00:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "section return" > < dt > Returns< / dt > < dd > ID number for < Representation> . < / dd > < / dl >
2018-05-23 23:12:00 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d0/d2b/representation_8h_source.html#l00146" > 146< / a > of file < a class = "el" href = "../../d0/d2b/representation_8h_source.html" > representation.h< / a > .< / p >
2015-10-16 00:33:37 +00:00
< / div >
< / div >
2018-02-10 23:37:42 +00:00
< a id = "ae998409ae94f3ba12909a96e8f3f4f7e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ae998409ae94f3ba12909a96e8f3f4f7e" > ◆ < / a > < / span > Init()< / h2 >
2015-10-16 00:33:37 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2016-05-24 23:43:16 +00:00
< td class = "memname" > bool shaka::Representation::Init < / td >
2015-10-16 00:33:37 +00:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-02-10 23:37:42 +00:00
< p > Tries to initialize the instance. If this does not succeed, the instance should not be used. < / p > < dl class = "section return" > < dt > Returns< / dt > < dd > true on success, false otherwise. < / dd > < / dl >
2015-10-16 00:33:37 +00:00
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00117" > 117< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2015-10-16 00:33:37 +00:00
< / div >
< / div >
2018-02-10 23:37:42 +00:00
< a id = "a11b32833166b9c4bea78cca2c6069d98" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a11b32833166b9c4bea78cca2c6069d98" > ◆ < / a > < / span > SetSampleDuration()< / h2 >
2015-10-16 00:33:37 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2016-05-24 23:43:16 +00:00
< td class = "memname" > void shaka::Representation::SetSampleDuration < / td >
2015-10-16 00:33:37 +00:00
< td > (< / td >
< td class = "paramtype" > uint32_t  < / td >
< td class = "paramname" > < em > sample_duration< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-02-10 23:37:42 +00:00
< p > Set the sample duration of this < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > . Sample duration is not available right away especially for live. This allows setting the sample duration after the < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html" > Representation< / a > has been initialized. < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
2015-10-16 00:33:37 +00:00
< table class = "params" >
< tr > < td class = "paramname" > sample_duration< / td > < td > is the duration of a sample. < / td > < / tr >
< / table >
< / dd >
< / dl >
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00196" > 196< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2016-01-09 01:03:21 +00:00
< / div >
< / div >
2018-02-10 23:37:42 +00:00
< a id = "a473e45dbbf64e6ab6ed670ccedac84ed" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a473e45dbbf64e6ab6ed670ccedac84ed" > ◆ < / a > < / span > SuppressOnce()< / h2 >
2016-01-09 01:03:21 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2016-05-24 23:43:16 +00:00
< td class = "memname" > void shaka::Representation::SuppressOnce < / td >
2016-01-09 01:03:21 +00:00
< td > (< / td >
< td class = "paramtype" > SuppressFlag  < / td >
< td class = "paramname" > < em > flag< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2016-05-24 23:43:16 +00:00
< p > By calling this methods, the next time < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a606afa5df6a90f49faad0ce427b7e960" > GetXml()< / a > is called, the corresponding attributes will not be set. For example, if SuppressOnce(kSuppressWidth) is called, then < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a606afa5df6a90f49faad0ce427b7e960" > GetXml()< / a > will return a < Representation> element without a attribute. Note that it only applies to the next call to < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a606afa5df6a90f49faad0ce427b7e960" > GetXml()< / a > , calling < a class = "el" href = "../../de/d52/classshaka_1_1Representation.html#a606afa5df6a90f49faad0ce427b7e960" > GetXml()< / a > again without calling this methods will return a < Representation> element with the attribute. This may be called multiple times to set different (or the same) flags. < / p >
2016-01-09 01:03:21 +00:00
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00284" > 284< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2015-10-16 00:33:37 +00:00
< / div >
< / div >
2018-02-10 23:37:42 +00:00
< a id = "a3d17325903aa01f0c8ff7753d94ff330" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a3d17325903aa01f0c8ff7753d94ff330" > ◆ < / a > < / span > UpdateContentProtectionPssh()< / h2 >
2015-10-16 00:33:37 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2016-05-24 23:43:16 +00:00
< td class = "memname" > void shaka::Representation::UpdateContentProtectionPssh < / td >
2015-10-16 00:33:37 +00:00
< td > (< / td >
< td class = "paramtype" > const std::string &   < / td >
< td class = "paramname" > < em > drm_uuid< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const std::string &   < / td >
< td class = "paramname" > < em > pssh< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-02-10 23:37:42 +00:00
< p > Update the 'cenc:pssh' element for < em > drm_uuid< / em > ContentProtection element. If the element does not exist, this will add one. < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
2015-10-16 00:33:37 +00:00
< table class = "params" >
< tr > < td class = "paramname" > drm_uuid< / td > < td > is the UUID of the DRM for encryption. < / td > < / tr >
< tr > < td class = "paramname" > pssh< / td > < td > is the content of < cenc:pssh> element. Note that DASH IF IOP mentions that this should be base64 encoded string of the whole pssh box. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section attention" > < dt > Attention< / dt > < dd > This might get removed once DASH IF IOP specification makes a a clear guideline on how to handle key rotation. Also to get this working with shaka-player, this method < em > DOES NOT< / em > update the PSSH element. Instead, it removes the element regardless of the content of < em > pssh< / em > . < / dd > < / dl >
2020-01-22 00:59:16 +00:00
< p class = "definition" > Definition at line < a class = "el" href = "../../d7/d94/representation_8cc_source.html#l00165" > 165< / a > of file < a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > .< / p >
2015-10-16 00:33:37 +00:00
< / div >
< / div >
< hr / > The documentation for this class was generated from the following files:< ul >
2018-02-10 23:37:42 +00:00
< li > packager/mpd/base/< a class = "el" href = "../../d0/d2b/representation_8h_source.html" > representation.h< / a > < / li >
< li > packager/mpd/base/< a class = "el" href = "../../d7/d94/representation_8cc_source.html" > representation.cc< / a > < / li >
2015-10-16 00:33:37 +00:00
< / ul >
< / div > <!-- contents -->
<!-- start footer part -->
< hr class = "footer" / > < address class = "footer" > < small >
2020-01-22 00:59:16 +00:00
Generated on Tue Jan 21 2020 16:58:51 for Shaka Packager SDK by   < a href = "http://www.doxygen.org/index.html" >
2015-10-16 00:33:37 +00:00
< img class = "footer" src = "../../doxygen.png" alt = "doxygen" / >
2018-02-10 23:37:42 +00:00
< / a > 1.8.13
2015-10-16 00:33:37 +00:00
< / small > < / address >
< / body >
< / html >