lua: Fix InfoFunc for displaying information in the movieplayer

- Fix for commit 644ab18844
 - Set Lua api version to 1.66
This commit is contained in:
M. Liebmann
2016-12-01 14:26:39 +01:00
parent 8c2301472b
commit 1aee964c14
2 changed files with 34 additions and 22 deletions

View File

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

View File

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