diff --git a/libspark/playback_libeplayer3.cpp b/libspark/playback_libeplayer3.cpp index 84efe2b..b095ca1 100644 --- a/libspark/playback_libeplayer3.cpp +++ b/libspark/playback_libeplayer3.cpp @@ -1,3 +1,4 @@ +#define __USE_FILE_OFFSET64 1 #include #include #include @@ -73,8 +74,8 @@ bool cPlayback::Start(char *filename, int vpid, int vtype, int apid, int ac3, in if (player->Open(file.c_str(), no_probe)) { if (pm == PLAYMODE_TS) { - struct stat s; - if (!stat(file.c_str(), &s)) + struct stat64 s; + if (!stat64(file.c_str(), &s)) last_size = s.st_size; ret = true; videoDecoder->Stop(false); @@ -209,12 +210,12 @@ bool cPlayback::GetPosition(int &position, int &duration) /* hack: if the file is growing (timeshift), then determine its length * by comparing the mtime with the mtime of the xml file */ if (pm == PLAYMODE_TS) { - struct stat s; - if (!stat(fn_ts.c_str(), &s)) { + struct stat64 s; + if (!stat64(fn_ts.c_str(), &s)) { if (!playing || last_size != s.st_size) { last_size = s.st_size; time_t curr_time = s.st_mtime; - if (!stat(fn_xml.c_str(), &s)) { + if (!stat64(fn_xml.c_str(), &s)) { duration = (curr_time - s.st_mtime) * 1000; if (!playing) return true; diff --git a/libspark/playback_libeplayer3.h b/libspark/playback_libeplayer3.h index 08186d9..efa1a23 100644 --- a/libspark/playback_libeplayer3.h +++ b/libspark/playback_libeplayer3.h @@ -26,7 +26,7 @@ class cPlayback playmode_t pm; std::string fn_ts; std::string fn_xml; - off_t last_size; + off64_t last_size; int init_jump; Player *player; const char *(*ProgramSelectionCallback)(void *, std::vector &keys, std::vector &values);