void setCurrentPos(qint64 pos) { QWriteLocker locker(&m_lock); m_pos = pos; seekStream(pos); m_buffer.clear(); }
void seekFrameAbs(int frameId) { openni::VideoStream* pStream = NULL; openni::VideoFrameRef* pCurFrame = NULL; pStream = getSeekingStream(pCurFrame); if (pStream == NULL) return; seekStream(pStream, pCurFrame, frameId); }
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); }
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); }