[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Ccrtp-devel] No receiver reports for inbound sessions.
From: |
Jörgen Terner |
Subject: |
[Ccrtp-devel] No receiver reports for inbound sessions. |
Date: |
Tue, 14 Mar 2006 08:40:41 +0100 |
Hi!
I'm using ccrtp-1.3.6 and my inbound rtp sessions do not send receiver reports.
I've looked into the code and in the method
QueueRTCPManager::sendControlToDestinations(unsigned char* buffer, size_t len)
There is a loop over all added destinations, but this list is empty for inbound
sessions.
I added a loop over all sync sources and it seams to work. Is this a bug or is
there something I've misunderstood? (When writing this I realize that my loop
is probably not thread-safe so that has to be added).
Actually, should it not always be enough to look at the list of sync sources?
Any thoughts are appreciated.
/Jörgen
-------------------------------------------------------------
size_t
QueueRTCPManager::sendControlToDestinations(unsigned char* buffer, size_t len)
{
size_t count = 0;
lockDestinationList();
if ( isSingleDestination() ) {
count = sendControl(buffer,len);
} else {
// when no destination has been added, NULL == dest.
for (std::list<TransportAddress*>::iterator i =
destList.begin(); destList.end() != i; i++) {
std::cerr << "In loop over destinations" << std::endl;
TransportAddress* dest = *i;
setControlPeer(dest->getNetworkAddress(),
dest->getControlTransportPort());
count += sendControl(buffer,len);
}
}
unlockDestinationList();
SyncSourcesIterator iter = begin();
while (iter != end()) {
setControlPeer(iter->getNetworkAddress(),
iter->getControlTransportPort());
count += sendControl(buffer,len);
iter++;
}
return count;
}
- [Ccrtp-devel] No receiver reports for inbound sessions.,
Jörgen Terner <=