File: memory_buffer.h

package info (click to toggle)
pytorch-vision 0.21.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 20,228 kB
  • sloc: python: 65,904; cpp: 11,406; ansic: 2,459; java: 550; sh: 265; xml: 79; objc: 56; makefile: 33
file content (25 lines) | stat: -rw-r--r-- 591 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include "defs.h"

namespace ffmpeg {

/**
 * Class uses external memory buffer and implements a seekable interface.
 */
class MemoryBuffer {
 public:
  explicit MemoryBuffer(const uint8_t* buffer, size_t size);
  int64_t seek(int64_t offset, int whence);
  int read(uint8_t* buf, int size);

  // static constructor for decoder callback.
  static DecoderInCallback getCallback(const uint8_t* buffer, size_t size);

 private:
  const uint8_t* buffer_; // set at construction time
  long pos_{0}; // current position
  long len_{0}; // bytes in buffer
};

} // namespace ffmpeg