Files
clapper/doc/clapper/class.Marker.html
Rafał Dzięgiel 17bb9fdb02 doc: Update
2024-03-19 22:36:43 +01:00

666 lines
20 KiB
HTML

<!--
SPDX-FileCopyrightText: Rafał Dzięgiel
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>Clapper.Marker</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:type" content="website"/>
<meta property="og:image:width" content="256"/>
<meta property="og:image:height" content="256"/>
<meta property="og:image:secure_url" content="clapper-logo.svg"/>
<meta property="og:image:alt" content="Clapper-0.0"/>
<meta property="og:title" content="Clapper.Marker"/>
<meta property="og:description" content="Reference for Clapper.Marker"/>
<meta name="twitter:title" content="Clapper.Marker"/>
<meta name="twitter:description" content="Reference for Clapper.Marker"/>
<meta name="twitter:card" content="summary"/>
<link rel="search" type="application/opensearchdescription+xml" title="Clapper" href="opensearch.xml">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="urlmap.js"></script>
<script src="fzy.js"></script>
<script src="search.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar devhelp-hidden">
<div class="section">
<img src="clapper-logo.svg" class="logo"/>
</div>
<div class="search section">
<form id="search-form" autocomplete="off">
<input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
</form>
</div>
<div class="section namespace">
<h3><a href="index.html">Clapper</a></h3>
<p>API Version: 0.0</p>
<p>Library Version: 0.5.2</p>
</div>
<div class="section">
<h5>Type</h5>
<div class="links">
<a class="current" href="class.Marker.html#description">Marker</a>
</div>
</div>
<div class="section">
<h5>Constructors</h5>
<div class="links">
<a class="ctor" href="ctor.Marker.new.html">new</a>
</div>
</div>
<div class="section">
<h5>Instance methods</h5>
<div class="links">
<a class="method" href="method.Marker.get_end.html">get_end</a>
<a class="method" href="method.Marker.get_marker_type.html">get_marker_type</a>
<a class="method" href="method.Marker.get_start.html">get_start</a>
<a class="method" href="method.Marker.get_title.html">get_title</a>
</div>
</div>
<div class="section">
<h5>Properties</h5>
<div class="links">
<a class="property" href="property.Marker.end.html">end</a>
<a class="property" href="property.Marker.marker-type.html">marker-type</a>
<a class="property" href="property.Marker.start.html">start</a>
<a class="property" href="property.Marker.title.html">title</a>
</div>
</div>
<div class="section generator">
<p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2023.3</p>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h3>Class</h3>
<h1 aria-label="Name"><a href="index.html">Clapper</a><span class="sep" role="presentation"></span>Marker</h1>
</header>
<section>
<summary>
<div class="docblock">
<p></p>
</div>
<div class="toggle-wrapper">
<h4 id="description" style="display:flex;">
Description
<a href="#description" class="anchor"></a>
<a class="srclink" title="go to source location" href="https://github.com/Rafostar/clapper/tree/master/src/lib/clapper/clapper-marker.c#L20">[src]</a>
</h4>
<pre><code>final class Clapper.Marker : Gst.Object
{
/* No available fields */
}</pre></code>
<div class="docblock">
<p>Represents a point in&nbsp;timeline.</p>
<p>Markers are a convienient way of marking points of interest within a
<a href="class.Timeline.html"><code>ClapperTimeline</code></a> of <a href="class.MediaItem.html"><code>ClapperMediaItem</code></a>. Use them
to indicate certain areas on the&nbsp;timeline.</p>
<p>Markers are reference counted immutable objects. Once a marker is created
it can only be inserted into a single <a href="class.Timeline.html"><code>ClapperTimeline</code></a> at a&nbsp;time.</p>
<p>Please note that markers are independent of <a href="property.MediaItem.duration.html"><code>ClapperMediaItem:duration</code></a>
and applications should not assume that all markers must have start/end times
lower or equal the item duration. This is not the case in e.g. live streams
where duration is unknown, but markers are still allowed to mark entries
(like <span class="caps">EPG</span> titles for&nbsp;example).</p>
<p>Remember that <a href="class.Player.html"><code>ClapperPlayer</code></a> will also automatically insert certain
markers extracted from media such as video chapters. Clapper will never
&#8220;touch&#8221; the ones created by the application. If you want to differentiate
your own markers, applications can define and create markers with one of
the custom types from <a href="enum.MarkerType.html"><code>ClapperMarkerType</code></a>&nbsp;enum.</p>
<p>Example:</p>
<div class="codehilite"><pre><span></span><code><span class="cp">#define MY_APP_MARKER (CLAPPER_MARKER_TYPE_CUSTOM_1)</span>
<span class="n">ClapperMarker</span><span class="w"> </span><span class="o">*</span><span class="n">marker</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">clapper_marker_new</span><span class="w"> </span><span class="p">(</span><span class="n">MY_APP_MARKER</span><span class="p">,</span><span class="w"> </span><span class="n">title</span><span class="p">,</span><span class="w"> </span><span class="n">start</span><span class="p">,</span><span class="w"> </span><span class="n">end</span><span class="p">);</span>
</code></pre></div>
<div class="codehilite"><pre><span></span><code><span class="n">ClapperMarkerType</span><span class="w"> </span><span class="n">marker_type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">clapper_marker_get_marker_type</span><span class="w"> </span><span class="p">(</span><span class="n">marker</span><span class="p">);</span>
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">marker_type</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">MY_APP_MARKER</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="c1">// Do something with your custom marker</span>
<span class="p">}</span>
</code></pre></div>
</div>
<div class="docblock">
</div>
</div>
</summary>
<div class="toggle-wrapper hierarchy">
<h4 id="hierarchy">
Hierarchy
<a href="#hierarchy" class="anchor"></a>
</h4>
<div class="docblock" alt="Hierarchy for Clapper.Marker">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.1.0 (20230707.0739)
-->
<!-- Title: hierarchy Pages: 1 -->
<svg width="129pt" height="260pt"
viewBox="0.00 0.00 129.00 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<title>hierarchy</title>
<!-- this -->
<g id="node1" class="node">
<title>this</title>
<g id="a_node1"><a xlink:title="ClapperMarker">
<path fill="none" stroke="black" d="M98.12,-36C98.12,-36 22.88,-36 22.88,-36 16.88,-36 10.88,-30 10.88,-24 10.88,-24 10.88,-12 10.88,-12 10.88,-6 16.88,0 22.88,0 22.88,0 98.12,0 98.12,0 104.12,0 110.12,-6 110.12,-12 110.12,-12 110.12,-24 110.12,-24 110.12,-30 104.12,-36 98.12,-36"/>
<text text-anchor="middle" x="60.5" y="-12.95" font-family="Times,serif" font-size="14.00">ClapperMarker</text>
</a>
</g>
</g>
<!-- ancestor_0 -->
<g id="node2" class="node">
<title>ancestor_0</title>
<g id="a_node2"><a xlink:title="Gst.Object">
<path fill="none" stroke="black" d="M83.88,-108C83.88,-108 37.12,-108 37.12,-108 31.12,-108 25.12,-102 25.12,-96 25.12,-96 25.12,-84 25.12,-84 25.12,-78 31.12,-72 37.12,-72 37.12,-72 83.88,-72 83.88,-72 89.88,-72 95.88,-78 95.88,-84 95.88,-84 95.88,-96 95.88,-96 95.88,-102 89.88,-108 83.88,-108"/>
<text text-anchor="middle" x="60.5" y="-84.95" font-family="Times,serif" font-size="14.00">GstObject</text>
</a>
</g>
</g>
<!-- ancestor_0&#45;&#45;this -->
<g id="edge3" class="edge">
<title>ancestor_0&#45;&#45;this</title>
<path fill="none" stroke="black" d="M60.5,-71.7C60.5,-60.85 60.5,-46.92 60.5,-36.1"/>
</g>
<!-- ancestor_1 -->
<g id="node3" class="node">
<title>ancestor_1</title>
<g id="a_node3"><a xlink:title="GObject.InitiallyUnowned">
<path fill="none" stroke="black" d="M109,-180C109,-180 12,-180 12,-180 6,-180 0,-174 0,-168 0,-168 0,-156 0,-156 0,-150 6,-144 12,-144 12,-144 109,-144 109,-144 115,-144 121,-150 121,-156 121,-156 121,-168 121,-168 121,-174 115,-180 109,-180"/>
<text text-anchor="middle" x="60.5" y="-156.95" font-family="Times,serif" font-size="14.00">GInitiallyUnowned</text>
</a>
</g>
</g>
<!-- ancestor_1&#45;&#45;ancestor_0 -->
<g id="edge2" class="edge">
<title>ancestor_1&#45;&#45;ancestor_0</title>
<path fill="none" stroke="black" d="M60.5,-143.7C60.5,-132.85 60.5,-118.92 60.5,-108.1"/>
</g>
<!-- ancestor_2 -->
<g id="node4" class="node">
<title>ancestor_2</title>
<g id="a_node4"><a xlink:title="GObject.Object">
<path fill="none" stroke="black" d="M79.38,-252C79.38,-252 41.62,-252 41.62,-252 35.62,-252 29.62,-246 29.62,-240 29.62,-240 29.62,-228 29.62,-228 29.62,-222 35.62,-216 41.62,-216 41.62,-216 79.38,-216 79.38,-216 85.38,-216 91.38,-222 91.38,-228 91.38,-228 91.38,-240 91.38,-240 91.38,-246 85.38,-252 79.38,-252"/>
<text text-anchor="middle" x="60.5" y="-228.95" font-family="Times,serif" font-size="14.00">GObject</text>
</a>
</g>
</g>
<!-- ancestor_2&#45;&#45;ancestor_1 -->
<g id="edge1" class="edge">
<title>ancestor_2&#45;&#45;ancestor_1</title>
<path fill="none" stroke="black" d="M60.5,-215.7C60.5,-204.85 60.5,-190.92 60.5,-180.1"/>
</g>
</g>
</svg>
</div>
</div>
<div class="toggle-wrapper ancestors">
<h4 id="ancestors">
Ancestors
<a href="#ancestors" class="anchor"></a>
</h4>
<div class="docblock">
<ul>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="Gst">GstObject</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.InitiallyUnowned.html" data-namespace="GObject">GInitiallyUnowned</a></li>
<li class="class"><a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a></li>
</ul>
</div>
</div>
<div class="toggle-wrapper constructors">
<h4 id="constructors">
Constructors
<a href="#constructors" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="ctor.Marker.new.html">clapper_marker_new</a></h6>
<div class="docblock">
<p>Creates a new <code>ClapperMarker</code> with given&nbsp;params.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper methods">
<h4 id="methods">
Instance methods
<a href="#methods" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="method.Marker.get_end.html">clapper_marker_get_end</a></h6>
<div class="docblock">
<p>Get the end position (in seconds) of <code>marker</code>.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.Marker.get_marker_type.html">clapper_marker_get_marker_type</a></h6>
<div class="docblock">
<p>Get the <code>ClapperMarkerType</code> of <code>marker</code>.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.Marker.get_start.html">clapper_marker_get_start</a></h6>
<div class="docblock">
<p>Get the start position (in seconds) of <code>marker</code>.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="method.Marker.get_title.html">clapper_marker_get_title</a></h6>
<div class="docblock">
<p>Get the title of <code>marker</code>.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="Gst">GstObject</a> (25)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="Gst">GstObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-methods"><h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (43)</h5>
<div class="docblock">
<div class="docblock">
<p>Please see&nbsp;<a class="external" href="javascript:void(0)" data-link="class.Object.html#methods" data-namespace="GObject">GObject</a>&nbsp;for a full list of methods.</em></p>
</div>
</div>
</div>
</div>
<div class="toggle-wrapper properties">
<h4 id="properties">
Properties
<a href="#properties" class="anchor"></a>
</h4>
<div class="docblock">
<div class="">
<h6><a href="property.Marker.end.html">Clapper.Marker:end</a></h6>
<div class="docblock">
<p>Ending time of&nbsp;marker.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.Marker.marker-type.html">Clapper.Marker:marker-type</a></h6>
<div class="docblock">
<p>Type of&nbsp;stream.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.Marker.start.html">Clapper.Marker:start</a></h6>
<div class="docblock">
<p>Starting time of&nbsp;marker.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
<div class="">
<h6><a href="property.Marker.title.html">Clapper.Marker:title</a></h6>
<div class="docblock">
<p>Title of&nbsp;marker.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-properties"><h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="Gst">GstObject</a> (2)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gst" data-link="property.Object.name.html">Gst.Object:name</a></h6>
<div class="docblock">
No description available.
</div>
<div class="docblock">
<p></p>
</div>
<h6><a class="external" href="javascript:void(0)" data-namespace="Gst" data-link="property.Object.parent.html">Gst.Object:parent</a></h6>
<div class="docblock">
<p>The parent of the object. Please note, that when changing the &#8216;parent&#8217;
property, we don&#8217;t emit <code>GObject::notify</code> and <code>GstObject::deep-notify</code>
signals due to locking issues. In some cases one can use
<code>GstBin::element-added</code> or <code>GstBin::element-removed</code> signals on the parent to
achieve a similar&nbsp;effect.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="signals toggle-wrapper">
<h4 id="signals">
Signals
<a href="#signals" class="anchor"></a>
</h4>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="Gst">GstObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="Gst" data-link="signal.Object.deep-notify.html">GstObject::deep-notify</a></h6>
<div class="docblock">
<p>The deep notify signal is used to be notified of property changes. It is
typically attached to the toplevel bin to receive notifications from all
the elements contained in that&nbsp;bin.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
<div class="toggle-wrapper default-hide ancestor-signals"><h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.Object.html" data-namespace="GObject">GObject</a> (1)</h5>
<div class="docblock">
<h6><a class="external" href="javascript:void(0)" data-namespace="GObject" data-link="signal.Object.notify.html">GObject::notify</a></h6>
<div class="docblock">
<p>The notify signal is emitted on an object when one of its properties has
its value set through g_object_set_property(), g_object_set(), et&nbsp;al.</p>
</div>
<div class="docblock">
<p></p>
</div>
</div>
</div>
</div>
<div class="class toggle-wrapper default-hide">
<h4 id="class-struct">
Class structure
<a href="#class-struct" class="anchor"></a>
</h4>
<div class="docblock">
<pre><code>struct ClapperMarkerClass {
GstObjectClass parent_class;
}</code></pre>
</div>
<div class="docblock">
No description available.
</div>
<div class="docblock">
<h6>Class members</h6>
<dl class="members">
<dt><code>parent_class: GstObjectClass</code></dt>
<dd>No description available.</dd>
</dd>
</div>
</div>
</section>
</section>
<div id="toc" class="toc">
<nav aria-labelledby="toc-title">
<p id="toc-title">Content</p>
<ul class="toc-list">
<li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
<li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
<li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
<li class="toc-list-item"><a href="#constructors"><span class="link-text">Constructors</span></a></li>
<li class="toc-list-item"><a href="#methods"><span class="link-text">Methods</span></a></li>
<li class="toc-list-item"><a href="#properties"><span class="link-text">Properties</span></a></li>
</ul>
</nav>
</div>
<section id="search" class="content hidden"></section>
<footer>
</footer>
</div>
</body>
</html>