Exemplo n.º 1
0
	void chk_sdp_done1 ()
	{
		if (mp_sdp_line) {
			m_done = 1;
		}
		else if (mp_dump_sink && mp_dump_sink->auxSDPLine()) {
			mp_sdp_line = strdup(mp_dump_sink->auxSDPLine());
			mp_dump_sink = 0;
			m_done = 1;
		}
		else {
			// try again
			nextTask() = envir().taskScheduler().scheduleDelayedTask(100000,	// 100ms
					chk_sdp_done, this);
		}
	}
static void checkForAuxSDPLine(void* clientData) {
  RTPSink* sink = (RTPSink*)clientData;
  if (sink->auxSDPLine() != NULL) {
    // Signal the event loop that we're done:
    doneFlag = ~0;
  } else {
    // No luck yet.  Try again, after a brief delay:
    int uSecsToDelay = 100000; // 100 ms
    env->taskScheduler().scheduleDelayedTask(uSecsToDelay,
					     (TaskFunc*)checkForAuxSDPLine, sink);
  }
}