xbmc
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
KODI::RETRO::CDeltaPairMemoryStream Class Reference

Implementation of a linear memory stream using XOR deltas. More...

#include <DeltaPairMemoryStream.h>

Inheritance diagram for KODI::RETRO::CDeltaPairMemoryStream:
Inheritance graph
[legend]
Collaboration diagram for KODI::RETRO::CDeltaPairMemoryStream:
Collaboration graph
[legend]

Classes

struct  DeltaPair
 
struct  MemoryFrame
 

Public Member Functions

void Reset () override
 Free any resources used by this stream.
 
uint64_t PastFramesAvailable () const override
 Return the number of frames behind the current frame.
 
uint64_t RewindFrames (uint64_t frameCount) override
 Seek backwards the specified number of frames. More...
 
- Public Member Functions inherited from KODI::RETRO::CLinearMemoryStream
void Init (size_t frameSize, uint64_t maxFrameCount) override
 Initialize memory stream. More...
 
void Reset () override
 Free any resources used by this stream.
 
size_t FrameSize () const override
 Return the frame size passed to Init()
 
uint64_t MaxFrameCount () const override
 Return the current max frame count.
 
void SetMaxFrameCount (uint64_t maxFrameCount) override
 Update the max frame count. More...
 
uint8_t * BeginFrame () override
 
void SubmitFrame () override
 Indicate that a frame of size FrameSize() has been written to the location returned from BeginFrame()
 
const uint8_t * CurrentFrame () const override
 Get a pointer to the current frame. More...
 
uint64_t FutureFramesAvailable () const override
 Return the number of frames ahead of the current frame. More...
 
uint64_t AdvanceFrames (uint64_t frameCount) override
 Seek ahead the specified number of frames. More...
 
uint64_t GetFrameCounter () const override
 Get the total number of frames played until the current frame. More...
 
void SetFrameCounter (uint64_t frameCount) override
 Set the total number of frames played until the current frame. More...
 

Protected Types

using DeltaPairVector = std::vector< DeltaPair >
 

Protected Member Functions

void SubmitFrameInternal () override
 
void CullPastFrames (uint64_t frameCount) override
 
- Protected Member Functions inherited from KODI::RETRO::CLinearMemoryStream
uint64_t BufferSize () const
 

Protected Attributes

std::deque< MemoryFramem_rewindBuffer
 
- Protected Attributes inherited from KODI::RETRO::CLinearMemoryStream
size_t m_paddedFrameSize
 
uint64_t m_maxFrames
 
std::unique_ptr< uint32_t[]> m_currentFrame
 Simple double-buffering. More...
 
std::unique_ptr< uint32_t[]> m_nextFrame
 
bool m_bHasCurrentFrame
 
bool m_bHasNextFrame
 
uint64_t m_currentFrameHistory
 

Detailed Description

Implementation of a linear memory stream using XOR deltas.

Member Function Documentation

◆ RewindFrames()

uint64_t CDeltaPairMemoryStream::RewindFrames ( uint64_t  frameCount)
overridevirtual

Seek backwards the specified number of frames.

Returns
The number of frames rewound

Implements KODI::RETRO::CLinearMemoryStream.


The documentation for this class was generated from the following files: