<divclass="textblock"><p>Interface for publish/subscribe publisher class which notifies <aclass="el"href="../../d3/dfa/classedash__packager_1_1MpdBuilder.html"title="This class generates DASH MPDs (Media Presentation Descriptions). ">MpdBuilder</a> of media-related events. </p>
<p>Definition at line <aclass="el"href="../../d7/d15/mpd__notifier_8h_source.html#l00032">32</a> of file <aclass="el"href="../../d7/d15/mpd__notifier_8h_source.html">mpd_notifier.h</a>.</p>
</div><h2class="groupheader">Member Function Documentation</h2>
<p>Adds content protection information to the MPD. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">container_id</td><td>is the nummeric container ID obtained from calling <aclass="el"href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a09e6df8ea9ea8c260199449448d1ea62">NotifyNewContainer()</a>. </td></tr>
<tr><tdclass="paramname">content_protection_element</td><td>New ContentProtection element specification. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p>Implemented in <aclass="el"href="../../da/d49/classedash__packager_1_1DashIopMpdNotifier.html#aef43fd9875d24547d2434d142aeb9805">edash_packager::DashIopMpdNotifier</a>, and <aclass="el"href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#af67678f19e1ecb3c01de200bdc3f1256">edash_packager::SimpleMpdNotifier</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>The dash profile for this object. </dd></dl>
<p>Definition at line <aclass="el"href="../../d7/d15/mpd__notifier_8h_source.html#l00108">108</a> of file <aclass="el"href="../../d7/d15/mpd__notifier_8h_source.html">mpd_notifier.h</a>.</p>
<p>Call this method to force a flush. Implementations might not write out the MPD to a stream (file, stdout, etc.) when the MPD is updated, this forces a flush. </p>
<p>Implemented in <aclass="el"href="../../da/d49/classedash__packager_1_1DashIopMpdNotifier.html#a74080da948602a4deb88046e56eda79e">edash_packager::DashIopMpdNotifier</a>, and <aclass="el"href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a701f3e8f0260ce8300fb9e4b31558a8d">edash_packager::SimpleMpdNotifier</a>.</p>
<p>Initializes the notifier. For example, if this notifier uses a network for notification, then this would set up the connection with the remote host. </p>
<dlclass="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p>Implemented in <aclass="el"href="../../da/d49/classedash__packager_1_1DashIopMpdNotifier.html#ace93090275f0ef9b33cf62648f854690">edash_packager::DashIopMpdNotifier</a>, and <aclass="el"href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a8c0efff460547138724769b768ae6341">edash_packager::SimpleMpdNotifier</a>.</p>
<p>Notifiers <aclass="el"href="../../d3/dfa/classedash__packager_1_1MpdBuilder.html"title="This class generates DASH MPDs (Media Presentation Descriptions). ">MpdBuilder</a> that there is a new PSSH for the container. This may be called whenever the key has to change, e.g. key rotation. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">container_id</td><td>Container ID obtained from calling <aclass="el"href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a09e6df8ea9ea8c260199449448d1ea62">NotifyNewContainer()</a>. </td></tr>
<tr><tdclass="paramname">drm_uuid</td><td>is the UUID of the DRM for encryption. </td></tr>
<tr><tdclass="paramname">new_key_id</td><td>is the new key ID for the key. </td></tr>
<tr><tdclass="paramname">new_pssh</td><td>is the new pssh box (including the header). </td></tr>
</table>
</dd>
</dl>
<dlclass="section attention"><dt>Attention</dt><dd>This might change or get removed once DASH IF IOP specification writes a clear guideline on how to handle key rotation. </dd></dl>
<p>Implemented in <aclass="el"href="../../da/d49/classedash__packager_1_1DashIopMpdNotifier.html#a034390af4e3bde792a4479fead594085">edash_packager::DashIopMpdNotifier</a>, and <aclass="el"href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#adeb683f92d76d64c15ca7805b0de8db1">edash_packager::SimpleMpdNotifier</a>.</p>
<p>Notifies the <aclass="el"href="../../d3/dfa/classedash__packager_1_1MpdBuilder.html"title="This class generates DASH MPDs (Media Presentation Descriptions). ">MpdBuilder</a> that there is a new container along with <em>media_info</em>. Live may have multiple files (segments) but those should be notified via <aclass="el"href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a7bb9cce525d5a4f1076b8d58a7bd07ab">NotifyNewSegment()</a>. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir"></td><tdclass="paramname">media_info</td><td>is the MediaInfo that will be passed to <aclass="el"href="../../d3/dfa/classedash__packager_1_1MpdBuilder.html"title="This class generates DASH MPDs (Media Presentation Descriptions). ">MpdBuilder</a>. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">container_id</td><td>is the numeric ID of the container, possibly for <aclass="el"href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a7bb9cce525d5a4f1076b8d58a7bd07ab">NotifyNewSegment()</a> and <aclass="el"href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a56969f6d7c09e0aa131ba01d5c880773">AddContentProtectionElement()</a>. Only populated on success. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p>Implemented in <aclass="el"href="../../da/d49/classedash__packager_1_1DashIopMpdNotifier.html#a567d501580023d78299923993b8b2532">edash_packager::DashIopMpdNotifier</a>, and <aclass="el"href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a9de39430a54e3be7ff50476830728ce4">edash_packager::SimpleMpdNotifier</a>.</p>
<p>Notifies <aclass="el"href="../../d3/dfa/classedash__packager_1_1MpdBuilder.html"title="This class generates DASH MPDs (Media Presentation Descriptions). ">MpdBuilder</a> that there is a new segment ready. For live, this is usually a new segment, for VOD this is usually a subsegment. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">container_id</td><td>Container ID obtained from calling <aclass="el"href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a09e6df8ea9ea8c260199449448d1ea62">NotifyNewContainer()</a>. </td></tr>
<tr><tdclass="paramname">start_time</td><td>is the start time of the new segment, in units of the stream's time scale. </td></tr>
<tr><tdclass="paramname">duration</td><td>is the duration of the new segment, in units of the stream's time scale. </td></tr>
<tr><tdclass="paramname">size</td><td>is the new segment size in bytes. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p>Implemented in <aclass="el"href="../../da/d49/classedash__packager_1_1DashIopMpdNotifier.html#a61b590c4c9d5b61d3ec0a1335c7daaa5">edash_packager::DashIopMpdNotifier</a>, and <aclass="el"href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a847d0d659521910de341de8de8cadf75">edash_packager::SimpleMpdNotifier</a>.</p>
<p>Change the sample duration of container with <em>container_id</em>. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">container_id</td><td>Container ID obtained from calling <aclass="el"href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a09e6df8ea9ea8c260199449448d1ea62">NotifyNewContainer()</a>. </td></tr>
<tr><tdclass="paramname">sample_duration</td><td>is the duration of a sample in timescale of the media. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>true on success, false otherwise. This may fail if the container specified by <em>container_id</em> does not exist. </dd></dl>
<p>Implemented in <aclass="el"href="../../da/d49/classedash__packager_1_1DashIopMpdNotifier.html#ad4b7f7e7106ca200eebfdd2bf4a09a84">edash_packager::DashIopMpdNotifier</a>, and <aclass="el"href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a8931d4291590051f328171fc7ca69025">edash_packager::SimpleMpdNotifier</a>.</p>