Hi All,
I have shifted my development to the main branch for the following reasons:
a) To merge RTCP changes to the main-line release
b) I need the multicast changes for mixing RTP audio.
However, I have multiple issues -> basically I could not get
my application to run at all with multiple crashes!
Currently just how unstable is the main branch?
Issues I have identified up to this point:
1) Seems to be an issue in MpCallFlowGraph.cpp,
The mpEncoders array is not initialised to NULL.
2) In mpStartTasks() (in MpMisc.cpp) the logic seems the wrong
away around, if NetInTask::getNetInTask returns a non-null value
the function calls dmaShutdown() and returns an error
3) Static codecs are freed multiple times (still)
I have fixed this only freeing the codecs if the
single pointer is not NULL.
Patches attached...
Regards
Paul
Index: src/mp/MpCallFlowGraph.cpp
===================================================================
--- src/mp/MpCallFlowGraph.cpp (revision 11075)
+++ src/mp/MpCallFlowGraph.cpp (working copy)
@@ -110,11 +110,12 @@
for (i=0; i<MAX_CONNECTIONS; i++)
{
- mpInputConnections[i] = NULL;
- mNumRtpStreams[i] = -1;
- mpDecoders[i] = NULL;
- mpMcastMixer[i] = NULL;
+ mpInputConnections[i] = NULL;
mpOutputConnections[i] = NULL;
+ mNumRtpStreams[i] = -1;
+ mpDecoders[i] = NULL;
+ mpEncoders[i] = NULL;
+ mpMcastMixer[i] = NULL;
}
for (i=0; i<MAX_RECORDERS; i++) mpRecorders[i] = NULL;
Index: src/mp/MpCodecFactory.cpp
===================================================================
--- src/mp/MpCodecFactory.cpp (revision 11075)
+++ src/mp/MpCodecFactory.cpp (working copy)
@@ -94,12 +94,16 @@
void MpCodecFactory::freeSingletonHandle()
{
sLock.acquire();
- freeStaticCodecs();
if (spInstance != NULL)
{
delete spInstance;
spInstance = NULL;
+
+ sLock.release();
+
+ freeStaticCodecs();
}
+ else
sLock.release();
}
_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/