TTX subs menu, not ready yet, just backup of current code

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@184 e54a6e83-5905-42d5-8d5c-058d10e6a962


Origin commit data
------------------
Branch: ni/coolstream
Commit: b554e4ef4e
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2010-01-19 (Tue, 19 Jan 2010)



------------------
This commit was generated by Migit
This commit is contained in:
[CST] Focus
2010-01-19 11:22:08 +00:00
parent e503f26b6f
commit 3e955c3fce
15 changed files with 150 additions and 56 deletions

View File

@@ -61,6 +61,8 @@
#include <video_cs.h>
#include <dmx_cs.h>
#include <pwrmngr.h>
#include "libdvbsub/dvbsub.h"
#include "libtuxtxt/teletext.h"
extern CPlugins * g_PluginList; /* neutrino.cpp */
extern CRemoteControl * g_RemoteControl; /* neutrino.cpp */
@@ -586,19 +588,30 @@ int CAPIDChangeExec::exec(CMenuTarget* /*parent*/, const std::string & actionKey
return menu_return::RETURN_EXIT;
}
int dvbsub_start(int pid);
int dvbsub_pause();
int dvbsub_stop();
int CSubtitleChangeExec::exec(CMenuTarget* /*parent*/, const std::string & actionKey)
{
printf("CSubtitleChangeExec::exec: action %s\n", actionKey.c_str());
if(actionKey == "off") {
tuxtx_stop_subtitle();
dvbsub_stop();
} else {
int pid = atoi(actionKey.c_str());
return menu_return::RETURN_EXIT;
}
if(!strncmp(actionKey.c_str(), "DVB", 3)) {
char * pidptr = strchr(actionKey.c_str(), ':');
int pid = atoi(pidptr+1);
dvbsub_pause();
dvbsub_start(pid);
} else {
char * ptr = strchr(actionKey.c_str(), ':');
ptr++;
int pid = atoi(ptr);
ptr = strchr(ptr, ':');
ptr++;
int page = strtol(ptr, NULL, 16);
printf("CSubtitleChangeExec::exec: TTX, pid %x page %x\n", pid, page);
tuxtx_stop_subtitle();
tuxtx_main(g_RCInput->getFileHandle(), CFrameBuffer::getInstance()->getFrameBufferPointer(), pid,
CFrameBuffer::getInstance()->getScreenX(), CFrameBuffer::getInstance()->getScreenY(), CFrameBuffer::getInstance()->getScreenWidth(), CFrameBuffer::getInstance()->getScreenHeight(), page);
}
return menu_return::RETURN_EXIT;
}