Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members

mxcpcMxPEGDecoderBackEnd Class Reference
[mxcpc (MOBOTIX Cross Platform Client Library)]

Interface (baseclass) to MxPEG decoder backends. More...

#include <mxcpcMxPEGDecoderBackEnd.h>

Inheritance diagram for mxcpcMxPEGDecoderBackEnd:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void videoResolutionChanged (int width, int height)=0
 To inform the backend that the stream switched to another video resolution.
virtual void errorEncountered (void)=0
 To inform the backend that while decoding the current frame, an error condition was encountered.
virtual void frameComplete (void)=0
 To inform the backend that decoding of the current frame was finished and that - as a result - the following video tiles belong to the next frame.
virtual void provideVideoTilePixelTarget (int tile_x, int tile_y, mxcpc::u32 **target_ptr, int *row_stepping_ptr)=0
 By calling this method the decoder asks the backend where to store the decoded pixel data for the next video tile.
virtual void videoTileReceived (void)=0
 To inform the backend about a received video tile.

Detailed Description

Interface (baseclass) to MxPEG decoder backends.

Backends decide for what is actually to be done with video tiles and audio segments decoded from a MxPEG stream.

Definition at line 34 of file mxcpcMxPEGDecoderBackEnd.h.


Member Function Documentation

virtual void mxcpcMxPEGDecoderBackEnd::errorEncountered void   )  [pure virtual]
 

To inform the backend that while decoding the current frame, an error condition was encountered.

Can be called multiple times while decoding of a frame is in progress. Processing of current frame is to be cosidered as finished only when the frameComplete() method is invoked.

Implemented in mxcpcDefaultMxPEGDecoderBackEnd.

virtual void mxcpcMxPEGDecoderBackEnd::frameComplete void   )  [pure virtual]
 

To inform the backend that decoding of the current frame was finished and that - as a result - the following video tiles belong to the next frame.

Note:
A call to this method does not mean that the frame was decoded successfully, see errorEncountered().

Implemented in mxcpcDefaultMxPEGDecoderBackEnd.

Referenced by mxcpcFramewiseMxPEGDecoder::feedBytes().

virtual void mxcpcMxPEGDecoderBackEnd::provideVideoTilePixelTarget int  tile_x,
int  tile_y,
mxcpc::u32 **  target_ptr,
int *  row_stepping_ptr
[pure virtual]
 

By calling this method the decoder asks the backend where to store the decoded pixel data for the next video tile.

The pixel data will be written out RGBRGBRGB... with one byte per color channel. Between rows, a certain amount of memory is skipped according to the specified row stepping which is given in u32 units. It is perfectly legal to specify negative values here, in fact this is how it will be handled in most cases when OpenGL is involved in the actual rendering, because here, the origin of 2D image data is usually located in the lower/left corner.

Implemented in mxcpcDefaultMxPEGDecoderBackEnd.

virtual void mxcpcMxPEGDecoderBackEnd::videoResolutionChanged int  width,
int  height
[pure virtual]
 

To inform the backend that the stream switched to another video resolution.

Guaranteed to be called at least once before the first tiles arrive.

Guaranteed to be called with both dimensions being positive.

Implemented in mxcpcDefaultMxPEGDecoderBackEnd.

Referenced by mxcpcFramewiseMxPEGDecoder::feedBytes().

virtual void mxcpcMxPEGDecoderBackEnd::videoTileReceived void   )  [pure virtual]
 

To inform the backend about a received video tile.

It has been stored to the pixel target provided by the backend through a previous call to provideVideoTilePixelTarget().

Implemented in mxcpcDefaultMxPEGDecoderBackEnd.


The documentation for this class was generated from the following files:
Generated on Mon Aug 15 03:39:59 2005 for mxcpc by  doxygen 1.4.2-20050421