The Client Side Example for C
#include "ltmm.h"
#include "ltmm.h" #include "ILMNetDmx2.h" L_MULTIMEDIATEX_API void ClientSide_Example ( ) { 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"); IltmmPlay_put_SourceFile(pPlay , sServer); SysFreeString(sServer); // you can monitor the incoming bit rate by checking the BitRate property of // the demultiplexer object: IltmmPlay_GetSubObject (pPlay, ltmmPlay_Object_Splitter, &pUnk); IUnknown_QueryInterface(pUnk, &IID_ILMNetDmx, (void**) &pDmx); IUnknown_Release(pUnk); ILMNetDmx_get_BitRate(pDmx, &bitrate); // you may display the value // Get the output file name ILMNetDmx_get_OutputFileName(pDmx, &szFileName); if (szFileName == NULL) { // Set the output file name to record the incoming stream szFileName = SysAllocString(L"c:\\output.avi"); ILMNetDmx_put_OutputFileName(pDmx, szFileName); } SysFreeString(szFileName); // if the AutoStart property is not TRUE, you need to run the player: IltmmPlay_Run(pPlay); // 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: */ ILMNetDmx_ReadMessage(pDmx, &Message); ILMNetDmx_Release(pDmx); IltmmPlay_Release(pPlay); CoUninitialize(); /* do something with the message. */ /* You need to call ReadMessage continuously to check for new messages.*/ }