migrate eDVBServiceOfflineOperations to new iDataSource::read function
authorghost <andreas.monzner@multimedia-labs.de>
Wed, 10 Nov 2010 16:17:45 +0000 (17:17 +0100)
committerghost <andreas.monzner@multimedia-labs.de>
Wed, 10 Nov 2010 16:17:45 +0000 (17:17 +0100)
lib/service/servicedvb.cpp

index e498dd420933f8780feb42b1189300933eb8b5d3..9cac25fa0207a1632d9c380a4548917faf7c8a5e 100644 (file)
@@ -503,18 +503,19 @@ RESULT eDVBPVRServiceOfflineOperations::reindex()
        int err = f.open(m_ref.path.c_str(), 0);
        if (err < 0)
                return -1;
-       
+
+       off_t offset = 0;
        off_t length = f.length();
        unsigned char buffer[188*256*4];
        while (1)
        {
-               off_t offset = f.lseek(0, SEEK_CUR);
                eDebug("at %08llx / %08llx (%d %%)", offset, length, (int)(offset * 100 / length));
-               int r = f.read(buffer, sizeof(buffer));
+               int r = f.read(offset, buffer, sizeof(buffer));
                if (!r)
                        break;
                if (r < 0)
                        return r;
+               offset += r;
                parser.parseData(offset, buffer, r);
        }