12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #include "file_avi_reader.h"
- AVIReaderFILE::AVIReaderFILE(const wchar_t *filename)
- {
- f = _wfopen(filename, L"rb");
- }
- int AVIReaderFILE::Read(void *buffer, uint32_t read_length, uint32_t *bytes_read)
- {
- *bytes_read = fread(buffer, 1, read_length, f);
- return nsavi::READ_OK;
- }
- int AVIReaderFILE::Peek(void *buffer, uint32_t read_length, uint32_t *bytes_read)
- {
- *bytes_read = fread(buffer, 1, read_length, f);
- fseek(f, -read_length, SEEK_CUR);
- return nsavi::READ_OK;
- }
- int AVIReaderFILE::Seek(uint64_t position)
- {
- fsetpos(f, (const fpos_t *)&position);
- return nsavi::READ_OK;
- }
- uint64_t AVIReaderFILE::Tell()
- {
- uint64_t pos;
- fgetpos(f, (fpos_t *)&pos);
- return pos;
- }
- int AVIReaderFILE::Skip(uint32_t skip_bytes)
- {
- fseek(f, skip_bytes, SEEK_CUR);
- return nsavi::READ_OK;
- }
- AVIReaderFILE::~AVIReaderFILE()
- {
- fclose(f);
- }
|