RecTimerList* recTimerList = new RecTimerList();
- RecTimer* newRecTimer;
- char* tempString;
-
- while (packetPos < packetLength)
+ ULONG numTimers = extractULONG();
+ if (numTimers > 0)
{
- newRecTimer = new RecTimer();
- newRecTimer->active = extractULONG();
- newRecTimer->recording = extractULONG();
- newRecTimer->pending = extractULONG();
- newRecTimer->priority = extractULONG();
- newRecTimer->lifeTime = extractULONG();
- newRecTimer->channelNumber = extractULONG();
- newRecTimer->startTime = extractULONG();
- newRecTimer->stopTime = extractULONG();
-
- tempString = extractString();
- newRecTimer->setFile(tempString);
- delete[] tempString;
-
- newRecTimer->summary = extractString();
-
- recTimerList->push_back(newRecTimer);
- Log::getInstance()->log("VDR", Log::DEBUG, "TL: %lu %lu %lu %lu %lu %lu %lu %lu %s",
- newRecTimer->active, newRecTimer->recording, newRecTimer->pending, newRecTimer->priority, newRecTimer->lifeTime,
- newRecTimer->channelNumber, newRecTimer->startTime, newRecTimer->stopTime, newRecTimer->getFile());
+ RecTimer* newRecTimer;
+ char* tempString;
+
+ while (packetPos < packetLength)
+ {
+ newRecTimer = new RecTimer();
+ newRecTimer->active = extractULONG();
+ newRecTimer->recording = extractULONG();
+ newRecTimer->pending = extractULONG();
+ newRecTimer->priority = extractULONG();
+ newRecTimer->lifeTime = extractULONG();
+ newRecTimer->channelNumber = extractULONG();
+ newRecTimer->startTime = extractULONG();
+ newRecTimer->stopTime = extractULONG();
+
+ tempString = extractString();
+ newRecTimer->setFile(tempString);
+ delete[] tempString;
+
+ newRecTimer->summary = extractString();
+
+ recTimerList->push_back(newRecTimer);
+ Log::getInstance()->log("VDR", Log::DEBUG, "TL: %lu %lu %lu %lu %lu %lu %lu %lu %s",
+ newRecTimer->active, newRecTimer->recording, newRecTimer->pending, newRecTimer->priority, newRecTimer->lifeTime,
+ newRecTimer->channelNumber, newRecTimer->startTime, newRecTimer->stopTime, newRecTimer->getFile());
+ }
}
freePacket();
void VVideoRec::go(ULLONG startPosition)
{
ULLONG recLength = vdr->streamRecording(myRec);
-
- player->setLength(recLength);
- player->setPosition(startPosition);
- player->play();
+ if (recLength)
+ {
+ player->setLength(recLength);
+ player->setPosition(startPosition);
+ player->play();
+ }
+ else
+ {
+ ViewMan* viewman = ViewMan::getInstance();
+
+ Message* m = new Message();
+ m->message = Message::CLOSE_ME;
+ m->from = this;
+ m->to = viewman;
+ viewman->postMessage(m);
+
+ VInfo* vi = new VInfo();
+ vi->create(400, 150);
+ if (Video::getInstance()->getFormat() == Video::PAL)
+ vi->setScreenPos(170, 200);
+ else
+ vi->setScreenPos(160, 150);
+ vi->setExitable();
+ vi->setBorderOn(1);
+ vi->setTitleBarOn(0);
+ vi->setOneLiner(tr("Error playing recording"));
+ vi->draw();
+
+ m = new Message();
+ m->message = Message::ADD_VIEW;
+ m->to = viewman;
+ m->parameter = (ULONG)vi;
+ viewman->postMessage(m);
+ }
}
int VVideoRec::handleCommand(int command)