previousChannelIndex = 0;
osdChannelIndex = 0;
keying = 0;
+ preBuffering = 0;
playing = false;
case Remote::PREVCHANNEL:
{
channelChange(PREVIOUS, 0);
+ osdChannelIndex = currentChannelIndex;
+ displayOSD(true);
return 2;
}
case Remote::OK:
}
else
{
+ // We have received a timer, we are not keying. If still prebuffering, don't remove the bar
+ if (preBuffering < 100)
+ {
+ Log::getInstance()->log("VVideoLiveTV", Log::DEBUG, "Still prebuffering, not removing osd...");
+ Timers::getInstance()->setTimerD(this, 1, 2); // reset timer for another 2s
+ return;
+ }
+
osd.setVisible(false);
draw();
Message* m = new Message();
previousChannelIndex = currentChannelIndex;
currentChannelIndex = newChannel;
+ preBuffering = 0;
+
Log::getInstance()->log("VVideoLiveTV", Log::DEBUG, "Set player to channel %u", currentChannelIndex);
player->setChannel(currentChannelIndex);
Log::getInstance()->log("VVideoLiveTV", Log::DEBUG, "Done Set player to channel %u", currentChannelIndex);
}
case PlayerLiveTV::PREBUFFERING:
{
- Log::getInstance()->log("VVideoRec", Log::DEBUG, "Prebuffering - %u", m->tag);
- bufferBar.setVisible(true);
- bufferBar.setPercent(m->tag);
- bufferBar.draw();
+ preBuffering = m->tag;
+ Log::getInstance()->log("VVideoRec", Log::DEBUG, "Prebuffering - %u", preBuffering);
+ bufferBar.setPercent(preBuffering);
if (osd.getVisible())
{
+ bufferBar.setVisible(true);
+ bufferBar.draw();
Region r;
bufferBar.getRootBoxRegion(&r);
BoxStack::getInstance()->update(this, &r);