Hi,

I had some problems when trying to receive 3 audio streams (SSRC's) in
the same session. Once every 5-10 seconds, the code would segfault due
to recvLast pointer = NULL.

I have attached a diff that works around the problem.

/R
--- ccrtp-1.5.1/src/incqueue.cpp        2006-12-31 14:12:33.000000000 +0100
+++ ccrtp-1.5.1.new/src/incqueue.cpp    2007-03-02 11:15:17.000000000 +0100
@@ -439,10 +439,18 @@
                        srcLink->getLast()->setSrcNext(packetLink);
                        packetLink->setSrcPrev(srcLink->getLast());
                        srcLink->setLast(packetLink);
+/* added by RER who was experiencing 0 pointers to recvLast */
+                       if ( recvLast ) {
+                               recvLast->setNext(packetLink);
+                               packetLink->setPrev(recvLast);
+                       }
+                       recvLast = packetLink;
+#if 0                  
                        // the last packet in the global queue
                        recvLast->setNext(packetLink);
                        packetLink->setPrev(recvLast);
                        recvLast = packetLink;
+#endif
                }
        }
        // account the insertion of this packet into the queue
_______________________________________________
Ccrtp-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/ccrtp-devel

Reply via email to