1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Implementing Rygel Media Engines: librygel-server Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="librygel-server Reference Manual">
<link rel="up" href="index.html" title="librygel-server Reference Manual">
<link rel="prev" href="implementing-server-plugins-full-example.html" title="Implementing Server Plugins: Full Example">
<link rel="next" href="implementing-media-engines-full-example.html" title="Implementing Media Engines: Full Example">
<meta name="generator" content="GTK-Doc V1.27 (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"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="implementing-server-plugins-full-example.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="implementing-media-engines-full-example.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
<a name="implementing-media-engines"></a>Implementing Rygel Media Engines</h1></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="implementing-media-engines.html#implementing-media-engines-overview">Implementing Media Engines: Overview</a></span></dt>
<dt><span class="section"><a href="implementing-media-engines-full-example.html">Implementing Media Engines: Full Example</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="implementing-media-engines-overview"></a>Implementing Media Engines: Overview</h2></div></div></div>
<p>
This library may be used to create Rygel media engines by
implementing the <a class="link" href="RygelMediaEngine.html" title="RygelMediaEngine">RygelMediaEngine</a> class.
Rygel media engines contain knowledge about the streaming and (optionally) the
transcoding and seeking capabilites of the media library in use.</p>
<p>The actual media engine used by Rygel at runtime is specified
by the media-engine configuration key. For instance, in <code class="literal">rygel.conf</code>:
<code class="code">media-engine=librygel-media-engine-gst.so</code>
</p>
<p>A media engines should derive its own <a class="link" href="RygelDataSource.html" title="RygelDataSource">RygelDataSource</a>,
returning an instance of it from its create_data_source() implementation.</p>
<p>Optionally, a derived RygelMediaEngine may implement the get_dlna_profiles() and get_transcoders() virtual functions.</p>
<p>Rygel itself provides two media engines:
</p>
<p>
</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><p><a class="ulink" href="http://git.gnome.org/browse/rygel/tree/src/media-engines/gstreamer" target="_top">gstreamer</a>: A media engine that uses GStreamer for transcoding and seeking.</p></li>
<li class="listitem"><p><a class="ulink" href="http://git.gnome.org/browse/rygel/tree/src/media-engines/simple" target="_top">simple</a>: A media engine that uses no multimedia framework, and therefore offers no transcoding or time-based seeking.</p></li>
</ol></div>
<p>
</p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27</div>
</body>
</html>
|