ImageFrame* ImageDecoderQt::frameBufferAtIndex(size_t index) { // In case the ImageDecoderQt got recreated we don't know // yet how many images we are going to have and need to // find that out now. size_t count = m_frameBufferCache.size(); if (!failed() && !count) { internalDecodeSize(); count = frameCount(); } if (index >= count) return 0; ImageFrame& frame = m_frameBufferCache[index]; if (frame.status() != ImageFrame::FrameComplete && m_reader) internalReadImage(index); return &frame; }
RGBA32Buffer* ImageDecoderQt::frameBufferAtIndex(size_t index) { // In case the ImageDecoderQt got recreated we don't know // yet how many images we are going to have and need to // find that out now. int count = m_frameBufferCache.size(); if (!m_failed && count == 0) { internalDecodeSize(); count = frameCount(); } if (index >= static_cast<size_t>(count)) return 0; RGBA32Buffer& frame = m_frameBufferCache[index]; if (frame.status() != RGBA32Buffer::FrameComplete && m_reader) internalReadImage(index); return &frame; }