Hello sir<div><br></div><div>I did the following method to find the Kilo bits per second</div><div><br></div><div><div>RTPSink* videoSink;</div><div> int64_t uSecsToDelay=2000000;</div><div> int64_t uSecsToDelay2=1000000;</div>
<div>void play(); // forward</div><div><br></div><div>void periodicQOSMeasurement1(void* clientData);//actually bit rate mesaurement</div><div>void periodicQOSMeasurement2(void* clientData); </div><div>int CreateINI();</div>
<div>char *sstreamip;</div><div>int SSport;</div><div>int s21;</div><div>int o21;</div><div>int s1,o1,s2,o2;</div></div><div>int main()</div><div>{</div><div>        .....</div><div>        .......</div><div>}</div><div><div>
void play() {</div><div>  unsigned const inputDataChunkSize</div><div>    = TRANSPORT_PACKETS_PER_NETWORK_PACKET*TRANSPORT_PACKET_SIZE;</div><div><br></div><div>  // Open the input file as a 'byte-stream file source':</div>
<div>  ByteStreamFileSource* fileSource</div><div>    = ByteStreamFileSource::createNew(*env, inputFileName, inputDataChunkSize);</div><div>  if (fileSource == NULL) {</div><div>    *env << "Unable to open file \"" << inputFileName</div>
<div><span class="Apple-tab-span" style="white-space:pre">      </span> << "\" as a byte-stream file source\n";</div><div>    exit(1);</div><div>  }</div><div><br></div><div>  // Create a 'framer' for the input source (to give us proper inter-packet gaps):</div>
<div>  videoSource = MPEG2TransportStreamFramer::createNew(*env, fileSource);</div><div><br></div><div>  // Finally, start playing:</div><div>  *env << "Beginning to read from file...\n";</div><div>  videoSink->startPlaying(*videoSource, afterPlaying, videoSink);</div>
<div>   env->taskScheduler().scheduleDelayedTask(uSecsToDelay, (TaskFunc*)periodicQOSMeasurement1, videoSink);</div><div>}</div><div>void periodicQOSMeasurement1(void* clientData) </div><div>{struct timeval timeNow;</div>
<div>int64_t uSecsToDelay1=1000000;</div><div><br></div><div>RTPSink* sink = (RTPSink*)clientData;</div><div><br></div><div><br></div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span>gettimeofday(&timeNow, NULL);</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">     </span>s1=timeNow.tv_sec;</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>printf("value of s1 %d\n",s1);</div><div>
<span class="Apple-tab-span" style="white-space:pre"> </span>o1=<span class="Apple-tab-span" style="white-space:pre"> </span>videoSink->octetCount();</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>printf("value of o1 %d\n",o1);</div>
<div><br></div><div><br></div><div><br></div><div>env->taskScheduler().scheduleDelayedTask(uSecsToDelay1, (TaskFunc*)periodicQOSMeasurement2,sink);</div><div><br></div><div><br></div><div>}</div><div><br></div><div><br>
</div><div>void periodicQOSMeasurement2(void* clientData) </div><div>{</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>struct timeval timeNow;</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>RTPSink* sink = (RTPSink*)clientData;</div>
<div><span class="Apple-tab-span" style="white-space:pre">      </span>gettimeofday(&timeNow, NULL);</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>s2=timeNow.tv_sec;</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>printf("value of s2 %d\n",s2);</div>
<div><span class="Apple-tab-span" style="white-space:pre">      </span>o2=<span class="Apple-tab-span" style="white-space:pre"> </span>videoSink->octetCount();</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>printf("value of o2 %d\n",o2);</div>
<div><span class="Apple-tab-span" style="white-space:pre">      </span>float mbits_sent = (o2 - o1) / 1024.0/ (s2 - s1);</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>printf("mbits_sent is %f\n",mbits_sent);</div>
<div><span class="Apple-tab-span" style="white-space:pre">      </span>env->taskScheduler().scheduleDelayedTask(uSecsToDelay2, (TaskFunc*)periodicQOSMeasurement1,sink);</div><div><br></div><div>}</div></div><div><br></div><div>
<br></div><div><br></div><div><b>Ross i am having 2 ques now</b></div><div><b>1>whether it will be kilo bits per second or kilo bytes per second?</b></div><div><b>2>for the same file i am getting streaming bit/byte rate of 24.565 and 25.365 and if i stream the same file using vlc i am getting stream bit rate always above 100Kb/s, i am streaming the file given by you "bipbop-gear1-all.ts". </b></div>