mx::IMxPEGTileReceiver Class Reference
[Component Interfaces]

Interface to entities receiving both MxPEG video and audio tiles. More...

#include <IMxPEGTileReceiver.h>

Inheritance diagram for mx::IMxPEGTileReceiver:

mx::IErrorState mx::IInterface mx::BufferedMxPEGDecoderBackEnd mx::DiagnosticsMxPEGTileReceiver mx::IMxPEGRawFrameDumper mx::ISimpleMxPEGRenderer mx::MxPEGRawFrameDumper mx::SimpleMxPEGRenderer mx::MxPEGRawFrameDumper mx::SimpleMxPEGRenderer List of all members.

Public Member Functions

virtual void setFrameInfo (const mxmFrameInfo &frame_info)=0
 To inform the receiver about details concerning the current frame.
virtual void videoResolutionChanged (int width, int height)=0
 To inform the receiver that the stream switched to another video resolution.
virtual void frameComplete ()=0
 and that - as a result - the following video/audio tiles belong to the next frame.
virtual void provideVideoTilePixelTarget (int tile_x, int tile_y, mxm::u32 **target_ptr, int *row_stepping_ptr)=0
 By calling this method the sending entity asks the receiver where to store the decoded pixel data for the next video tile.
virtual void videoTileTransferred ()=0
 To inform the receiver about a transferred video tile.
virtual int frameCounter ()=0
 Receivers are required to increment an int-valued frame counter for each completed frame and to return it upon request via this method.
virtual mxm::u8 * provideAudioBlockTarget (const mxmAudioBlockInfo &audio_block_info)=0
 By calling this method the sending entity asks the backend where to store the audio data for the next audio block ("tile").
virtual void audioBlockTransferred ()=0
 To inform the backend that the current audio block has been copied.

Detailed Description

Interface to entities receiving both MxPEG video and audio tiles.

Tile receivers decide for what is actually to be done with video and audio data decoded from an MxPEG stream, and thereby form the final stage in an MxPEG decoder configuration.

Author:
[khe] Kai Hergenroether


Member Function Documentation

virtual void mx::IMxPEGTileReceiver::frameComplete  )  [pure virtual]
 

and that - as a result - the following video/audio tiles belong to the next frame.

Note:
A call to this method does not mean that the frame was decoded successfully.

Implemented in mx::DiagnosticsMxPEGTileReceiver, mx::MxPEGRawFrameDumper, and mx::SimpleMxPEGRenderer.

virtual int mx::IMxPEGTileReceiver::frameCounter  )  [pure virtual]
 

Receivers are required to increment an int-valued frame counter for each completed frame and to return it upon request via this method.

When wrapping around, this counter has to continue with 0.

Implemented in mx::DiagnosticsMxPEGTileReceiver, mx::MxPEGRawFrameDumper, and mx::SimpleMxPEGRenderer.

virtual mxm::u8* mx::IMxPEGTileReceiver::provideAudioBlockTarget const mxmAudioBlockInfo audio_block_info  )  [pure virtual]
 

By calling this method the sending entity asks the backend where to store the audio data for the next audio block ("tile").

Returns:
a buffer capable of holding at least that many bytes as reported by audio_block_info's mxmAudioBlockInfo::size() method, or 0, in case the receiver is not interested in audio

Implemented in mx::DiagnosticsMxPEGTileReceiver, mx::MxPEGRawFrameDumper, and mx::SimpleMxPEGRenderer.

virtual void mx::IMxPEGTileReceiver::provideVideoTilePixelTarget int  tile_x,
int  tile_y,
mxm::u32 **  target_ptr,
int *  row_stepping_ptr
[pure virtual]
 

By calling this method the sending entity asks the receiver 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 mx::BufferedMxPEGDecoderBackEnd, and mx::DiagnosticsMxPEGTileReceiver.

virtual void mx::IMxPEGTileReceiver::setFrameInfo const mxmFrameInfo frame_info  )  [pure virtual]
 

To inform the receiver about details concerning the current frame.

Guaranteed to be called for each frame.

Implemented in mx::BufferedMxPEGDecoderBackEnd, and mx::DiagnosticsMxPEGTileReceiver.

virtual void mx::IMxPEGTileReceiver::videoResolutionChanged int  width,
int  height
[pure virtual]
 

To inform the receiver 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 mx::BufferedMxPEGDecoderBackEnd, mx::DiagnosticsMxPEGTileReceiver, mx::MxPEGRawFrameDumper, and mx::SimpleMxPEGRenderer.

virtual void mx::IMxPEGTileReceiver::videoTileTransferred  )  [pure virtual]
 

To inform the receiver about a transferred video tile.

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

Implemented in mx::DiagnosticsMxPEGTileReceiver, mx::MxPEGRawFrameDumper, and mx::SimpleMxPEGRenderer.


The documentation for this class was generated from the following file:
Generated on Fri Jun 29 17:21:06 2007 for MxPEG SDK by  doxygen 1.4.6