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); } }