本文整理汇总了C++中PacketsPattern类的典型用法代码示例。如果您正苦于以下问题:C++ PacketsPattern类的具体用法?C++ PacketsPattern怎么用?C++ PacketsPattern使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PacketsPattern类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: rx
int
doTest() {
ExtZrtpSession rx(pattern.getSsrc()+1, pattern.getReceiverAddress(), pattern.getReceiverPort());
rx.initialize("test_r.zid");
rx.setSchedulingTimeout(10000);
rx.setExpireTimeout(1000000);
rx.startRunning();
rx.setPayloadFormat(StaticPayloadFormat(sptPCMU));
// arbitrary number of loops to provide time to start transmitter
if (!rx.addDestination(pattern.getSenderAddress(), pattern.getSenderPort()) ) {
return 1;
}
rx.startZrtp();
for ( int i = 0; i < 5000 ; i++ ) {
const AppDataUnit* adu;
while ( (adu = rx.getData(rx.getFirstTimestamp())) ) {
cerr << "got some data: " << adu->getData() << endl;
if (*adu->getData() == 'e') {
delete adu;
return 0;
}
delete adu;
}
Thread::sleep(70);
}
return 0;
}
示例2: doTest
int doTest()
{
// should be valid?
//RTPSession tx();
RTPSession tx(InetHostAddress("localhost"));
tx.setSchedulingTimeout(10000);
tx.setExpireTimeout(1000000);
tx.startRunning();
tx.setPayloadFormat(StaticPayloadFormat(sptPCMU));
if ( !tx.addDestination(pattern.getDestinationAddress(),
pattern.getDestinationPort()) ) {
return 1;
}
// 50 packets per second (packet duration of 20ms)
uint32 period = 20;
uint16 inc = tx.getCurrentRTPClockRate()/50;
TimerPort::setTimer(period);
for ( uint32 i = 0; i < pattern.getPacketsNumber(); i++ ) {
tx.putData(i*inc, pattern.getPacketData(i), pattern.getPacketSize(i));
Thread::sleep(TimerPort::getTimer());
TimerPort::incTimer(period);
}
return 0;
}
示例3: doTest
int doTest() {
// should be valid?
//RTPSession tx();
// Initialize with local address and Local port is detination port +2 - keep RTP/RTCP port pairs
ExtZrtpSession tx(pattern.getSsrc(), pattern.getSenderAddress(), pattern.getSenderPort());
tx.initialize("test_t.zid");
tx.setSchedulingTimeout(10000);
tx.setExpireTimeout(1000000);
tx.startRunning();
tx.setPayloadFormat(StaticPayloadFormat(sptPCMU));
if (!tx.addDestination(pattern.getReceiverAddress(), pattern.getReceiverPort()) ) {
return 1;
}
tx.startZrtp();
// 2 packets per second (packet duration of 500ms)
uint32 period = 500;
uint16 inc = tx.getCurrentRTPClockRate()/2;
TimerPort::setTimer(period);
uint32 i;
for (i = 0; i < pattern.getPacketsNumber(); i++ ) {
tx.putData(i*inc,
pattern.getPacketData(i),
pattern.getPacketSize(i));
cout << "Sent some data: " << i << endl;
Thread::sleep(TimerPort::getTimer());
TimerPort::incTimer(period);
}
tx.putData(i*inc, (unsigned char*)"exit", 5);
Thread::sleep(200);
return 0;
}
示例4: main
int main(int argc, char *argv[])
{
int result = 0;
bool send = false;
bool recv = false;
char c;
/* check args */
while (1) {
c = getopt(argc, argv, "rsR:S:");
if (c == -1) {
break;
}
switch (c) {
case 'r':
recv = true;
break;
case 's':
send = true;
break;
case 'R':
pattern.setReceiverAddress(new InetHostAddress(optarg));
break;
case 'S':
pattern.setSenderAddress(new InetHostAddress(optarg));
break;
default:
cerr << "Wrong Arguments, only -s and -r are accepted" << endl;
}
}
if (send || recv) {
if (send) {
cout << "Running as sender" << endl;
}
else {
cout << "Running as receiver" << endl;
}
}
else {
cerr << "No send or receive argument specificied" << endl;
exit(1);
}
// accept as parameter if must run as --send or --recv
#if 0
RecvPacketTransmissionTest *rx;
SendPacketTransmissionTest *tx;
// run several tests in parallel threads
if ( send ) {
tx = new SendPacketTransmissionTest();
tx->start();
tx->join();
} else if ( recv ) {
rx = new RecvPacketTransmissionTest();
rx->start();
rx->join();
}
//#endif
//#if 0
ZrtpRecvPacketTransmissionTest *zrx;
ZrtpSendPacketTransmissionTest *ztx;
if ( send ) {
ztx = new ZrtpSendPacketTransmissionTest();
ztx->start();
ztx->join();
} else if ( recv ) {
zrx = new ZrtpRecvPacketTransmissionTest();
zrx->start();
zrx->join();
}
#endif
ZrtpRecvPacketTransmissionTestCB *zrxcb;
ZrtpSendPacketTransmissionTestCB *ztxcb;
if ( send ) {
ztxcb = new ZrtpSendPacketTransmissionTestCB();
ztxcb->start();
ztxcb->join();
} else if ( recv ) {
zrxcb = new ZrtpRecvPacketTransmissionTestCB();
zrxcb->start();
zrxcb->join();
}
exit(result);
}