\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}