class H323VideoCodec

This class defines a codec class that will use the standard platform image output device.

Inheritance:


Public Methods

[more] H323VideoCodec ( const char* mediaFormat, Direction direction )
Create a new video codec.
[more]virtual BOOL Open ( H323Connection & connection )
Open the codec.
[more]virtual void Close ()
Close down the codec.
[more]virtual void OnMiscellaneousCommand ( const H245_MiscellaneousCommand_type & type )
Process a miscellaneous command on the logical channel.
[more]virtual void OnMiscellaneousIndication ( const H245_MiscellaneousIndication_type & type )
Process a miscellaneous indication on the logical channel.
[more]virtual void OnFreezePicture ()
Process a FreezePicture command from remote endpoint.
[more]virtual void OnFastUpdatePicture ()
Process a FastUpdatePicture command from remote endpoint.
[more]virtual void OnFastUpdateGOB (unsigned firstGOB, unsigned numberOfGOBs)
Process a FastUpdateGOB command from remote endpoint.
[more]virtual void OnFastUpdateMB (int firstGOB, int firstMB, unsigned numberOfMBs)
Process a FastUpdateMB command from remote endpoint.
[more]virtual void OnVideoIndicateReadyToActivate ()
Process a OnVideoIndicateReadyToActivate indication from remote endpoint.
[more]virtual void OnVideoTemporalSpatialTradeOff ()
Process a OnVideoTemporalSpatialTradeOff indication from remote endpoint.
[more]virtual void OnVideoNotDecodedMBs (unsigned firstMB, unsigned numberOfMBs, unsigned temporalReference)
Process a OnVideoNotDecodedMBs indication from remote endpoint.
[more]virtual void OnLostPartialPicture ()
Process a request for a new frame, as part of the picture has been lost
[more]virtual void OnLostPicture ()
Process a request for a new frame, as the entire picture has been lost
[more]int GetWidth () const
Get width of video
[more]int GetHeight () const
Get height of video
[more]virtual void SetTxQualityLevel (int qlevel)
Quality of the transmitted video.
[more]virtual void SetTxMinQuality (int qlevel)
Minimum quality limit for the transmitted video.
[more]virtual void SetTxMaxQuality (int qlevel)
Maximum quality limit for the transmitted video.
[more]virtual void SetBackgroundFill (int idle)
number of blocks (that haven't changed) transmitted with each frame.
[more]unsigned GetVideoMode (void)
Get the current value for video control mode
[more]unsigned SetVideoMode (unsigned mode)
Set the current value for video control mode return the resulting value video control mode
[more]virtual BOOL SetMaxBitRate ( unsigned bitRate )
Set maximum bitrate when transmitting video.
[more]virtual BOOL SetTargetFrameTimeMs ( unsigned ms )
Set target time in milliseconds between video frames going through the channel.
[more]void SendMiscCommand (unsigned command)
Send a miscellaneous command to the remote transmitting video codec.


Inherited from H323Codec:

Public Methods

ovirtual BOOL Read( BYTE* buffer, unsigned & length, RTP_DataFrame & rtpFrame )
ovirtual BOOL Write( const BYTE* buffer, unsigned length, const RTP_DataFrame & frame, unsigned & written )
ovirtual unsigned GetFrameRate() const
ovirtual void OnFlowControl( long bitRateRestriction )
ovirtual BOOL AttachChannel( PChannel* channel, BOOL autoDelete = TRUE )
ovirtual PChannel* SwapChannel( PChannel* newChannel, BOOL autoDelete = TRUE )
ovirtual BOOL CloseRawDataChannel()
oPChannel* GetRawDataChannel()
ovirtual BOOL IsRawDataChannelNative() const
oBOOL ReadRaw( void* data, PINDEX size, PINDEX & length )
oBOOL WriteRaw( void* data, PINDEX length )
oBOOL AttachLogicalChannel(H323Channel* channel)
ovoid AddFilter( const PNotifier & notifier )


Documentation

This class defines a codec class that will use the standard platform image output device.

An application may create a descendent off this class and override functions as required for descibing a specific codec.

o H323VideoCodec( const char* mediaFormat, Direction direction )
Create a new video codec. This opens the standard image output device, for input and output and allows descendent codec classes to do video I/O after decoding/encoding.
Parameters:
mediaFormat - Media format for codec
direction - Direction in which this instance runs

ovirtual BOOL Open( H323Connection & connection )
Open the codec. This will open the codec for encoding or decoding. This is primarily used to delay allocation of resources until the last minute.

The default behaviour calls the H323EndPoint::OpenVideoDevice() function and assigns the result of that function to the raw data channel in the H323Codec class.

Parameters:
connection - Connection between the endpoints

ovirtual void Close()
Close down the codec. This will close the codec breaking any block on the Read() or Write() functions.

The default behaviour will close the rawDataChannel if it is not NULL and thene delete it if delteChannel is TRUE.

ovirtual void OnMiscellaneousCommand( const H245_MiscellaneousCommand_type & type )
Process a miscellaneous command on the logical channel. The default behaviour does nothing.
Parameters:
type - Command to process

ovirtual void OnMiscellaneousIndication( const H245_MiscellaneousIndication_type & type )
Process a miscellaneous indication on the logical channel. The default behaviour does nothing.
Parameters:
type - Indication to process

ovirtual void OnFreezePicture()
Process a FreezePicture command from remote endpoint. The default behaviour does nothing.

ovirtual void OnFastUpdatePicture()
Process a FastUpdatePicture command from remote endpoint. The default behaviour does nothing.

ovirtual void OnFastUpdateGOB(unsigned firstGOB, unsigned numberOfGOBs)
Process a FastUpdateGOB command from remote endpoint. The default behaviour does nothing.

ovirtual void OnFastUpdateMB(int firstGOB, int firstMB, unsigned numberOfMBs)
Process a FastUpdateMB command from remote endpoint. The default behaviour does nothing.

ovirtual void OnVideoIndicateReadyToActivate()
Process a OnVideoIndicateReadyToActivate indication from remote endpoint. The default behaviour does nothing.

ovirtual void OnVideoTemporalSpatialTradeOff()
Process a OnVideoTemporalSpatialTradeOff indication from remote endpoint. The default behaviour does nothing.

ovirtual void OnVideoNotDecodedMBs(unsigned firstMB, unsigned numberOfMBs, unsigned temporalReference)
Process a OnVideoNotDecodedMBs indication from remote endpoint. The default behaviour does nothing.

ovirtual void OnLostPartialPicture()
Process a request for a new frame, as part of the picture has been lost

ovirtual void OnLostPicture()
Process a request for a new frame, as the entire picture has been lost

oint GetWidth() const
Get width of video

oint GetHeight() const
Get height of video

ovirtual void SetTxQualityLevel(int qlevel)
Quality of the transmitted video. 1 is good, 31 is poor.

ovirtual void SetTxMinQuality(int qlevel)
Minimum quality limit for the transmitted video. Default is 1. Encode quality will not be set below this value.

ovirtual void SetTxMaxQuality(int qlevel)
Maximum quality limit for the transmitted video. Default is 24. Encode quality will not be set above this value.

ovirtual void SetBackgroundFill(int idle)
number of blocks (that haven't changed) transmitted with each frame. These blocks fill in the background

ounsigned GetVideoMode(void)
Get the current value for video control mode

ounsigned SetVideoMode(unsigned mode)
Set the current value for video control mode return the resulting value video control mode

ovirtual BOOL SetMaxBitRate( unsigned bitRate )
Set maximum bitrate when transmitting video. A value of 0 disables bit rate control. The average bitrate will be less depending on channel dead time, i.e. time that the channel could be transmitting bits but is not.

ovirtual BOOL SetTargetFrameTimeMs( unsigned ms )
Set target time in milliseconds between video frames going through the channel. This sets the video frame rate through the channel, which is <= grabber frame rate. Encoder quality will be adjusted dynamically by the codec to find a frame size that allows sending at this rate. Default = 167 ms = 6 frames per second. A value of 0 means the channel will attempt to run at the video grabber frame rate Sometimes the channel cannot transmit as fast as the video grabber.

ovoid SendMiscCommand(unsigned command)
Send a miscellaneous command to the remote transmitting video codec. This message is sent via the H245 Logical Channel.


Direct child classes:
H323_H263Codec
H323_H261Codec

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.