解决win32下大文件点播不了问题 (#1188)

This commit is contained in:
Dw9 2021-10-26 20:35:55 +08:00 committed by GitHub
parent 434d6a73a1
commit bb9695a247
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 11 deletions

View File

@ -200,11 +200,11 @@ int MP4FileDisk::onWrite(const void *data, size_t bytes) {
return bytes == fwrite(data, 1, bytes, _file.get()) ? 0 : ferror(_file.get()); return bytes == fwrite(data, 1, bytes, _file.get()) ? 0 : ferror(_file.get());
} }
int MP4FileDisk::onSeek(size_t offset) { int MP4FileDisk::onSeek(uint64_t offset) {
return fseek64(_file.get(), offset, SEEK_SET); return fseek64(_file.get(), offset, SEEK_SET);
} }
size_t MP4FileDisk::onTell() { uint64_t MP4FileDisk::onTell() {
return ftell64(_file.get()); return ftell64(_file.get());
} }
@ -221,11 +221,11 @@ size_t MP4FileMemory::fileSize() const{
return _memory.size(); return _memory.size();
} }
size_t MP4FileMemory::onTell(){ uint64_t MP4FileMemory::onTell(){
return _offset; return _offset;
} }
int MP4FileMemory::onSeek(size_t offset){ int MP4FileMemory::onSeek(uint64_t offset){
if (offset > _memory.size()) { if (offset > _memory.size()) {
return -1; return -1;
} }

View File

@ -62,14 +62,14 @@ public:
/** /**
* *
*/ */
virtual size_t onTell() = 0; virtual uint64_t onTell() = 0;
/** /**
* seek至文件某处 * seek至文件某处
* @param offset * @param offset
* @return (0) * @return (0)
*/ */
virtual int onSeek(size_t offset) = 0; virtual int onSeek(uint64_t offset) = 0;
/** /**
* *
@ -108,8 +108,8 @@ public:
void closeFile(); void closeFile();
protected: protected:
size_t onTell() override; uint64_t onTell() override;
int onSeek(size_t offset) override; int onSeek(uint64_t offset) override;
int onRead(void *data, size_t bytes) override; int onRead(void *data, size_t bytes) override;
int onWrite(const void *data, size_t bytes) override; int onWrite(const void *data, size_t bytes) override;
@ -134,13 +134,13 @@ public:
string getAndClearMemory(); string getAndClearMemory();
protected: protected:
size_t onTell() override; uint64_t onTell() override;
int onSeek(size_t offset) override; int onSeek(uint64_t offset) override;
int onRead(void *data, size_t bytes) override; int onRead(void *data, size_t bytes) override;
int onWrite(const void *data, size_t bytes) override; int onWrite(const void *data, size_t bytes) override;
private: private:
size_t _offset = 0; uint64_t _offset = 0;
string _memory; string _memory;
}; };