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.*/ 
}