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; }
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; }
int doTest() { // should be valid? //RTPSession tx(); ExtZrtpSession tx(pattern.getSsrc(), pattern.getSenderAddress(), pattern.getSenderPort()); // SymmetricZRTPSession tx(pattern.getSsrc(), InetHostAddress("localhost")); tx.setSchedulingTimeout(10000); tx.setExpireTimeout(1000000); tx.startRunning(); tx.setPayloadFormat(StaticPayloadFormat(sptPCMU)); // We are sender: if (!tx.addDestination(pattern.getReceiverAddress(), pattern.getReceiverPort()) ) { return 1; } // 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(TimerPort::getTimer()); return 0; }