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:
RTPSource
SyncSource
, 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.
PayloadType
For 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::Connect
OutgoingDataQueue::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::getCurrentRate
RTPQueueBase::getCurrentRTPClockRate()
.
RTPSocket::Start
RTPSession::startRunning
.
RTPQueue::gotHello
QueueRTCPManager::onNewSyncSource
.
RTPQueue::gotGoodbye
QueueRTCPManager::onGotGoodbye
.