diff options
Diffstat (limited to 'doc/html/classcLiveReceiver.html')
-rw-r--r-- | doc/html/classcLiveReceiver.html | 388 |
1 files changed, 388 insertions, 0 deletions
diff --git a/doc/html/classcLiveReceiver.html b/doc/html/classcLiveReceiver.html new file mode 100644 index 0000000..d312473 --- /dev/null +++ b/doc/html/classcLiveReceiver.html @@ -0,0 +1,388 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>UPnP/DLNA plugin for VDR: cLiveReceiver Class Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.8 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>cLiveReceiver Class Reference</h1><!-- doxytag: class="cLiveReceiver" --><!-- doxytag: inherits="cFileHandle" --><code>#include <<a class="el" href="livereceiver_8h-source.html">livereceiver.h</a>></code> +<p> +<div class="dynheader"> +Inheritance diagram for cLiveReceiver:</div> +<div class="dynsection"> +<p><center><img src="classcLiveReceiver__inherit__graph.png" border="0" usemap="#cLiveReceiver__inherit__map" alt="Inheritance graph"></center> +<map name="cLiveReceiver__inherit__map"> +<area shape="rect" href="classcFileHandle.html" title="{cFileHandle\n||+ open()\l+ read()\l+ write()\l+ seek()\l+ close()\l+ ~cFileHandle()\l}" alt="" coords="17,5,135,165"></map> +<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> +<div class="dynheader"> +Collaboration diagram for cLiveReceiver:</div> +<div class="dynsection"> +<p><center><img src="classcLiveReceiver__coll__graph.png" border="0" usemap="#cLiveReceiver__coll__map" alt="Collaboration graph"></center> +<map name="cLiveReceiver__coll__map"> +<area shape="rect" href="classcFileHandle.html" title="{cFileHandle\n||+ open()\l+ read()\l+ write()\l+ seek()\l+ close()\l+ ~cFileHandle()\l}" alt="" coords="17,5,135,165"></map> +<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> + +<p> +<a href="classcLiveReceiver-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcLiveReceiver.html#b8e751f641be1da4a925106e3dd062e9">open</a> (UpnpOpenFileMode mode)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classcLiveReceiver.html#4a19e1fd4e1d043fb091bfb01a9cbf08">read</a> (char *buf, size_t buflen)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classcLiveReceiver.html#eb56988441b589b6e34ea01825dfb183">write</a> (char *buf, size_t buflen)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classcLiveReceiver.html#efb4156ef247773873dee42053e94edf">seek</a> (off_t offset, int whence)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcLiveReceiver.html#5b8beb2bc6809aacbdb087e31e836a27">close</a> ()</td></tr> + +<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classcLiveReceiver.html">cLiveReceiver</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcLiveReceiver.html#1e28c50bb73404597b2363422e038c12">newInstance</a> (cChannel *Channel, int Priority)</td></tr> + +<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcLiveReceiver.html#c8bc191994b0acd3fa2d23b26f996f8a">Receive</a> (uchar *Data, int Length)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcLiveReceiver.html#631c7392c3226b07ba654875580fb26c">Activate</a> (bool On)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcLiveReceiver.html#5c1f30f48fdc612c19ff4b9b4c176b07">Action</a> (void)</td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +A receiver for live TV<p> +This is a receiver object which is attached to a VDR tv card device. It is receiving transport stream packages and generates a single MPEG2 transport stream which can be distributed through the network. <hr><h2>Member Function Documentation</h2> +<a class="anchor" name="5c1f30f48fdc612c19ff4b9b4c176b07"></a><!-- doxytag: member="cLiveReceiver::Action" ref="5c1f30f48fdc612c19ff4b9b4c176b07" args="(void)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void cLiveReceiver::Action </td> + <td>(</td> + <td class="paramtype">void </td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +The receiver thread action<p> +This actually is the receiver thread, which runs consequitivelly and buffers any received video data from the interal incoming buffer to the internal outgoing buffer.<p> +While doing so, it tries to syncronize with the stream and creates new MPEG2-TS PATs and PMTs for a single MPEG2-TS stream +</div> +</div><p> +<a class="anchor" name="631c7392c3226b07ba654875580fb26c"></a><!-- doxytag: member="cLiveReceiver::Activate" ref="631c7392c3226b07ba654875580fb26c" args="(bool On)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void cLiveReceiver::Activate </td> + <td>(</td> + <td class="paramtype">bool </td> + <td class="paramname"> <em>On</em> </td> + <td> ) </td> + <td><code> [protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Activates the receiver<p> +This activates the receiver which initializes internal data structures to be prepared for receiving data from the VDR<p> +If the parameter is <b><code>true</code>,</b> the receiver will be activated. If it is <b><code>false</code>,</b> the receiver will be deactivated and stops its threads. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>On</em> </td><td>Activates the receiver thread </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="5b8beb2bc6809aacbdb087e31e836a27"></a><!-- doxytag: member="cLiveReceiver::close" ref="5b8beb2bc6809aacbdb087e31e836a27" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void cLiveReceiver::close </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Closes the open file<p> +This will close open file handles and frees the memory obtained by it. +<p>Implements <a class="el" href="classcFileHandle.html#d7eaed7d254a64c85a48c3968238b93d">cFileHandle</a>.</p> + +</div> +</div><p> +<a class="anchor" name="1e28c50bb73404597b2363422e038c12"></a><!-- doxytag: member="cLiveReceiver::newInstance" ref="1e28c50bb73404597b2363422e038c12" args="(cChannel *Channel, int Priority)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classcLiveReceiver.html">cLiveReceiver</a> * cLiveReceiver::newInstance </td> + <td>(</td> + <td class="paramtype">cChannel * </td> + <td class="paramname"> <em>Channel</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>Priority</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Creates a new receiver instance<p> +This will create a new instance of a live receiver for the specified channel at the specified priority level.<p> +A negativ priority means that the receiver may being detached from a device.<p> +The receiver must be free'd with delete after it is not used anylonger.<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns a new liveReceiver instance </dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>Channel</em> </td><td>the channel which shall be tuned </td></tr> + <tr><td valign="top"></td><td valign="top"><em>Priority</em> </td><td>the priority level </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="b8e751f641be1da4a925106e3dd062e9"></a><!-- doxytag: member="cLiveReceiver::open" ref="b8e751f641be1da4a925106e3dd062e9" args="(UpnpOpenFileMode mode)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void cLiveReceiver::open </td> + <td>(</td> + <td class="paramtype">UpnpOpenFileMode </td> + <td class="paramname"> <em>mode</em> </td> + <td> ) </td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Opens the file<p> +Opens the file at the given mode. These can be:<ul> +<li><b>UPNP_READ</b>, to read from the file</li><li><b>UPNP_WRITE</b>, to write to the file</li></ul> +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>The file mode, i.e. one of the following<ul> +<li><b>UPNP_READ</b> </li><li><b>UPNP_WRITE</b> </li></ul> +</td></tr> + </table> +</dl> + +<p>Implements <a class="el" href="classcFileHandle.html#cdf4f4d07382de675b498d85544ea1b6">cFileHandle</a>.</p> + +</div> +</div><p> +<a class="anchor" name="4a19e1fd4e1d043fb091bfb01a9cbf08"></a><!-- doxytag: member="cLiveReceiver::read" ref="4a19e1fd4e1d043fb091bfb01a9cbf08" args="(char *buf, size_t buflen)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int cLiveReceiver::read </td> + <td>(</td> + <td class="paramtype">char * </td> + <td class="paramname"> <em>buf</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"> <em>buflen</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Reads from the file<p> +Reads from the file a certain amount of bytes and stores them in a buffer<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> +<li><b><0</b>, in case of an error</li><li><b>0</b>, when reading was successful</li></ul> +</dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>The char buffer </td></tr> + <tr><td valign="top"></td><td valign="top"><em>buflen</em> </td><td>The size of the buffer </td></tr> + </table> +</dl> + +<p>Implements <a class="el" href="classcFileHandle.html#458f25a4c7f62d528cffc84e66d38e7d">cFileHandle</a>.</p> + +</div> +</div><p> +<a class="anchor" name="c8bc191994b0acd3fa2d23b26f996f8a"></a><!-- doxytag: member="cLiveReceiver::Receive" ref="c8bc191994b0acd3fa2d23b26f996f8a" args="(uchar *Data, int Length)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void cLiveReceiver::Receive </td> + <td>(</td> + <td class="paramtype">uchar * </td> + <td class="paramname"> <em>Data</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>Length</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Receives data from VDR<p> +This is the interface for receiving packet data from the VDR. It buffers the incoming transport stream packets in a linear ringbuffer and returns immediatelly <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>Data</em> </td><td>The data received from VDR </td></tr> + <tr><td valign="top"></td><td valign="top"><em>Length</em> </td><td>The length of the data packet, usually 188 bytes </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="efb4156ef247773873dee42053e94edf"></a><!-- doxytag: member="cLiveReceiver::seek" ref="efb4156ef247773873dee42053e94edf" args="(off_t offset, int whence)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int cLiveReceiver::seek </td> + <td>(</td> + <td class="paramtype">off_t </td> + <td class="paramname"> <em>offset</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>whence</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Seeks in the file<p> +Seeks in the file where the offset is the relativ position depending on the second parameter. This means, in case of<p> +<ul> +<li><b>SEEK_SET</b>, the offset is relative to the beginning of the file</li><li><b>SEEK_CUR</b>, it is relative to the current position or</li><li><b>SEEK_END</b>, relative to the end of the file.</li></ul> +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> +<li><b><0</b>, in case of an error</li><li><b>0</b>, when reading was successful</li></ul> +</dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>The byte offset in the file </td></tr> + <tr><td valign="top"></td><td valign="top"><em>whence</em> </td><td>one of the following<ul> +<li><b>SEEK_SET</b>,</li><li><b>SEEK_CUR</b>,</li><li><b>SEEK_END</b> </li></ul> +</td></tr> + </table> +</dl> + +<p>Implements <a class="el" href="classcFileHandle.html#d2dde523301abe5e79e6109a93ba705b">cFileHandle</a>.</p> + +</div> +</div><p> +<a class="anchor" name="eb56988441b589b6e34ea01825dfb183"></a><!-- doxytag: member="cLiveReceiver::write" ref="eb56988441b589b6e34ea01825dfb183" args="(char *buf, size_t buflen)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int cLiveReceiver::write </td> + <td>(</td> + <td class="paramtype">char * </td> + <td class="paramname"> <em>buf</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"> <em>buflen</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Writes to the file<p> +Writes to the file a certain amount of bytes which are stored in a buffer<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns<ul> +<li><b><0</b>, in case of an error</li><li><b>0</b>, when reading was successful</li></ul> +</dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>The char buffer </td></tr> + <tr><td valign="top"></td><td valign="top"><em>buflen</em> </td><td>The size of the buffer </td></tr> + </table> +</dl> + +<p>Implements <a class="el" href="classcFileHandle.html#e1495303f52f6f2d7ac37a030f78a937">cFileHandle</a>.</p> + +</div> +</div><p> +<hr>The documentation for this class was generated from the following files:<ul> +<li>receiver/<a class="el" href="livereceiver_8h-source.html">livereceiver.h</a><li>receiver/livereceiver.cpp</ul> +</div> +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Nov 8 15:44:09 2009 for UPnP/DLNA plugin for VDR by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> +</body> +</html> |