shithub: openh264

ref: b5e1746b87c9a4dd94acd9d99c5aed6d4af1fe6d
dir: /test/utils/FileInputStream.h/

View raw version
#ifndef __FILEINPUTSTREAM_H__
#define __FILEINPUTSTREAM_H__

#include <fstream>
#include "InputStream.h"

class FileInputStream : public InputStream {
 public:
  bool Open(const char* fileName) {
    file_.open(fileName, std::ios_base::in | std::ios_base::binary);
    return file_.is_open();
  }
  int read(void* ptr, size_t len) {
    if (!file_.good()) {
      return -1;
    }
    file_.read(static_cast<char*>(ptr), len);
    return file_.gcount();
  }
 private:
  std::ifstream file_;
};

#endif //__FILEINPUTSTREAM_H__