| Description | Hierarchy | Fields | Methods | Properties | 
type TunaIPTransmitter = class(unaIPStreamer)
Basic IP transmitting class.
![]()  | 
function destAdd(dstatic: bool; const URI: string; enabled: bool = true; const session: string = ''; recSSRC: uint32 = 0; ttl: int = -1): int; | 
![]()  | 
function destEnable(const URI: string; const session: string = ''; doEnable: bool = true): bool; overload; | 
![]()  | 
function destEnable(index: int; doEnable: bool = true): bool; overload; | 
![]()  | 
function destRemove(index: int): bool; overload; | 
![]()  | 
function destRemove(const URI: string; const session: string = ''): bool; overload; | 
![]()  | 
function sendText(const text: wString): HRESULT; | 
![]()  | 
function doGetRTCP(): unaRTCPstack; override; | 
![]()  | 
function doOpen(): bool; override; | 
![]()  | 
function doWrite(_data: pointer; _len: uint; provider: pointer = nil): uint; override; | 
![]()  | 
function ExTransCmd(cmd: int32; var data: string; udata: uint32 = 0): HRESULT; virtual; | 
![]()  | 
function hasSession(const session: string): bool; | 
![]()  | 
function sessionAcqByDestURI(const destURI: string; ro: bool = true): unaIPTransRTSPSession; | 
![]()  | 
function sessionAcqByIndex(index: int; ro: bool = true): unaIPTransRTSPSession; | 
![]()  | 
function sessionAcqBySession(const session: string; ro: bool = true): unaIPTransRTSPSession; | 
![]()  | 
procedure AfterConstruction(); override; | 
![]()  | 
procedure BeforeDestruction(); override; | 
![]()  | 
procedure doClose(); override; | 
![]()  | 
procedure onDataEncoded(sampleDelta: uint; _data: pointer; _len: int; provider: pointer = nil; marker: bool = false; tpayload: int = -1); virtual; | 
![]()  | 
procedure onFormatChange(rate, channels, bits, encoding, bitrate: int); override; | 
![]()  | 
procedure onIdle(); override; | 
![]()  | 
procedure onPayload(addr: PSockAddrIn; hdr: prtp_hdr; data: pointer; len, packetSize: uint); virtual; | 
![]()  | 
procedure onRTCPBye(si: prtp_site_info; soft: bool); override; | 
![]()  | 
procedure RTSPSrvReqest(reqInt: int; const fromIP: string; request: unaRTSPServerParser; var headers, body, msg: string; var respcode: int); virtual; | 
![]()  | 
procedure setupSessionParams(); override; | 
![]()  | 
procedure setURI(const value: string); override; | 
![]()  | 
property autoAddDestFromHolePacket: bool read f_autoAddDestFromHolePacket write f_autoAddDestFromHolePacket; | 
![]()  | 
property bitrate; | 
![]()  | 
property destCount: int read getDestCount; | 
![]()  | 
property frameSize; | 
![]()  | 
property onAfterEncodeWrite: unavcIPDataWrite read f_onAfterEncodeWrite write f_onAfterEncodeWrite; | 
![]()  | 
property onBeforeEncodeWrite: unavcIPDataWrite read f_onBeforeEncodeWrite write f_onBeforeEncodeWrite; | 
![]()  | 
property onExTransCmd: unavcIPTransmitterExTransCmd read f_onExTransCmd write f_onExTransCmd; | 
![]()  | 
property srvRTSP: unaRTSPServer read f_transRTSP; | 
![]()  | 
property srvSHOUT: unaSHOUTtransmitter read f_transSHOUT; | 
![]()  | 
property transRoot: unaRTPTransmitter read f_transRTP_root; | 
![]()  | 
property URI; | 
![]()  | 
function destAdd(dstatic: bool; const URI: string; enabled: bool = true; const session: string = ''; recSSRC: uint32 = 0; ttl: int = -1): int; | 
| 
 Adds new destination/session for transmitter. 
 Parameters
 Returnsdestination index  | |
![]()  | 
function destEnable(const URI: string; const session: string = ''; doEnable: bool = true): bool; overload; | 
| 
 Enables or disables streaming to specified destination. 
 Parameters
 ReturnsTrue if successfull  | |
![]()  | 
function destEnable(index: int; doEnable: bool = true): bool; overload; | 
| 
 Enables or disables streaming to specified destination. 
 Parameters
 ReturnsTrue if successfull  | |
![]()  | 
function destRemove(index: int): bool; overload; | 
| 
 Removes destination. 
 Parameters
 ReturnsTrue if successfull  | |
![]()  | 
function destRemove(const URI: string; const session: string = ''): bool; overload; | 
| 
 Removes destination. 
 Parameters
 ReturnsTrue if successfull  | |
![]()  | 
function sendText(const text: wString): HRESULT; | 
| 
 Sends text to remote side.  | |
![]()  | 
function doGetRTCP(): unaRTCPstack; override; | 
| 
 Returns RTCP stack object.  | |
![]()  | 
function doOpen(): bool; override; | 
![]()  | 
function doWrite(_data: pointer; _len: uint; provider: pointer = nil): uint; override; | 
| 
 Writes data into transmitter.  | |
![]()  | 
function ExTransCmd(cmd: int32; var data: string; udata: uint32 = 0): HRESULT; virtual; | 
| 
 Prepares transmitter for streaming  | |
