CLuaInstVideo::PlayFile: Infoviewer was not displayed when InfoFunc was set

- Fix commit 1aee964c14
 - Set Lua api version to 1.68
This commit is contained in:
M. Liebmann
2016-12-02 00:15:57 +01:00
parent c1ec746321
commit e92df63a4a
2 changed files with 28 additions and 25 deletions

View File

@@ -4,4 +4,4 @@
* to luainstance.h changes * to luainstance.h changes
*/ */
#define LUA_API_VERSION_MAJOR 1 #define LUA_API_VERSION_MAJOR 1
#define LUA_API_VERSION_MINOR 67 #define LUA_API_VERSION_MINOR 68

View File

@@ -1524,38 +1524,41 @@ void CMoviePlayerGui::PlayFileLoop(void)
SetPosition(1000 * (hh * 3600 + mm * 60 + ss), true); SetPosition(1000 * (hh * 3600 + mm * 60 + ss), true);
} else if (msg == CRCInput::RC_help || msg == CRCInput::RC_info) { } else if (msg == CRCInput::RC_help || msg == CRCInput::RC_info) {
if (fromInfoviewer) {
#ifdef ENABLE_LUA #ifdef ENABLE_LUA
if (isLuaPlay && haveLuaInfoFunc) { if (isLuaPlay && haveLuaInfoFunc) {
CTimeOSD::mode m_mode = FileTime.getMode(); CTimeOSD::mode m_mode = FileTime.getMode();
bool restore = FileTime.IsVisible(); bool restore = FileTime.IsVisible();
if (restore) if (restore)
FileTime.kill(); FileTime.kill();
CInfoClock::getInstance()->enableInfoClock(false); CInfoClock::getInstance()->enableInfoClock(false);
int xres = 0, yres = 0, aspectRatio = 0, framerate = -1; int xres = 0, yres = 0, aspectRatio = 0, framerate = -1;
if (!videoDecoder->getBlank()) { if (!videoDecoder->getBlank()) {
videoDecoder->getPictureInfo(xres, yres, framerate); videoDecoder->getPictureInfo(xres, yres, framerate);
if (yres == 1088) if (yres == 1088)
yres = 1080; yres = 1080;
aspectRatio = videoDecoder->getAspectRatio(); aspectRatio = videoDecoder->getAspectRatio();
}
CLuaInstVideo::getInstance()->execLuaInfoFunc(luaState, xres, yres, aspectRatio, framerate);
fromInfoviewer = false;
CInfoClock::getInstance()->enableInfoClock(true);
if (restore) {
FileTime.setMode(m_mode);
FileTime.update(position, duration);
}
} }
CLuaInstVideo::getInstance()->execLuaInfoFunc(luaState, xres, yres, aspectRatio, framerate); else {
CInfoClock::getInstance()->enableInfoClock(true);
if (restore) {
FileTime.setMode(m_mode);
FileTime.update(position, duration);
}
} else {
#endif #endif
if (fromInfoviewer) {
g_EpgData->show_mp(p_movie_info,GetPosition(),GetDuration()); g_EpgData->show_mp(p_movie_info,GetPosition(),GetDuration());
fromInfoviewer = false; fromInfoviewer = false;
#ifdef ENABLE_LUA
} }
else #endif
callInfoViewer();
} }
else
callInfoViewer();
update_lcd = true; update_lcd = true;
clearSubtitle(); clearSubtitle();
} else if (timeshift != TSHIFT_MODE_OFF && (msg == CRCInput::RC_text || msg == CRCInput::RC_epg || msg == NeutrinoMessages::SHOW_EPG)) { } else if (timeshift != TSHIFT_MODE_OFF && (msg == CRCInput::RC_text || msg == CRCInput::RC_epg || msg == NeutrinoMessages::SHOW_EPG)) {