openh264/test/utils/FileInputStream.h

25 lines
526 B
C
Raw Normal View History

#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) {
2014-02-05 11:04:32 +01:00
if (!file_.good()) {
return -1;
}
file_.read(static_cast<char*>(ptr), len);
2014-02-05 11:04:32 +01:00
return file_.gcount();
}
private:
std::ifstream file_;
};
#endif //__FILEINPUTSTREAM_H__