Description | Hierarchy | Fields | Methods | Properties |
type TunaConfRTPclient = class(unavclInOutPipe)
A simple but powerfull RTP conference client.
![]() |
constructor Create(aOwner: tComponent); override; |
![]() |
constructor createDummy(); |
![]() |
destructor Destroy(); override; |
![]() |
function connect(const userName, roomName: wString; const srvAddress, srvPort: string): bool; overload; |
![]() |
function getConnectStatus(var stat: unaConfClientConnStat; needFullInfo: bool = false): int; |
![]() |
function getInStreamSSRC(index: int): u_int32; |
![]() |
function getMicVolume(): int; |
![]() |
function getPlaybackVolume(): int; |
![]() |
function getRemoteName(ssrc: u_int32; out cname: wString): bool; |
![]() |
function roomJoin(const roomName: wString): int; |
![]() |
function roomLeave(const roomName: wString): int; |
![]() |
function connect(): HRESULT; overload; |
![]() |
function doOpen(): bool; override; |
![]() |
function doRead(data: pointer; len: uint): uint; override; |
![]() |
function doWrite(data: pointer; len: uint; provider: pointer = nil): uint; override; |
![]() |
function getAvailableDataLen(index: integer): uint; override; |
![]() |
function isActive(): bool; override; |
![]() |
function sendClnCmd(const cmd: aString; idata: int32 = 0; data: pointer = nil; len: uint = 0): int; |
![]() |
procedure feedOut(data: pointer; len: unsigned; inbuf: unsigned); |
![]() |
procedure setEncoding(value: int; sps: int); |
![]() |
procedure disconnect(newConnStatus: int); |
![]() |
procedure doClose(); override; |
![]() |
procedure handlePayload(addr: pSockAddrIn; hdr: prtp_hdr; data: pointer; len: uint); virtual; |
![]() |
procedure handleSrvCmd(userID: u_int32; addr: pSockAddrIn; const cmd: aString; cmdData: punaConfRTPcmd); virtual; |
![]() |
procedure onDecodedData(samples: pointer; size: int; index: int; sps: int); virtual; |
![]() |
procedure onEncodedData(sampleDelta: int; data: pointer; size: int); virtual; |
![]() |
procedure onIdle(rtcpIdle: bool); |
![]() |
property audioSrcIsPCM: boolean read f_audioSrcIsPCM write f_audioSrcIsPCM; |
![]() |
property bind2ip: string read f_b2ip write f_b2ip; |
![]() |
property bind2port: string read f_b2port write f_b2port; |
![]() |
property bw_in: int read f_bwIn; |
![]() |
property bw_out: int read f_bwOut; |
![]() |
property channelInfo[index:int]: punaConfChannelInfo read getChInfo; |
![]() |
property connected: bool read getConnected; |
![]() |
property dsp: unaSpeexDSP read f_dsp; |
![]() |
property dsp_aec: bool index 3 read getDSPbool write setDSPbool; |
![]() |
property dsp_agc: bool index 1 read getDSPbool write setDSPbool; |
![]() |
property dsp_ns: bool index 0 read getDSPbool write setDSPbool; |
![]() |
property dsp_vad: bool index 2 read getDSPbool write setDSPbool; |
![]() |
property encoding: int read f_encoding; |
![]() |
property error: HRESULT read f_error; |
![]() |
property errorDataInt: int32 read getEDInt; |
![]() |
property frameSize: int32 read f_frameSize write f_frameSize; |
![]() |
property lastRoomName: wString read f_lastRoomName; |
![]() |
property mixer: unaWaveMixerDevice read f_mixer; |
![]() |
property onConnect: evonConnected read f_onConn write f_onConn; |
![]() |
property onDisconnect: evonConnected read f_onDisconn write f_onDisconn; |
![]() |
property payload: int read f_payload; |
![]() |
property playbackEnabled: bool read f_playbackON write f_playbackON; |
![]() |
property playbackLevel: int read f_playbackLevel write f_playbackLevel; |
![]() |
property recordingEnabled: bool read f_micON write f_micON; |
![]() |
property recordingLevel: int read f_micLevel write f_micLevel; |
![]() |
property sps: int read f_sps; |
![]() |
property srvCNAME: wString read f_srvCNAME; |
![]() |
property srvMasterkey: string write setSrvMasterkey; |
![]() |
property srvSSRC: u_int32 read f_srvSSRC; |
![]() |
property SSRC: u_int32 read getSSRC write setSSRC; |
![]() |
property trans: unaRTPTransmitter read f_trans; |
![]() |
property URI: string read f_URI write setURI; |
![]() |
property userName: wString read f_userName; |
![]() |
constructor Create(aOwner: tComponent); override; |
Creates an RTP Conference client. |
![]() |
constructor createDummy(); |
Creates dummy RTP Conference client (mostly for debug). |
![]() |
destructor Destroy(); override; |
Destroys RTP Conference client. |
![]() |
function connect(const userName, roomName: wString; const srvAddress, srvPort: string): bool; overload; |
Connects to server. Constructs URI property and call open().
Parameters
ReturnsTrue if no error occured. |
![]() |
function getConnectStatus(var stat: unaConfClientConnStat; needFullInfo: bool = false): int; |
Returns status of client connection. |
![]() |
function getInStreamSSRC(index: int): u_int32; |
Returns SSRC of remote user. ReturnsSSRC of client with specified index |
![]() |
function getMicVolume(): int; |
Returnscurrent level of recording signal. |
![]() |
function getPlaybackVolume(): int; |
Returnscurrent level of played back signal. |
![]() |
function getRemoteName(ssrc: u_int32; out cname: wString): bool; |
Returns CNAME or remote user. ReturnsCNAME of remote client with specified SSRC |
![]() |
function roomJoin(const roomName: wString): int; |
Joins another room. Returns0 if request was sent successfully. |
![]() |
function roomLeave(const roomName: wString): int; |
Leaves some room. Returns0 if request was sent successfully. |
![]() |
function connect(): HRESULT; overload; |
Connects to server. |
![]() |
function doOpen(): bool; override; |
Opens/connects the client. Returnstrue if successfull |
![]() |
function doRead(data: pointer; len: uint): uint; override; |
Does nothing. Returns0 |
![]() |
function doWrite(data: pointer; len: uint; provider: pointer = nil): uint; override; |
Resamples and passes data to encoder. |
![]() |
function getAvailableDataLen(index: integer): uint; override; |
Does nothing. Returns0 |
![]() |
function isActive(): bool; override; |
ReturnsTrue if client is active/connected. |
![]() |
function sendClnCmd(const cmd: aString; idata: int32 = 0; data: pointer = nil; len: uint = 0): int; |
Returns0 if successfull |
![]() |
procedure feedOut(data: pointer; len: unsigned; inbuf: unsigned); |
Must be called right after new audio chunk was released from WaveOut queue. NOTE: This is needed mostly for Speex AEC module to work. |
![]() |
procedure setEncoding(value: int; sps: int); |
Specifies new sps/encoding to use.
Parameters
|
![]() |
procedure disconnect(newConnStatus: int); |
Disconnect from server. |
![]() |
procedure doClose(); override; |
Closes/disconnects the client. |
![]() |
procedure handlePayload(addr: pSockAddrIn; hdr: prtp_hdr; data: pointer; len: uint); virtual; |
Handles remote data received over network |
![]() |
procedure handleSrvCmd(userID: u_int32; addr: pSockAddrIn; const cmd: aString; cmdData: punaConfRTPcmd); virtual; |
Handles server command |
![]() |
procedure onDecodedData(samples: pointer; size: int; index: int; sps: int); virtual; |
Resamples and sends decompressed data to internal mixer. |
![]() |
procedure onEncodedData(sampleDelta: int; data: pointer; size: int); virtual; |
Sends data to server. Updates BW. |
![]() |
procedure onIdle(rtcpIdle: bool); |
Called from context of idle thread. |
![]() |
property audioSrcIsPCM: boolean read f_audioSrcIsPCM write f_audioSrcIsPCM; |
If data is already encoded, set this property to False. Default is True |
![]() |
property bind2ip: string read f_b2ip write f_b2ip; |
Bind to this interface (default is 0.0.0.0, means bind to all interfaces). |
![]() |
property bind2port: string read f_b2port write f_b2port; |
Bind to this local port (default is 0, means auto-select first available port). |
![]() |
property bw_in: int read f_bwIn; |
Input bandwidth in bits per second. |
![]() |
property bw_out: int read f_bwOut; |
Output bandwidth in bits per second. |
![]() |
property channelInfo[index:int]: punaConfChannelInfo read getChInfo; |
Channel info |
![]() |
property connected: bool read getConnected; |
True when connection was established. |
![]() |
property dsp: unaSpeexDSP read f_dsp; |
Speex DSP object. *internal* |
![]() |
property dsp_aec: bool index 3 read getDSPbool write setDSPbool; |
SpeexDSP: acoustic echo cancellation ON/OFF |
![]() |
property dsp_agc: bool index 1 read getDSPbool write setDSPbool; |
SpeexDSP: auto-gain control ON/OFF |
![]() |
property dsp_ns: bool index 0 read getDSPbool write setDSPbool; |
SpeexDSP: noise suppression ON/OFF |
![]() |
property dsp_vad: bool index 2 read getDSPbool write setDSPbool; |
SpeexDSP: voice activity detection ON/OFF |
![]() |
property encoding: int read f_encoding; |
Encoding type. Must be one of supported c_rtp_enc_XXXX. |
![]() |
property error: HRESULT read f_error; |
Last error code. |
![]() |
property errorDataInt: int32 read getEDInt; |
Additional error data. |
![]() |
property frameSize: int32 read f_frameSize write f_frameSize; |
If audioSrcIsPCM is False, this property should specify frame size in samples. |
![]() |
property lastRoomName: wString read f_lastRoomName; |
Last room name client was joining. |
![]() |
property mixer: unaWaveMixerDevice read f_mixer; |
Mixer object *use as read-only* |
![]() |
property onConnect: evonConnected read f_onConn write f_onConn; |
Fired when client is connected. |
![]() |
property onDisconnect: evonConnected read f_onDisconn write f_onDisconn; |
Fired when client is disconnected. |
![]() |
property payload: int read f_payload; |
Payload type. *internal* |
![]() |
property playbackEnabled: bool read f_playbackON write f_playbackON; |
Enable/disable playback. |
![]() |
property playbackLevel: int read f_playbackLevel write f_playbackLevel; |
Modify playback level (from 0 to 100). Default is 100 (no modify). |
![]() |
property recordingEnabled: bool read f_micON write f_micON; |
Enable/disable recording. |
![]() |
property recordingLevel: int read f_micLevel write f_micLevel; |
Modify recording level (from 0 to 100). Default is 100 (no modify). |
![]() |
property sps: int read f_sps; |
Sampling rate. Must be 8000, 16000 or 32000. |
![]() |
property srvCNAME: wString read f_srvCNAME; |
CNAME of server |
![]() |
property srvMasterkey: string write setSrvMasterkey; |
Server master key (write-only). |
![]() |
property srvSSRC: u_int32 read f_srvSSRC; |
SSRC of server |
![]() |
property SSRC: u_int32 read getSSRC write setSSRC; |
Client's RTP SSRC |
![]() |
property trans: unaRTPTransmitter read f_trans; |
RTP/RTCP transmitter. |
![]() |
property URI: string read f_URI write setURI; |
URI, like: |
![]() |
property userName: wString read f_userName; |
Local user Name. |
(c) 2012 Lake of Soft