The Client Side Example for C++
#include "ltmm.h"
#include "ILMNetDmx.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(L"c:\\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.*/
}