Next: ccRTP Internals, Previous: Standards Tracking, Up: Top
This chapter outlines the main steps required to upgrade applications written for old releases of ccRTP (0.6.x, 0.7.x and 0.9.x series) to the 1.0 series. It is written mostly as a recipe of replacements for old constructs.
Replace #include <cc++/rtp.h> with #include
<ccrtp/rtp.h>1.
Changes that have to do more with Common C++ 2 than with ccRTP:
exit(int)Thread::Terminate()ccxx_sleep(timeout_t)Thread::Run()Changes required by ccRTP itself:
RTPSourceSyncSource, and is a somewhat different concept. For
instance, calls to RTPSource::getID() must be replaced with calls to
SyncSource::getID(), which in most cases will not imply any change to
this part of the code.
RTPQueue::getLocalInfo()->getID()RTPQueueBase::getLocalSSRC()
RTPQueue::getCNAME()defaultApplication().getSDESItem(SDESItemTypeSDES).
RTPQueue::getPacket()getPacket() has been removed and now there is only a
getData() method in the RTP queues.
RTPQueue::setTimeout()RTPQueue::putPacket()putPacket() has been removed and now there is only a
putData() method in the RTP queues. Note also that now the
payload type is not specified for each outgoing RTP data block,
instead use RTPQueueBase::setPayloadFormat each time the payload type
changes.
PayloadTypeFor example, RTP_PAYLOAD_PCMU must be replaced with something
like StaticPayloadFormat pcmu(sptPCMU), where pcmu is
the name of a static payload object that binds an statically assigned
PayloadType 2. to its corresponding
RTP clock rate3.
RTPSocket::ConnectOutgoingDataQueue::addDestination must be used. It
allows for setting more than one destination. Any destination can
actually be added more than one time with addDestination, which can be
used a simple trick to perform redundant transmission: each packet -both
RTP and RTCP- will be transmitted to the destination as many times as it
has been added to the list of destinations through calling
addDestination.
RTPQueue::getCurrentRateRTPQueueBase::getCurrentRTPClockRate().
RTPSocket::StartRTPSession::startRunning.
RTPQueue::gotHelloQueueRTCPManager::onNewSyncSource.
RTPQueue::gotGoodbyeQueueRTCPManager::onGotGoodbye.