ccrtp-devel
[Top][All Lists]
Advanced

[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;
}





reply via email to

[Prev in Thread] Current Thread [Next in Thread]