diff options
author | Daniel Meyerholt <dxm523@googlemail.com> | 2011-02-13 12:31:02 +0100 |
---|---|---|
committer | Daniel Meyerholt <dxm523@googlemail.com> | 2011-02-13 12:31:02 +0100 |
commit | 0dbc12ff0198db5ccdf19ab8be330eb2c0d1ba54 (patch) | |
tree | 0aa8517270a35bc1aa28da09f87371b5de38f545 | |
parent | 19250a33e3be90c6aed72a47e1e7d7239f00de8e (diff) | |
download | vdr-plugin-vdrrip-0dbc12ff0198db5ccdf19ab8be330eb2c0d1ba54.tar.gz vdr-plugin-vdrrip-0dbc12ff0198db5ccdf19ab8be330eb2c0d1ba54.tar.bz2 |
* Fixed movie length detection
-rwxr-xr-x | movie.c | 30 |
1 files changed, 8 insertions, 22 deletions
@@ -18,7 +18,7 @@ #endif //VDRRIP_DVD #include <vdr/plugin.h> - +#include <vdr/recording.h> #include "movie.h" #include "menu-vdrrip.h" #include "a-tools.h" @@ -494,29 +494,15 @@ const char* cMovie::getPPValues() {return PPValues;} void cMovie::setLengthVDR() { - char *file = NULL; - - asprintf(&file, OldRecording?"%s/index.vdr":"%s/index", Dir); - FILE *f = fopen(file, "r"); - if (f) { - fseek(f, 0, SEEK_END); - if (OldRecording) { - Length = ftell(f) / 200; - } else { - Length = 30000; //FIXME urgent - } - dsyslog ("[vdrrip] length: %i ",Length); - fclose(f); - } else { - dsyslog("[vdrrip] could not open file %s !", file); - dsyslog("[vdrrip] perhaps you have to create it with genindex.c !"); - Length = -1; - } - - FREE(file); + cRecordingInfo *crec= new cRecordingInfo(Dir); + cIndexFile *ifile = new cIndexFile(Dir,false,OldRecording); + Length = ifile->Last()/ crec->FramesPerSecond(); + delete(ifile); + delete(crec); + dsyslog ("[vdrrip] length: %i ",Length); } - +//TODO: maybe get these out of cRecordingInfo et al. ? void cMovie::queryMpValuesVDR() { char *cmd = NULL, *s = NULL; |