cLiveReceiver Class Reference

#include <livereceiver.h>

Inheritance diagram for cLiveReceiver:

Inheritance graph
[legend]
Collaboration diagram for cLiveReceiver:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void open (UpnpOpenFileMode mode)
virtual int read (char *buf, size_t buflen)
virtual int write (char *buf, size_t buflen)
virtual int seek (off_t offset, int whence)
virtual void close ()

Static Public Member Functions

static cLiveReceivernewInstance (cChannel *Channel, int Priority)

Protected Member Functions

virtual void Receive (uchar *Data, int Length)
virtual void Activate (bool On)
virtual void Action (void)


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.


Member Function Documentation

void cLiveReceiver::Action ( void   )  [protected, virtual]

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

void cLiveReceiver::Activate ( bool  On  )  [protected, virtual]

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 true, the receiver will be activated. If it is false, the receiver will be deactivated and stops its threads.

Parameters:
On Activates the receiver thread

void cLiveReceiver::close (  )  [virtual]

Closes the open file

This will close open file handles and frees the memory obtained by it.

Implements cFileHandle.

cLiveReceiver * cLiveReceiver::newInstance ( cChannel *  Channel,
int  Priority 
) [static]

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.

Returns:
returns a new liveReceiver instance
Parameters:
Channel the channel which shall be tuned
Priority the priority level

void cLiveReceiver::open ( UpnpOpenFileMode  mode  )  [virtual]

Opens the file

Opens the file at the given mode. These can be:

  • UPNP_READ, to read from the file
  • UPNP_WRITE, to write to the file

Parameters:
mode The file mode, i.e. one of the following
  • UPNP_READ
  • UPNP_WRITE

Implements cFileHandle.

int cLiveReceiver::read ( char *  buf,
size_t  buflen 
) [virtual]

Reads from the file

Reads from the file a certain amount of bytes and stores them in a buffer

Returns:
returns
  • <0, in case of an error
  • 0, when reading was successful
Parameters:
buf The char buffer
buflen The size of the buffer

Implements cFileHandle.

void cLiveReceiver::Receive ( uchar *  Data,
int  Length 
) [protected, virtual]

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

Parameters:
Data The data received from VDR
Length The length of the data packet, usually 188 bytes

int cLiveReceiver::seek ( off_t  offset,
int  whence 
) [virtual]

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

  • SEEK_SET, the offset is relative to the beginning of the file
  • SEEK_CUR, it is relative to the current position or
  • SEEK_END, relative to the end of the file.

Returns:
returns
  • <0, in case of an error
  • 0, when reading was successful
Parameters:
offset The byte offset in the file
whence one of the following
  • SEEK_SET,
  • SEEK_CUR,
  • SEEK_END

Implements cFileHandle.

int cLiveReceiver::write ( char *  buf,
size_t  buflen 
) [virtual]

Writes to the file

Writes to the file a certain amount of bytes which are stored in a buffer

Returns:
returns
  • <0, in case of an error
  • 0, when reading was successful
Parameters:
buf The char buffer
buflen The size of the buffer

Implements cFileHandle.


The documentation for this class was generated from the following files:

Generated on Sun Nov 8 15:44:09 2009 for UPnP/DLNA plugin for VDR by  doxygen 1.5.8