Attempt to fix #233

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


Origin commit data
------------------
Branch: ni/coolstream
Commit: e473ac833b
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2010-02-03 (Wed, 03 Feb 2010)



------------------
This commit was generated by Migit
This commit is contained in:
[CST] Focus
2010-02-03 16:04:27 +00:00
parent 439373fdc5
commit 8f0bd4a1ba
4 changed files with 23 additions and 3 deletions

View File

@@ -125,6 +125,11 @@ int dvbsub_getpid()
return dvbsub_pid; return dvbsub_pid;
} }
void dvbsub_setpid(int pid)
{
dvbsub_pid = pid;
}
int dvbsub_close() int dvbsub_close()
{ {
if(threadReader) { if(threadReader) {

View File

@@ -6,4 +6,5 @@ int dvbsub_close();
int dvbsub_start(int pid); int dvbsub_start(int pid);
int dvbsub_pause(); int dvbsub_pause();
int dvbsub_getpid(); int dvbsub_getpid();
void dvbsub_setpid(int pid);
#endif #endif

View File

@@ -2572,9 +2572,11 @@ int CNeutrinoApp::run(int argc, char **argv)
void CNeutrinoApp::quickZap(int msg) void CNeutrinoApp::quickZap(int msg)
{ {
if(recordingstatus && !autoshift) { int res;
StopSubtitles(); StopSubtitles();
int res = channelList->numericZap(g_settings.key_zaphistory); if(recordingstatus && !autoshift) {
res = channelList->numericZap(g_settings.key_zaphistory);
if(res < 0) if(res < 0)
StartSubtitles(); StartSubtitles();
return; return;
@@ -2817,7 +2819,10 @@ printf("[neutrino] direct record\n");
g_InfoViewer->showSubchan(); g_InfoViewer->showSubchan();
} }
else if (CRCInput::isNumeric(msg)) { else if (CRCInput::isNumeric(msg)) {
channelList->numericZap( msg ); StopSubtitles();
int res = channelList->numericZap( msg );
if(res < 0)
StartSubtitles();
} }
else if( ( msg == CRCInput::RC_help ) || ( msg == CRCInput::RC_info) || else if( ( msg == CRCInput::RC_help ) || ( msg == CRCInput::RC_info) ||
( msg == NeutrinoMessages::SHOW_INFOBAR ) ) ( msg == NeutrinoMessages::SHOW_INFOBAR ) )
@@ -2927,6 +2932,8 @@ int CNeutrinoApp::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data)
scrambled_timer = 0; scrambled_timer = 0;
} }
scrambled_timer = g_RCInput->addTimer(10*1000*1000, true); scrambled_timer = g_RCInput->addTimer(10*1000*1000, true);
if(!g_InfoViewer->is_visible)
StartSubtitles();
} }
if ((msg == NeutrinoMessages::EVT_TIMER)) { if ((msg == NeutrinoMessages::EVT_TIMER)) {
if(data == shift_timer) { if(data == shift_timer) {
@@ -3000,6 +3007,8 @@ _repeat:
bouquetList->activateBouquet(old_b, false); bouquetList->activateBouquet(old_b, false);
if(bouquetList->Bouquets.size()) if(bouquetList->Bouquets.size())
bouquetList->Bouquets[old_b]->channelList->setSelected(old_num-1); bouquetList->Bouquets[old_b]->channelList->setSelected(old_num-1);
if(mode == mode_tv)
StartSubtitles();
} }
else if(nNewChannel == -3) { // list mode changed else if(nNewChannel == -3) { // list mode changed
printf("************************* ZAP NEW MODE: bouquetList %x size %d\n", (int) bouquetList, bouquetList->Bouquets.size());fflush(stdout); printf("************************* ZAP NEW MODE: bouquetList %x size %d\n", (int) bouquetList, bouquetList->Bouquets.size());fflush(stdout);
@@ -3013,9 +3022,11 @@ _repeat:
if(g_settings.mode_clock) if(g_settings.mode_clock)
InfoClock->StartClock(); InfoClock->StartClock();
#if 0
/* FIXME: more check for StartSubtitles() like was no zap ?? */ /* FIXME: more check for StartSubtitles() like was no zap ?? */
if(mode == mode_tv) if(mode == mode_tv)
StartSubtitles(); StartSubtitles();
#endif
return messages_return::handled; return messages_return::handled;
} }
} }

View File

@@ -506,8 +506,11 @@ printf("[zapit] saving channel, apid %x sub pid %x mode %d volume %d\n", channel
#endif #endif
volume_left = volume_right = audio_map_it->second.volume; volume_left = volume_right = audio_map_it->second.volume;
audio_mode = audio_map_it->second.mode; audio_mode = audio_map_it->second.mode;
#if 0
if(audio_map_it->second.subpid > 0) if(audio_map_it->second.subpid > 0)
dvbsub_start(audio_map_it->second.subpid); dvbsub_start(audio_map_it->second.subpid);
#endif
dvbsub_setpid(audio_map_it->second.subpid);
} else { } else {
volume_left = volume_right = def_volume_left; volume_left = volume_right = def_volume_left;
audio_mode = def_audio_mode; audio_mode = def_audio_mode;