#define MAKE_MEDIA_PATH(pFileName) (TEXT("C:\\Program Files (x86)\\LEAD Technologies\\LEADTOOLS 19\\Media\\")TEXT(pFileName))
#include "ltmm.h"
#include "ILMNetDmx2.h"
void main()
{
IltmmPlay* pPlay ;
IUnknown* pUnk = NULL;
ILMNetDmx* pDmx;
long bitrate = 0;
BSTR Message;
BSTR sServer;
BSTR szFileName;
CoInitialize(NULL);
CoCreateInstance(CLSID_ltmmPlay, NULL, CLSCTX_INPROC_SERVER, IID_IltmmPlay, (void**) &pPlay);
// set the player source:
sServer = SysAllocString(L"ltsf://10.0.4.23");
pPlay->put_SourceFile(sServer);
SysFreeString(sServer);
// you can monitor the incoming bit rate by checking the BitRate property of
// the demultiplexer object:
pPlay->GetSubObject(ltmmPlay_Object_Splitter, &pUnk);
pUnk->QueryInterface(IID_ILMNetDmx, (void**) &pDmx);
pUnk->Release();
pDmx->get_BitRate(&bitrate); // you may display the value
// Get the output file name
pDmx->get_OutputFileName(&szFileName);
if (szFileName == NULL)
{
// Set the output file name to record the incoming stream
szFileName = SysAllocString(MAKE_MEDIA_PATH("output.avi"));
pDmx->put_OutputFileName(szFileName);
}
SysFreeString(szFileName);
// if the AutoStart property is not TRUE, you need to run the player:
pPlay->Run();
// To give a chance to receive some data
Sleep(20000);
/* to receive a text message sent by the server, use the ReadMessage method: */
/* first, get the demux interface again (you might want to keep it for the life of
the communication session:
read the message: */
pDmx->ReadMessage(&Message);
pDmx->Release();
pPlay->Release();
CoUninitialize();
/* do something with the message. */
/* You need to call ReadMessage continuously to check for new messages.*/
}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET