[Live-devel] Live streaming stops after half an hour

Priya Raghavendra Priya_Raghavendra at mindtree.com
Mon May 23 23:23:09 PDT 2011


Hi,

We have been facing this problem of live streaming stopping exactly after half an hour.
The same code works on Linux OS but windows this issue is there. The readData function does not get called,
And it does not get into the loop isCurrentlyAwaitingData.
So incomingDataHandler1 itself is not getting called.
Under what conditions will live stop calling incomingDataHandler1 ?

void LiveInputSource:: incomingDataHandler1()
{
    int ret;
    if (!isCurrentlyAwaitingData())
    {
          printf("isCurrentlyAwaitingData\n");
          return ;
    }

    ret = readData();
    if (ret < 0 )
    {
        handleClosure (this);
       printf("handleClosure (this)\n");
    }
    else if (ret == 0 )
    {
        int uSecsToDelay = 50000 ;
        nextTask() = envir().taskScheduler().scheduleDelayedTask (uSecsToDelay, (TaskFunc*)incomingDataHandler, this);
    }
    else {
        nextTask() = envir().taskScheduler().scheduleDelayedTask (0, (TaskFunc*)afterGetting, this);
    }
}

int LiveInputVideoSource:: readData()
{
    /* Get frame from queue */
    queue_get (frame, &frame_len);
    if (frame_len == 0)
    {
        return -1;
    }

    /* Copy frame to fTo */
    memcpy (fTo, frame, frame_len);
    fFrameSize = frame_len;

    /* Presentation Time */
    gettimeofday (&fPresentationTime);
    return 1;
}

Thanks,
Priya


________________________________

http://www.mindtree.com/email/disclaimer.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20110524/757796fd/attachment.html>


More information about the live-devel mailing list