General info | Getting started | Samples | Components reference | FAQ | Solutions |

Components reference


    IPTransmitter

Encodes MPEG/Speex/ALaw/uLaw payloads if needed and transmits audio streams using RTP/SHOUTcast or RAW protocol over unicast or broadcast/multicast UDP

Configured mostly via URI and SDP properties.

Implements
IIPTransmitterdefault 
IvcproBaseEventsdefaultsource
IvcproConsumer  

IIPTransmitter
Dispatch interface for IPTransmitter component
Methods
void getStreamInfo([out] long dynType, [out] long encoding, [out] BSTR media, [out] long pcm_sps, [out] long pcm_nch, [out] long pcm_bits)Returns information about current stream format
void setFrameSize(long frameSize)Configures internal frame size, used mostly with MPEG payloads
Properties
bool ActiveSet to true to activate (open) the component. All other properties should be set to proper values before activation. Set to false to deactivate (close) the component
BSTR URI
-- RAW --

  udp://0.0.0.0:7654	- RAW unicast stream (set SDP for details)
			    0.0.0.0 	- send data to this host
			    7654      	- send data to this port

  udp://224.0.1.2:7654	- RAW multicast stream (set SDP for details)
			    224.0.1.2 	- join this multicast group
			    7654	- use this port

-- RTP --

  rtp://0.0.0.0:1254	- RTP unicast stream (may need additional SDP in case of dynamic payload)
			    0.0.0.0 	- send data to this host
			    1254      	- send data to this port

  rtp://224.0.1.2:1254	- RTP multicast stream (may need additional SDP in case of dynamic payload)
			    224.0.1.2 	- join this multicast group
			    1254      	- use this port

-- RTSP --		-- not supported yet --

-- SHOUTcast --	-- not supported yet --

bool IsFormatProviderWhen true the component will assign stream format to the consumer (if any). This simplifies the process of distributing stream format among linked components. For example WaveRiff component can assign PCM format to linked WaveOutDevice component, so WAVe file will be played back correctly
BSTR descriptionStream description, mostly for debugging.
BSTR SDPSpecifies stream format (payload), below are some samples you can reuse when working with RTP components.

First sample is a simple uLaw 8000/mono stream:

v=0
m=audio 5004 RTP/AVP 0
a=rtpmap:0 PCMU/8000/1

Since this is not a dynamic payload, receiver will not need additional SDP configuration.

ALaw 8000/mono stream:

v=0
m=audio 5004 RTP/AVP 8
a=rtpmap:8 PCMA/8000/1

Another non-dynamic payload, a MP3 streaming at 44100/stereo:

v=0
m=audio 0 RTP/AVP 14
a=rtpmap:14 mpa/44100/2

First dynamic payload sample is a simple PCM (uncompressed) 8000/16bits mono stream:

v=0
m=audio 0 RTP/AVP 98
a=rtpmap:98 L16/8000/1

Note, that this SDP setup must be applied on both transmitter and receiver, since dynamic payloads are not pre-defined in RFC.

Now we specify a Speex streaming at 16000 Hz:

v=0
m=audio 0 RTP/AVP 97
a=rtpmap:97 speex/16000
a=fmtp:97 mode="10,any"

See also: RFC 4566

BSTR bind2portSpecifies port number to bind to. Default is 0 (bind to first available port).
BSTR bind2ipSpecifies IP address of NIC to bind to. Default is 0.0.0.0 (bind to all NICs).
bool DoEncodeSpecifies whether to encode/decode audio before transmission/after receiving


See also...

Base interfaces

Wave processing components:
WaveIn, WaveOut, WaveCodec, WaveRiff, WaveMixer, WaveResampler, Equalizer, WaveMultiBandSplitter

Legacy IP components:
IpServer, IpClient, IpBroadcastServer, IpBroadcastClient, MediaGate, ConferenceServer

RTP streaming components:
IPReceiver, RTPConfClient, RTPConfServer

Misc. components:
VolumeControl, DisplayBands


VCX Library 3.0 © 2012 Lake of Soft
All rights reserved.