From 724cb5e3783311f6b8c808852dbe2de59f2399b0 Mon Sep 17 00:00:00 2001
From: Denis Loh <denis.loh@gmail.com>
Date: Mon, 25 Jan 2010 12:10:01 +0100
Subject: Fixed small bug which leads to an empty TV folder

---
 doc/latex/classcLiveReceiver.tex | 229 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 229 insertions(+)
 create mode 100644 doc/latex/classcLiveReceiver.tex

(limited to 'doc/latex/classcLiveReceiver.tex')

diff --git a/doc/latex/classcLiveReceiver.tex b/doc/latex/classcLiveReceiver.tex
new file mode 100644
index 0000000..53fc497
--- /dev/null
+++ b/doc/latex/classcLiveReceiver.tex
@@ -0,0 +1,229 @@
+\hypertarget{classcLiveReceiver}{
+\section{cLiveReceiver Class Reference}
+\label{classcLiveReceiver}\index{cLiveReceiver@{cLiveReceiver}}
+}
+{\tt \#include $<$livereceiver.h$>$}
+
+Inheritance diagram for cLiveReceiver:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=400pt]{classcLiveReceiver__inherit__graph}
+\end{center}
+\end{figure}
+Collaboration diagram for cLiveReceiver:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=400pt]{classcLiveReceiver__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+virtual void \hyperlink{classcLiveReceiver_b8e751f641be1da4a925106e3dd062e9}{open} (UpnpOpenFileMode mode)
+\item 
+virtual int \hyperlink{classcLiveReceiver_4a19e1fd4e1d043fb091bfb01a9cbf08}{read} (char $\ast$buf, size\_\-t buflen)
+\item 
+virtual int \hyperlink{classcLiveReceiver_eb56988441b589b6e34ea01825dfb183}{write} (char $\ast$buf, size\_\-t buflen)
+\item 
+virtual int \hyperlink{classcLiveReceiver_efb4156ef247773873dee42053e94edf}{seek} (off\_\-t offset, int whence)
+\item 
+virtual void \hyperlink{classcLiveReceiver_5b8beb2bc6809aacbdb087e31e836a27}{close} ()
+\end{CompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{CompactItemize}
+\item 
+static \hyperlink{classcLiveReceiver}{cLiveReceiver} $\ast$ \hyperlink{classcLiveReceiver_1e28c50bb73404597b2363422e038c12}{newInstance} (cChannel $\ast$Channel, int Priority)
+\end{CompactItemize}
+\subsection*{Protected Member Functions}
+\begin{CompactItemize}
+\item 
+virtual void \hyperlink{classcLiveReceiver_c8bc191994b0acd3fa2d23b26f996f8a}{Receive} (uchar $\ast$Data, int Length)
+\item 
+virtual void \hyperlink{classcLiveReceiver_631c7392c3226b07ba654875580fb26c}{Activate} (bool On)
+\item 
+virtual void \hyperlink{classcLiveReceiver_5c1f30f48fdc612c19ff4b9b4c176b07}{Action} (void)
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+A receiver for live TV
+
+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. 
+
+\subsection{Member Function Documentation}
+\hypertarget{classcLiveReceiver_5c1f30f48fdc612c19ff4b9b4c176b07}{
+\index{cLiveReceiver@{cLiveReceiver}!Action@{Action}}
+\index{Action@{Action}!cLiveReceiver@{cLiveReceiver}}
+\subsubsection[{Action}]{\setlength{\rightskip}{0pt plus 5cm}void cLiveReceiver::Action (void)\hspace{0.3cm}{\tt  \mbox{[}protected, virtual\mbox{]}}}}
+\label{classcLiveReceiver_5c1f30f48fdc612c19ff4b9b4c176b07}
+
+
+The receiver thread action
+
+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.
+
+While doing so, it tries to syncronize with the stream and creates new MPEG2-TS PATs and PMTs for a single MPEG2-TS stream \hypertarget{classcLiveReceiver_631c7392c3226b07ba654875580fb26c}{
+\index{cLiveReceiver@{cLiveReceiver}!Activate@{Activate}}
+\index{Activate@{Activate}!cLiveReceiver@{cLiveReceiver}}
+\subsubsection[{Activate}]{\setlength{\rightskip}{0pt plus 5cm}void cLiveReceiver::Activate (bool {\em On})\hspace{0.3cm}{\tt  \mbox{[}protected, virtual\mbox{]}}}}
+\label{classcLiveReceiver_631c7392c3226b07ba654875580fb26c}
+
+
+Activates the receiver
+
+This activates the receiver which initializes internal data structures to be prepared for receiving data from the VDR
+
+If the parameter is {\bf {\tt true},} the receiver will be activated. If it is {\bf {\tt false},} the receiver will be deactivated and stops its threads. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em On}]Activates the receiver thread \end{description}
+\end{Desc}
+\hypertarget{classcLiveReceiver_5b8beb2bc6809aacbdb087e31e836a27}{
+\index{cLiveReceiver@{cLiveReceiver}!close@{close}}
+\index{close@{close}!cLiveReceiver@{cLiveReceiver}}
+\subsubsection[{close}]{\setlength{\rightskip}{0pt plus 5cm}void cLiveReceiver::close ()\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
+\label{classcLiveReceiver_5b8beb2bc6809aacbdb087e31e836a27}
+
+
+Closes the open file
+
+This will close open file handles and frees the memory obtained by it.  
+
+Implements \hyperlink{classcFileHandle_d7eaed7d254a64c85a48c3968238b93d}{cFileHandle}.\hypertarget{classcLiveReceiver_1e28c50bb73404597b2363422e038c12}{
+\index{cLiveReceiver@{cLiveReceiver}!newInstance@{newInstance}}
+\index{newInstance@{newInstance}!cLiveReceiver@{cLiveReceiver}}
+\subsubsection[{newInstance}]{\setlength{\rightskip}{0pt plus 5cm}{\bf cLiveReceiver} $\ast$ cLiveReceiver::newInstance (cChannel $\ast$ {\em Channel}, \/  int {\em Priority})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
+\label{classcLiveReceiver_1e28c50bb73404597b2363422e038c12}
+
+
+Creates a new receiver instance
+
+This will create a new instance of a live receiver for the specified channel at the specified priority level.
+
+A negativ priority means that the receiver may being detached from a device.
+
+The receiver must be free'd with delete after it is not used anylonger.
+
+\begin{Desc}
+\item[Returns:]returns a new liveReceiver instance \end{Desc}
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em Channel}]the channel which shall be tuned \item[{\em Priority}]the priority level \end{description}
+\end{Desc}
+\hypertarget{classcLiveReceiver_b8e751f641be1da4a925106e3dd062e9}{
+\index{cLiveReceiver@{cLiveReceiver}!open@{open}}
+\index{open@{open}!cLiveReceiver@{cLiveReceiver}}
+\subsubsection[{open}]{\setlength{\rightskip}{0pt plus 5cm}void cLiveReceiver::open (UpnpOpenFileMode {\em mode})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
+\label{classcLiveReceiver_b8e751f641be1da4a925106e3dd062e9}
+
+
+Opens the file
+
+Opens the file at the given mode. These can be:\begin{itemize}
+\item {\bf UPNP\_\-READ}, to read from the file\item {\bf UPNP\_\-WRITE}, to write to the file\end{itemize}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em mode}]The file mode, i.e. one of the following\begin{itemize}
+\item {\bf UPNP\_\-READ} \item {\bf UPNP\_\-WRITE} \end{itemize}
+\end{description}
+\end{Desc}
+ 
+
+Implements \hyperlink{classcFileHandle_cdf4f4d07382de675b498d85544ea1b6}{cFileHandle}.\hypertarget{classcLiveReceiver_4a19e1fd4e1d043fb091bfb01a9cbf08}{
+\index{cLiveReceiver@{cLiveReceiver}!read@{read}}
+\index{read@{read}!cLiveReceiver@{cLiveReceiver}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}int cLiveReceiver::read (char $\ast$ {\em buf}, \/  size\_\-t {\em buflen})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
+\label{classcLiveReceiver_4a19e1fd4e1d043fb091bfb01a9cbf08}
+
+
+Reads from the file
+
+Reads from the file a certain amount of bytes and stores them in a buffer
+
+\begin{Desc}
+\item[Returns:]returns\begin{itemize}
+\item {\bf $<$0}, in case of an error\item {\bf 0}, when reading was successful\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]The char buffer \item[{\em buflen}]The size of the buffer \end{description}
+\end{Desc}
+ 
+
+Implements \hyperlink{classcFileHandle_458f25a4c7f62d528cffc84e66d38e7d}{cFileHandle}.\hypertarget{classcLiveReceiver_c8bc191994b0acd3fa2d23b26f996f8a}{
+\index{cLiveReceiver@{cLiveReceiver}!Receive@{Receive}}
+\index{Receive@{Receive}!cLiveReceiver@{cLiveReceiver}}
+\subsubsection[{Receive}]{\setlength{\rightskip}{0pt plus 5cm}void cLiveReceiver::Receive (uchar $\ast$ {\em Data}, \/  int {\em Length})\hspace{0.3cm}{\tt  \mbox{[}protected, virtual\mbox{]}}}}
+\label{classcLiveReceiver_c8bc191994b0acd3fa2d23b26f996f8a}
+
+
+Receives data from VDR
+
+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 \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em Data}]The data received from VDR \item[{\em Length}]The length of the data packet, usually 188 bytes \end{description}
+\end{Desc}
+\hypertarget{classcLiveReceiver_efb4156ef247773873dee42053e94edf}{
+\index{cLiveReceiver@{cLiveReceiver}!seek@{seek}}
+\index{seek@{seek}!cLiveReceiver@{cLiveReceiver}}
+\subsubsection[{seek}]{\setlength{\rightskip}{0pt plus 5cm}int cLiveReceiver::seek (off\_\-t {\em offset}, \/  int {\em whence})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
+\label{classcLiveReceiver_efb4156ef247773873dee42053e94edf}
+
+
+Seeks in the file
+
+Seeks in the file where the offset is the relativ position depending on the second parameter. This means, in case of
+
+\begin{itemize}
+\item {\bf SEEK\_\-SET}, the offset is relative to the beginning of the file\item {\bf SEEK\_\-CUR}, it is relative to the current position or\item {\bf SEEK\_\-END}, relative to the end of the file.\end{itemize}
+
+
+\begin{Desc}
+\item[Returns:]returns\begin{itemize}
+\item {\bf $<$0}, in case of an error\item {\bf 0}, when reading was successful\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em offset}]The byte offset in the file \item[{\em whence}]one of the following\begin{itemize}
+\item {\bf SEEK\_\-SET},\item {\bf SEEK\_\-CUR},\item {\bf SEEK\_\-END} \end{itemize}
+\end{description}
+\end{Desc}
+ 
+
+Implements \hyperlink{classcFileHandle_d2dde523301abe5e79e6109a93ba705b}{cFileHandle}.\hypertarget{classcLiveReceiver_eb56988441b589b6e34ea01825dfb183}{
+\index{cLiveReceiver@{cLiveReceiver}!write@{write}}
+\index{write@{write}!cLiveReceiver@{cLiveReceiver}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}int cLiveReceiver::write (char $\ast$ {\em buf}, \/  size\_\-t {\em buflen})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
+\label{classcLiveReceiver_eb56988441b589b6e34ea01825dfb183}
+
+
+Writes to the file
+
+Writes to the file a certain amount of bytes which are stored in a buffer
+
+\begin{Desc}
+\item[Returns:]returns\begin{itemize}
+\item {\bf $<$0}, in case of an error\item {\bf 0}, when reading was successful\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em buf}]The char buffer \item[{\em buflen}]The size of the buffer \end{description}
+\end{Desc}
+ 
+
+Implements \hyperlink{classcFileHandle_e1495303f52f6f2d7ac37a030f78a937}{cFileHandle}.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+receiver/livereceiver.h\item 
+receiver/livereceiver.cpp\end{CompactItemize}
-- 
cgit v1.2.3