![]()  | 
function hasSession(const session: string): bool; | 
 ReturnsTrue if this transmitter has specified session  | |
![]()  | 
function sessionAcqByDestURI(const destURI: string; ro: bool = true): unaIPTransRTSPSession; | 
| 
 Acquires session object by destination URI  | |
![]()  | 
function sessionAcqByIndex(index: int; ro: bool = true): unaIPTransRTSPSession; | 
| 
 Acquires session object by session name  | |
![]()  | 
function sessionAcqBySession(const session: string; ro: bool = true): unaIPTransRTSPSession; | 
| 
 Acquires session object by session name  | |
![]()  | 
procedure AfterConstruction(); override; | 
| 
 Creates transmitter and assigns unaRTPTransmitter as transmitter class  | |
![]()  | 
procedure BeforeDestruction(); override; | 
| 
 Disposes various transmitters and encoders.  | |
![]()  | 
procedure doClose(); override; | 
![]()  | 
procedure onDataEncoded(sampleDelta: uint; _data: pointer; _len: int; provider: pointer = nil; marker: bool = false; tpayload: int = -1); virtual; | 
![]()  | 
procedure onFormatChange(rate, channels, bits, encoding, bitrate: int); override; | 
![]()  | 
procedure onIdle(); override; | 
![]()  | 
procedure onPayload(addr: PSockAddrIn; hdr: prtp_hdr; data: pointer; len, packetSize: uint); virtual; | 
| 
 Transmitter can also receive data in some cases.  | |
![]()  | 
procedure onRTCPBye(si: prtp_site_info; soft: bool); override; | 
| 
 Some of destinations got BYE or timedout  | |
![]()  | 
procedure RTSPSrvReqest(reqInt: int; const fromIP: string; request: unaRTSPServerParser; var headers, body, msg: string; var respcode: int); virtual; | 
| 
 Handle RTSP Server request  | |
![]()  | 
procedure setupSessionParams(); override; | 
| 
 Sets user name, SSRC, session destinations.  | |
![]()  | 
procedure setURI(const value: string); override; | 
| 
 Assigns unicast bind2ip/bind2port.  | |
![]()  | 
property autoAddDestFromHolePacket: bool read f_autoAddDestFromHolePacket write f_autoAddDestFromHolePacket; | 
| 
 Automatically add destinations gathered from RTP "hole" packets. Default is True  | |
![]()  | 
property bitrate; | 
| 
 Bitrate for codecs that support it (like MPEG Audio codec)  | |
![]()  | 
property destCount: int read getDestCount; | 
| 
 Number of sessions/destinations  | |
![]()  | 
property frameSize; | 
| 
 Frame size (in samples) for transmitter. Usually used when doEncode is false.  | |
![]()  | 
property onAfterEncodeWrite: unavcIPDataWrite read f_onAfterEncodeWrite write f_onAfterEncodeWrite; | 
| 
 Fired when data is encoded and is about to be passed to network  | |
![]()  | 
property onBeforeEncodeWrite: unavcIPDataWrite read f_onBeforeEncodeWrite write f_onBeforeEncodeWrite; | 
| 
 Fired before data received from provider is about to be passed to encoders  | |
![]()  | 
property onExTransCmd: unavcIPTransmitterExTransCmd read f_onExTransCmd write f_onExTransCmd; | 
| 
 Fired when RTSP server needs some action on exteranl RTP Transmitters.  | |
![]()  | 
property srvRTSP: unaRTSPServer read f_transRTSP; | 
| 
 Internal RTSP server  | |
![]()  | 
property srvSHOUT: unaSHOUTtransmitter read f_transSHOUT; | 
| 
 Internal SHOUTcast stream "pusher"  | |
![]()  | 
property transRoot: unaRTPTransmitter read f_transRTP_root; | 
| 
 Low-level "root" RTP transmitter. May be nil.  | |
![]()  | 
property URI; | 
| 
 Transmitter network options. Possible values: ——– RAW ——– udp://0.0.0.0:7654 - RAW unicast stream (set SDP to specify stream format) 0.0.0.0 - bind to this IP 7654 - bind to this Port udp://224.0.1.2:7654 - RAW multicast stream (set SDP to specify stream format) 224.0.1.2 - join this multicast group 7654 - use this port ——– RTP ——– rtp://username@0.0.0.0:1254 - RTP unicast stream (may need additional SDP in case of dynamic payload) username - assign this user name (optional) 0.0.0.0 - bind to this IP 1254 - bind to this port rtp://username@192.168.0.200:1254 - RTP unicast stream (may need additional SDP in case of dynamic payload) username - assign this user name (optional) 192.168.0.200 - "push" RTP stream to this destination 1254 - destination port port rtp://username@224.0.1.2:1254 - RTP multicast stream (may need additional SDP in case of dynamic payload) username - assign this user name (optional) 224.0.1.2 - join this multicast group 1254 - use this port ——– RTSP ——– rtsp://username@0.0.0.0:15000 - RTSP server username - assign this user name to internal RTP transmitter (optional) 0.0.0.0 - bind to this IP 15000 - use this port ——– SHOUTcast ——– http://source:hackme@192.168.0.174:8000/stream_name - streams audio to IceCast/DNAS server source – user/source name hackme – password 192.168.0.174 – server IP/name 8000 – port stream_name – name of stream  | |
(c) 2012 Lake of Soft