void setCurrentPos(qint64 pos)
 {
     QWriteLocker locker(&m_lock);
     m_pos = pos;
     seekStream(pos);
     m_buffer.clear();
 }
Ejemplo n.º 2
0
void seekFrameAbs(int frameId)
{
    openni::VideoStream* pStream = NULL;
    openni::VideoFrameRef* pCurFrame = NULL;

    pStream = getSeekingStream(pCurFrame);
    if (pStream == NULL)
        return;

    seekStream(pStream, pCurFrame, frameId);
}
Ejemplo n.º 3
0
void StreamReader::setCurrentPos(qint64 pos)
{
    QMutexLocker lock(&m_mutex);
    m_pos = pos;
    m_buffer.clear(); // Not optimal, but meh

    // Do not touch m_size here, it reflects the size of the stream not the size of the buffer,
    // and generally seeking does not change the size!

    seekStream(pos);
}
Ejemplo n.º 4
0
void seekFrame(int nDiff)
{
    // Make sure seek is required.
    if (nDiff == 0)
    {
        return;
    }

    openni::VideoStream* pStream = NULL;
    openni::VideoFrameRef* pCurFrame = NULL;

    pStream = getSeekingStream(pCurFrame);
    if (pStream == NULL)
        return;

    int frameId = pCurFrame->getFrameIndex();
    // Calculate the new frame ID
    frameId = (frameId + nDiff < 1) ? 1 : frameId + nDiff;

    seekStream(pStream, pCurFrame, frameId);
}