case 15:
result = processSetTimer(data, packetLength);
break;
+ case 16:
+ result = processPositionFromFrameNumber(data, packetLength);
+ break;
}
free(buffer);
return 1;
}
+int MVPClient::processPositionFromFrameNumber(UCHAR* data, int length)
+{
+ ULLONG retval = 0;
+
+ ULONG frameNumber = ntohl(*(ULONG*)data);
+ data += 4;
+
+ if (!rp)
+ {
+ log->log("Client", Log::DEBUG, "Rescan recording called when no recording being played!");
+ }
+ else
+ {
+ retval = rp->positionFromFrameNumber(frameNumber);
+ }
+
+ UCHAR sendBuffer[12];
+ *(ULONG*)&sendBuffer[0] = htonl(8);
+ *(ULLONG*)&sendBuffer[4] = htonll(retval);
+
+ tcp.sendPacket(sendBuffer, 12);
+ log->log("Client", Log::DEBUG, "Wrote posFromFrameNum reply to client");
+ return 1;
+}
+
int MVPClient::processGetChannelSchedule(UCHAR* data, int length)
{
- ULONG channelNumber = ntohl(*(ULLONG*)data);
+ ULONG channelNumber = ntohl(*(ULONG*)data);
data += 4;
- ULONG startTime = ntohl(*(ULLONG*)data);
+ ULONG startTime = ntohl(*(ULONG*)data);
data += 4;
- ULONG duration = ntohl(*(ULLONG*)data);
+ ULONG duration = ntohl(*(ULONG*)data);
log->log("Client", Log::DEBUG, "get schedule called for channel %lu", channelNumber);
int processConfigLoad(UCHAR* data, int length);
int processGetTimers(UCHAR* data, int length);
int processSetTimer(UCHAR* data, int length);
+ int processPositionFromFrameNumber(UCHAR* data, int length);
cChannel* channelFromNumber(ULONG channelNumber);
void writeResumeData();
// FIXME find out max file path / name lengths
+ indexFile = new cIndexFile(recording->FileName(), false);
+ if (!indexFile) log->log("RecPlayer", Log::ERR, "Failed to create indexfile!");
+
scan();
}
{
return recording;
}
+
+ULLONG RecPlayer::positionFromFrameNumber(ULONG frameNumber)
+{
+ if (!indexFile) return 0;
+
+ uchar retFileNumber;
+ int retFileOffset;
+ uchar retPicType;
+ int retLength;
+
+ if (!indexFile->Get((int)frameNumber, &retFileNumber, &retFileOffset, &retPicType, &retLength))
+ {
+ return 0;
+ }
+
+ log->log("RecPlayer", Log::DEBUG, "FN: %u FO: %i PT: %u L: %i", retFileNumber, retFileOffset, retPicType, retLength);
+
+ return 0;
+}