Grok 20.3.2
grk::StreamGenerator Class Reference

#include <StreamGenerator.h>

Public Member Functions

 StreamGenerator (grk_stream_params *src)
IStreamcreate (void)

Private Member Functions

size_t getDoubleBufferLength (size_t configuredLength)
size_t getInitialDoubleBufferLength (size_t configuredLength)
IStreamcreateCurlFetchStream (void)
IStreamcreateFileStream (void)
IStreamcreateCallbackStream (void)
IStreamcreateBufferStream (bool isReadStream)
bool validateStream (IStream *stream)
template<size_t N>
void safe_strcpy (char(&dest)[N], const char *src)

Static Private Member Functions

static size_t grkReadFromFile (uint8_t *buffer, size_t numBytes, void *p_file)
static uint64_t getDataLengthFromFile (void *filePtr)
static size_t grkWriteToFile (const uint8_t *buffer, size_t numBytes, void *p_file)
static bool grkSeekInFile (uint64_t numBytes, void *p_user_data)
static void grkFreeFile (void *p_user_data)

Private Attributes

grk_stream_params streamParams_ {}

Static Private Attributes

static constexpr size_t DEFAULT_BUFFER_LEN = 4096
static constexpr size_t DEFAULT_INITIAL_BUFFER_LEN = 512 * 1024
static constexpr bool useCallbacks = false

Constructor & Destructor Documentation

◆ StreamGenerator()

grk::StreamGenerator::StreamGenerator ( grk_stream_params * src)
inline

References safe_strcpy(), and streamParams_.

Member Function Documentation

◆ create()

◆ createBufferStream()

IStream * grk::StreamGenerator::createBufferStream ( bool isReadStream)
inlineprivate

References grk::grklog, grk::memStreamCreate(), and streamParams_.

Referenced by create().

◆ createCallbackStream()

IStream * grk::StreamGenerator::createCallbackStream ( void )
private

◆ createCurlFetchStream()

◆ createFileStream()

◆ getDataLengthFromFile()

uint64_t grk::StreamGenerator::getDataLengthFromFile ( void * filePtr)
inlinestaticprivate

References GRK_FSEEK, and GRK_FTELL.

Referenced by createFileStream().

◆ getDoubleBufferLength()

size_t grk::StreamGenerator::getDoubleBufferLength ( size_t configuredLength)
inlineprivate

◆ getInitialDoubleBufferLength()

size_t grk::StreamGenerator::getInitialDoubleBufferLength ( size_t configuredLength)
inlineprivate

◆ grkFreeFile()

void grk::StreamGenerator::grkFreeFile ( void * p_user_data)
inlinestaticprivate

Referenced by createFileStream().

◆ grkReadFromFile()

size_t grk::StreamGenerator::grkReadFromFile ( uint8_t * buffer,
size_t numBytes,
void * p_file )
inlinestaticprivate

Referenced by createFileStream().

◆ grkSeekInFile()

bool grk::StreamGenerator::grkSeekInFile ( uint64_t numBytes,
void * p_user_data )
inlinestaticprivate

References GRK_FSEEK.

Referenced by createFileStream().

◆ grkWriteToFile()

size_t grk::StreamGenerator::grkWriteToFile ( const uint8_t * buffer,
size_t numBytes,
void * p_file )
inlinestaticprivate

Referenced by createFileStream().

◆ safe_strcpy()

template<size_t N>
void grk::StreamGenerator::safe_strcpy ( char(&) dest[N],
const char * src )
inlineprivate

Referenced by StreamGenerator().

◆ validateStream()

Member Data Documentation

◆ DEFAULT_BUFFER_LEN

size_t grk::StreamGenerator::DEFAULT_BUFFER_LEN = 4096
staticconstexprprivate

Referenced by getDoubleBufferLength().

◆ DEFAULT_INITIAL_BUFFER_LEN

size_t grk::StreamGenerator::DEFAULT_INITIAL_BUFFER_LEN = 512 * 1024
staticconstexprprivate

◆ streamParams_

◆ useCallbacks

bool grk::StreamGenerator::useCallbacks = false
staticconstexprprivate

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