|
Grok 10.0.3
|
#include <BufferedStream.h>
Public Member Functions | |
| BufferedStream (uint8_t *buffer, size_t buffer_size, bool l_is_input) | |
| grk_stream * | getWrapper (void) |
| void | setUserData (void *data, grk_stream_free_user_data_fn freeUserDataFun) override |
| void * | getUserData (void) override |
| void | setUserDataLength (uint64_t len) override |
| uint32_t | getStatus (void) override |
| void | setReadFunction (grk_stream_read_fn fn) override |
| void | setZeroCopyReadFunction (grk_stream_zero_copy_read_fn fn) override |
| void | setWriteFunction (grk_stream_write_fn fn) override |
| void | setSeekFunction (grk_stream_seek_fn fn) override |
| size_t | read (uint8_t *buffer, size_t p_size) |
| Reads some bytes from the stream. More... | |
| bool | writeShort (uint16_t value) |
| bool | write24 (uint32_t value) |
| bool | writeInt (uint32_t value) |
| bool | write64 (uint64_t value) |
| bool | writeByte (uint8_t value) |
| size_t | writeBytes (const uint8_t *buffer, size_t p_size) |
| Write bytes to stream (no correction for endian!). More... | |
| bool | flush () |
| Flush stream to disk. More... | |
| bool | skip (int64_t p_size) |
| Skip bytes in stream. More... | |
| uint64_t | tell (void) |
| Tells byte offset of stream (similar to ftell). More... | |
| uint64_t | numBytesLeft (void) |
| Get the number of bytes left before end of stream. More... | |
| bool | seek (uint64_t offset) override |
| Seek bytes from the stream (absolute) More... | |
| bool | hasSeek () override |
| Check if stream is seekable. More... | |
| bool | supportsZeroCopy () override |
| uint8_t * | getZeroCopyPtr () override |
| void | setFormat (GRK_CODEC_FORMAT format) override |
| GRK_CODEC_FORMAT | getFormat (void) override |
Public Member Functions inherited from grk::IBufferedStream | |
| virtual | ~IBufferedStream ()=default |
| virtual uint32_t | getStatus (void)=0 |
| virtual void * | getUserData (void)=0 |
| virtual void | setUserData (void *data, grk_stream_free_user_data_fn freeUserDataFun)=0 |
| virtual void | setUserDataLength (uint64_t len)=0 |
| virtual void | setReadFunction (grk_stream_read_fn fn)=0 |
| virtual void | setZeroCopyReadFunction (grk_stream_zero_copy_read_fn fn)=0 |
| virtual void | setWriteFunction (grk_stream_write_fn fn)=0 |
| virtual void | setSeekFunction (grk_stream_seek_fn fn)=0 |
| virtual bool | supportsZeroCopy ()=0 |
| virtual uint8_t * | getZeroCopyPtr ()=0 |
| virtual size_t | read (uint8_t *buffer, size_t p_size)=0 |
| Reads some bytes from the stream. More... | |
| virtual bool | writeShort (uint16_t value)=0 |
| virtual bool | write24 (uint32_t value)=0 |
| virtual bool | writeInt (uint32_t value)=0 |
| virtual bool | write64 (uint64_t value)=0 |
| virtual bool | writeByte (uint8_t value)=0 |
| virtual size_t | writeBytes (const uint8_t *buffer, size_t p_size)=0 |
| Write bytes to the stream. More... | |
| virtual bool | flush ()=0 |
| Flush write stream to disk. More... | |
| virtual bool | skip (int64_t p_size)=0 |
| Skip bytes in stream, forward or reverse. More... | |
| virtual uint64_t | tell (void)=0 |
| Tell byte offset in stream (similar to ftell). More... | |
| virtual uint64_t | numBytesLeft (void)=0 |
| Get number of bytes left before end of the stream. More... | |
| virtual bool | seek (uint64_t offset)=0 |
| Seek to absolute offset in stream. More... | |
| virtual bool | hasSeek ()=0 |
| Check if stream is seekable. More... | |
| virtual void | setFormat (GRK_CODEC_FORMAT format)=0 |
| virtual GRK_CODEC_FORMAT | getFormat (void)=0 |
Static Public Member Functions | |
| static IBufferedStream * | getImpl (grk_stream *stream) |
Public Attributes | |
| friend | GrkObjectWrapperImpl< BufferedStream > |
Private Member Functions | |
| ~BufferedStream () | |
| bool | write_skip (int64_t p_size) |
| Skip bytes in write stream. More... | |
| bool | read_skip (int64_t p_size) |
| Skip bytes in read stream. More... | |
| bool | read_seek (uint64_t offset) |
| Absolute seek in read stream. More... | |
| bool | write_seek (uint64_t offset) |
| Absolute seek in write stream. More... | |
| void | writeIncrement (size_t p_size) |
| template<typename TYPE > | |
| bool | write (TYPE value, uint8_t numBytes) |
| void | invalidate_buffer () |
| bool | isMemStream () |
Private Attributes | |
| grk_object | obj |
| void * | user_data_ |
| user data More... | |
| grk_stream_free_user_data_fn | free_user_data_fn_ |
| Pointer to function to free user_data_ (nullptr at initialization) when destroying the stream. More... | |
| uint64_t | user_data_length_ |
| User data length. More... | |
| grk_stream_read_fn | read_fn_ |
| Pointer to actual read function (nullptr at initialization). More... | |
| grk_stream_zero_copy_read_fn | zero_copy_read_fn_ |
| Pointer to actual zero copy read function (nullptr at initialization). More... | |
| grk_stream_write_fn | write_fn_ |
| Pointer to actual write function (nullptr at initialization). More... | |
| grk_stream_seek_fn | seek_fn_ |
| Pointer to actual seek function (if available). More... | |
| uint32_t | status_ |
| Stream status flags. More... | |
| grk_buf8 * | buf_ |
| size_t | buffered_bytes_ |
| size_t | read_bytes_seekable_ |
| uint64_t | stream_offset_ |
| GRK_CODEC_FORMAT | format_ |
| grk::BufferedStream::BufferedStream | ( | uint8_t * | buffer, |
| size_t | buffer_size, | ||
| bool | l_is_input | ||
| ) |
References buf_, obj, and _grk_object::wrapper.
|
private |
References buf_, free_user_data_fn_, and user_data_.
|
virtual |
Flush stream to disk.
Implements grk::IBufferedStream.
References grk::grk_buf< T, A >::buf, buf_, buffered_bytes_, grk::grk_buf< T, A >::currPtr(), grk::GRK_ERROR(), GROK_STREAM_STATUS_ERROR, grk::grk_buf< T, A >::incrementOffset(), isMemStream(), grk::grk_buf< T, A >::offset, read_bytes_seekable_, status_, user_data_, and write_fn_.
Referenced by write(), write_seek(), and writeBytes().
|
overridevirtual |
Implements grk::IBufferedStream.
References format_.
|
static |
References _grk_object::wrapper.
Referenced by grk::get_mem_stream_offset(), and grk::grk_stream_set_zero_copy_read_function().
|
overridevirtual |
Implements grk::IBufferedStream.
References status_.
|
overridevirtual |
Implements grk::IBufferedStream.
References user_data_.
| grk_stream * grk::BufferedStream::getWrapper | ( | void | ) |
References obj.
|
overridevirtual |
Implements grk::IBufferedStream.
References buf_, and grk::grk_buf< T, A >::currPtr().
|
overridevirtual |
|
private |
References buf_, buffered_bytes_, GROK_STREAM_STATUS_INPUT, grk::grk_buf< T, A >::offset, read_bytes_seekable_, and status_.
Referenced by read(), read_seek(), and write_seek().
|
private |
References buf_, and grk::grk_buf< T, A >::owns_data.
Referenced by flush(), supportsZeroCopy(), write(), write_seek(), writeBytes(), and writeIncrement().
|
virtual |
Get the number of bytes left before end of stream.
Implements grk::IBufferedStream.
References stream_offset_, and user_data_length_.
|
virtual |
Reads some bytes from the stream.
| buffer | pointer to the data buffer that will receive the data. |
| p_size | number of bytes to read. |
Implements grk::IBufferedStream.
References grk::grk_buf< T, A >::buf, buf_, buffered_bytes_, grk::grk_buf< T, A >::currPtr(), grk::GRK_ERROR(), GROK_STREAM_STATUS_END, grk::grk_buf< T, A >::incrementOffset(), invalidate_buffer(), grk::grk_buf< T, A >::len, read_bytes_seekable_, read_fn_, status_, stream_offset_, supportsZeroCopy(), user_data_, and user_data_length_.
|
private |
Absolute seek in read stream.
| offset | absolute offset |
References grk::grk_buf< T, A >::buf, buf_, buffered_bytes_, grk::grk_buf< T, A >::currPtr(), GROK_STREAM_STATUS_END, GROK_STREAM_STATUS_ERROR, grk::grk_buf< T, A >::incrementOffset(), invalidate_buffer(), read_bytes_seekable_, seek_fn_, status_, stream_offset_, user_data_, and user_data_length_.
Referenced by read_skip(), and seek().
|
private |
Skip bytes in read stream.
| p_size | the number of bytes to skip. |
References read_seek(), and stream_offset_.
Referenced by skip().
|
overridevirtual |
Seek bytes from the stream (absolute)
| offset | the number of bytes to skip. |
Implements grk::IBufferedStream.
References GROK_STREAM_STATUS_INPUT, read_seek(), status_, and write_seek().
|
overridevirtual |
Implements grk::IBufferedStream.
References hwy::format, and format_.
|
overridevirtual |
Implements grk::IBufferedStream.
References read_fn_.
|
overridevirtual |
Implements grk::IBufferedStream.
References seek_fn_.
|
overridevirtual |
Implements grk::IBufferedStream.
References free_user_data_fn_, and user_data_.
|
overridevirtual |
Implements grk::IBufferedStream.
References user_data_length_.
|
overridevirtual |
Implements grk::IBufferedStream.
References write_fn_.
|
overridevirtual |
Implements grk::IBufferedStream.
References zero_copy_read_fn_.
|
virtual |
Skip bytes in stream.
| p_size | the number of bytes to skip. |
Implements grk::IBufferedStream.
References GROK_STREAM_STATUS_INPUT, read_skip(), status_, and write_skip().
|
overridevirtual |
Implements grk::IBufferedStream.
References GROK_STREAM_STATUS_INPUT, isMemStream(), and status_.
Referenced by read().
|
virtual |
Tells byte offset of stream (similar to ftell).
Implements grk::IBufferedStream.
References stream_offset_.
|
private |
|
virtual |
Implements grk::IBufferedStream.
|
virtual |
Implements grk::IBufferedStream.
|
private |
Absolute seek in write stream.
| offset | absolute offset |
References buf_, flush(), GROK_STREAM_STATUS_ERROR, invalidate_buffer(), isMemStream(), grk::grk_buf< T, A >::offset, seek_fn_, status_, stream_offset_, and user_data_.
Referenced by seek(), and write_skip().
|
private |
Skip bytes in write stream.
| p_size | the number of bytes to skip. |
References stream_offset_, and write_seek().
Referenced by skip().
|
virtual |
Implements grk::IBufferedStream.
References writeBytes().
|
virtual |
Write bytes to stream (no correction for endian!).
| buffer | pointer to the data buffer holds the data to be written. |
| p_size | number of bytes to write. |
Implements grk::IBufferedStream.
References buf_, buffered_bytes_, grk::grk_buf< T, A >::currPtr(), flush(), GROK_STREAM_STATUS_ERROR, isMemStream(), grk::grk_buf< T, A >::len, grk::grk_buf< T, A >::offset, status_, stream_offset_, user_data_, write_fn_, and writeIncrement().
Referenced by writeByte().
|
private |
References buf_, buffered_bytes_, grk::grk_buf< T, A >::incrementOffset(), isMemStream(), and stream_offset_.
Referenced by write(), and writeBytes().
|
virtual |
Implements grk::IBufferedStream.
|
virtual |
Implements grk::IBufferedStream.
|
private |
Referenced by BufferedStream(), flush(), getZeroCopyPtr(), invalidate_buffer(), isMemStream(), read(), read_seek(), write(), write_seek(), writeBytes(), writeIncrement(), and ~BufferedStream().
|
private |
Referenced by flush(), invalidate_buffer(), read(), read_seek(), write(), writeBytes(), and writeIncrement().
|
private |
Referenced by getFormat(), and setFormat().
|
private |
Pointer to function to free user_data_ (nullptr at initialization) when destroying the stream.
If pointer is nullptr the function is not called and the user_data_ is not freed (even if it isn't nullptr).
Referenced by setUserData(), and ~BufferedStream().
| friend grk::BufferedStream::GrkObjectWrapperImpl< BufferedStream > |
|
private |
Referenced by BufferedStream(), and getWrapper().
|
private |
Referenced by flush(), invalidate_buffer(), read(), and read_seek().
|
private |
Pointer to actual read function (nullptr at initialization).
Referenced by read(), and setReadFunction().
|
private |
Pointer to actual seek function (if available).
Referenced by hasSeek(), read_seek(), setSeekFunction(), write(), and write_seek().
|
private |
Stream status flags.
Referenced by flush(), getStatus(), invalidate_buffer(), read(), read_seek(), seek(), skip(), supportsZeroCopy(), write(), write_seek(), and writeBytes().
|
private |
Referenced by numBytesLeft(), read(), read_seek(), read_skip(), tell(), write(), write_seek(), write_skip(), writeBytes(), and writeIncrement().
|
private |
user data
Referenced by flush(), getUserData(), read(), read_seek(), setUserData(), write(), write_seek(), writeBytes(), and ~BufferedStream().
|
private |
User data length.
Currently set to size of file for file read stream, and size of buffer for buffer read/write stream
Referenced by numBytesLeft(), read(), read_seek(), and setUserDataLength().
|
private |
Pointer to actual write function (nullptr at initialization).
Referenced by flush(), setWriteFunction(), and writeBytes().
|
private |
Pointer to actual zero copy read function (nullptr at initialization).
Referenced by setZeroCopyReadFunction().