Пример #1
0
QTSS_Error  QTSSCallbacks::QTSS_SignalStream(QTSS_StreamRef inStream)
{
    if (inStream == NULL)
        return QTSS_BadArgument;
    
    QTSSStream* theStream = (QTSSStream*)inStream;
    if (theStream->GetTask() != NULL)
        theStream->GetTask()->Signal(Task::kReadEvent);
    return QTSS_NoErr;
}
Пример #2
0
QTSS_Error  QTSSCallbacks::QTSS_SignalStream(QTSS_StreamRef inStream,QTSS_EventType inEventMask)
{
    if (inStream == NULL)
        return QTSS_BadArgument;
    
    QTSSStream* theStream = (QTSSStream*)inStream;
    if (theStream->GetTask() != NULL)
    {
    	//theStream->GetTask()->Signal(Task::kReadEvent);
	theStream->GetTask()->Signal(inEventMask);
    }	
    return QTSS_NoErr;
}
Пример #3
0
QTSS_Error  QTSSCallbacks::QTSS_RequestEvent(QTSS_StreamRef inStream, QTSS_EventType inEventMask)
{
    // First thing to do is to alter the thread's module state to reflect the fact
    // that an event is outstanding.
    QTSS_ModuleState* theState = (QTSS_ModuleState*)OSThread::GetMainThreadData();
    if (OSThread::GetCurrent() != NULL)
        theState = (QTSS_ModuleState*)OSThread::GetCurrent()->GetThreadData();
        
    if (theState == NULL)
        return QTSS_RequestFailed;
        
    if (theState->curTask == NULL)
        return QTSS_OutOfState;
        
    theState->eventRequested = true;
    
    // Now, tell this stream to be ready for the requested event
    QTSSStream* theStream = (QTSSStream*)inStream;
    theStream->SetTask(theState->curTask);
    theStream->RequestEvent(inEventMask);
    return QTSS_NoErr;
}