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

Components reference


    IPReceiver

Receives RTP/SHOUTcast or RAW stream over unicast or broadcast/multicast UDP and decodes MPEG/Speex/ALaw/uLaw payloads if needed.

Configured mostly via URI and SDP properties.

Implements
IIPReceiverdefault 
IvcproBaseEventsdefaultsource
IvcproProvider  

IIPReceiver
Dispatch interface for IPReceiver 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
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	- receive RAW unicast stream (set SDP for details)
			    0.0.0.0	- bind to this IP
			    7654	- listen on this port

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

-- RTP --

  rtp://0.0.0.0:1254	- receive unicast RTP stream (may need additional SDP in case of dynamic payload)
			    0.0.0.0	- bind to this IP
			    1254	- listen on this port

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

-- RTSP --

  rtsp://192.168.0.170/ - use RTSP streaming negotiation (check SDP for details)
			    192.168.0.170	- connect to this host for RTSP server (on port 554)

-- SHOUTcast --

  http://87.98.132.103:8230	- receive  SHOUTcast stream
			    87.98.132.103	- connect to this host for SHOUTcast stream
			    8230		- use this port for communication
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).


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:
IPTransmitter, RTPConfClient, RTPConfServer

Misc. components:
VolumeControl, DisplayBands


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