Attempt to fix #233

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@253 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
focus
2010-02-03 16:04:27 +00:00
parent 0e92f5d4e9
commit e473ac833b
4 changed files with 23 additions and 3 deletions

View File

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

View File

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

View File

@@ -2572,9 +2572,11 @@ int CNeutrinoApp::run(int argc, char **argv)
void CNeutrinoApp::quickZap(int msg)
{
if(recordingstatus && !autoshift) {
int res;
StopSubtitles();
int res = channelList->numericZap(g_settings.key_zaphistory);
if(recordingstatus && !autoshift) {
res = channelList->numericZap(g_settings.key_zaphistory);
if(res < 0)
StartSubtitles();
return;
@@ -2817,7 +2819,10 @@ printf("[neutrino] direct record\n");
g_InfoViewer->showSubchan();
}
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) ||
( 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 = g_RCInput->addTimer(10*1000*1000, true);
if(!g_InfoViewer->is_visible)
StartSubtitles();
}
if ((msg == NeutrinoMessages::EVT_TIMER)) {
if(data == shift_timer) {
@@ -3000,6 +3007,8 @@ _repeat:
bouquetList->activateBouquet(old_b, false);
if(bouquetList->Bouquets.size())
bouquetList->Bouquets[old_b]->channelList->setSelected(old_num-1);
if(mode == mode_tv)
StartSubtitles();
}
else if(nNewChannel == -3) { // list mode changed
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)
InfoClock->StartClock();
#if 0
/* FIXME: more check for StartSubtitles() like was no zap ?? */
if(mode == mode_tv)
StartSubtitles();
#endif
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
volume_left = volume_right = audio_map_it->second.volume;
audio_mode = audio_map_it->second.mode;
#if 0
if(audio_map_it->second.subpid > 0)
dvbsub_start(audio_map_it->second.subpid);
#endif
dvbsub_setpid(audio_map_it->second.subpid);
} else {
volume_left = volume_right = def_volume_left;
audio_mode = def_audio_mode;