Esempio n. 1
0
void MPEG1or2Demux::getNextFrame(u_int8_t streamIdTag,
                                 unsigned char *to, unsigned maxSize,
                                 FramedSource::afterGettingFunc *afterGettingFunc,
                                 void *afterGettingClientData,
                                 FramedSource::onCloseFunc *onCloseFunc,
                                 void *onCloseClientData)
{
    // First, check whether we have saved data for this stream id:
    if (useSavedData(streamIdTag, to, maxSize,
                     afterGettingFunc, afterGettingClientData))
    {
        return;
    }

    // Then save the parameters of the specified stream id:
    registerReadInterest(streamIdTag, to, maxSize,
                         afterGettingFunc, afterGettingClientData,
                         onCloseFunc, onCloseClientData);

    // Next, if we're the only currently pending read, continue looking for data:
    if (fNumPendingReads == 1 || fHaveUndeliveredData)
    {
        fHaveUndeliveredData = 0;
        continueReadProcessing();
    } // otherwise the continued read processing has already been taken care of
}
void MPEGVideoStreamFramer::doGetNextFrame() {
     //qDebug()<<"void MPEGVideoStreamFramer::doGetNextFrame() {  140";
  fParser->registerReadInterest(fTo, fMaxSize);
  continueReadProcessing();
}
void MPEG1or2AudioStreamFramer::doGetNextFrame() {
  fParser->registerReadInterest(fTo, fMaxSize);
  continueReadProcessing();
}
void H263plusVideoStreamFramer::doGetNextFrame()
{
  fParser->registerReadInterest(fTo, fMaxSize);
  continueReadProcessing();
}