There is the MprHook resource which is basically a call back for every frame
You could implement your circular buffer in the call back and then link a MprHook resource into the flowgraph topology where you want to capture the audio
!!!FAILURES!!!
Test Results:
Run: 128 Failures: 5 Errors: 0
1) test: MpInputDeviceManagerTest::testSineInput (F) line: 259 src\test\mp\MpInputDeviceManagerTest.
cpp
assertion failed
- Expression: inputDeviceManager.disableDevice(sineWaveDeviceId) != OS_SUCCESS
2) test: MpOutputDeviceDriverTest::testTickerNotification (F) line: 242 src\test\mp\MpOutputDriverTe
st.cpp
assertion failed
- Expression: frameInCallback > TICKER_TEST_LENGTH_SEC*TEST_FRAME_RATE
3) test: MprFromFileTest::testFileToneDetect (F) line: 152 src\test\mp\MprFromFileTest.cpp
assertion failed
- Expression: mpSourceResource->mLastDoProcessArgs.outBufs[0] != mpSinkResource->mLastDoProcessArgs.
inBufs[0]
4) test: WBInputOutputDeviceTest::testMixerWB (F) line: 653 src\test\mp\MpWBInputOutputDeviceTest.cp
p
equality assertion failed
- Expected: 4
- Actual : 6
5) test: WBInputOutputDeviceTest::testInputOutputWB (F) line: 507 src\test\mp\MpWBInputOutputDeviceT
est.cpp
equality assertion failed
- Expected: 2
- Actual : 3
2015-01-07 04:46:01.369 DEBUG reSIProcate - Flow::onReceiveSuccess: socketDesc=4720, fromAddress=192.168.0.228, fromPort=24620, size=172, componentId=1
2015-01-07 04:46:01.369 INFO reSIProcate - MediaInterface: received MI_NOTF_RX_STREAM_ACTIVITY, sourceId=InRtp-1-RtpDispatcher, connectionId=1, state=STREAM_START, ssrc=231035798, address=3825248448, port=24620
I made a few tweeks ...
Could you please add documentation to the checked in versions of ...
I also suggest that you add some test points to sipXmediaLib/src/test/mp/MprRecorderTest.cpp
to preserve the functionality that you added.
I will be adding some more new functionality to MprRecorder this week. That is why I am working to get your changes checked in.
At this point, everything I have from you for the circular buffer recording is checked in.
I am not sure if you exposed the functionality in the sipXcallLib and sipXtapi interfaces, but I do not have that code from you.
Thank you for your contributions. They were well thought out and are appreciated.
I look forward to your updates.
1> MprRecorderTest.cpp
1>src\test\mp\MprRecorderTest.cpp(127): error C2782: 'void CppUnit::assertEquals(const T &,const T &,CppUnit::SourceLine,const std::string &)' : template parameter 'T' is ambiguous
1> sipXtapi\CPPUnit\include\cppunit/TestAssert.h(139) : see declaration of 'CppUnit::assertEquals'
1> could be 'OsMsg::MsgTypes'
1> or 'unsigned char'