RtpApplication¶
Package: inet.applications.rtpapp
simple module RtpApplication
An application which uses RTP. It acts as a sender if the parameter fileName is
set, and as a receiver if the parameter is empty.
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
A network node with Real-time Transport Protocol (RTP) support. Extends StandardHost by adding RTP-specific components for real-time multimedia streaming applications. |
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for all INET simple modules. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
commonName |
string |
The common name (CNAME) of this host |
|
profileName |
string |
Which rtp profile is to be used (usually RtpAvProfile) |
|
bandwidth |
double |
Bandwidth in bytes per second for this session |
|
destinationAddress |
string |
Destination address (the L3AddressResolver class is used to resolve the address) |
|
portNumber |
int |
Used port |
|
fileName |
string |
Filename of file to be transmitted, “” means this system acts only as a receiver |
|
payloadType |
int |
Payload type of file to transmit |
|
sessionEnterDelay |
double |
Delay before starting a new session |
|
transmissionStartDelay |
double |
Delay before starting transmission (related to “sender module created”) |
|
transmissionStopDelay |
double |
Delay before stopping transmission (related to “start transmission”) |
|
sessionLeaveDelay |
double |
Delay before leaving session (related to “file transmission finished/stopped” or “session entered” when fileName is “”) |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
RtpApplication |
|
display |
i=block/app |
|
selfMessageKinds |
inet::RtpAppSelfMsgKinds |
Kind used in self messages |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
rtpOut |
output |
||
rtpIn |
input |
Source code¶
//
// An application which uses RTP. It acts as a sender if the parameter `fileName` is
// set, and as a receiver if the parameter is empty.
//
simple RtpApplication extends SimpleModule
{
parameters:
@class(RtpApplication);
@display("i=block/app");
string commonName; // The common name (CNAME) of this host
string profileName; // Which rtp profile is to be used (usually RtpAvProfile)
double bandwidth; // Bandwidth in bytes per second for this session
string destinationAddress; // Destination address (the L3AddressResolver class is used to resolve the address)
int portNumber; // Used port
string fileName; // Filename of file to be transmitted, "" means this system acts only as a receiver
int payloadType; // Payload type of file to transmit
double sessionEnterDelay @unit(s); // Delay before starting a new session
double transmissionStartDelay @unit(s); // Delay before starting transmission (related to "sender module created")
double transmissionStopDelay @unit(s); // Delay before stopping transmission (related to "start transmission")
double sessionLeaveDelay @unit(s); // Delay before leaving session (related to "file transmission finished/stopped" or "session entered" when fileName is "")
@selfMessageKinds(inet::RtpAppSelfMsgKinds); // Kind used in self messages
gates:
output rtpOut @labels(RtpInterfacePacket/down);
input rtpIn @labels(RtpInterfacePacket/up);
}