mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 16:01:20 +02:00
Merge remote-tracking branch 'check/next-cc'
needs some build-fixing and merge errors are likely :-( Conflicts: configure.ac data/icons/start.jpg data/locale/deutsch.locale data/locale/unmaintained/dutch.locale lib/libdvbsub/Makefile.am lib/libdvbsub/dvbsubtitle.cpp lib/libtuxtxt/Makefile.am src/Makefile.am src/daemonc/Makefile.am src/driver/audiodec/Makefile.am src/driver/framebuffer.cpp src/driver/framebuffer.h src/driver/pictureviewer/Makefile.am src/driver/rcinput.cpp src/driver/streamts.cpp src/driver/volume.cpp src/eitd/Makefile.am src/gui/Makefile.am src/gui/audioplayer.cpp src/gui/bedit/Makefile.am src/gui/bedit/bouqueteditor_chanselect.cpp src/gui/bouquetlist.cpp src/gui/channellist.cpp src/gui/components/Makefile.am src/gui/epgview.cpp src/gui/eventlist.cpp src/gui/infoviewer.cpp src/gui/infoviewer_bb.cpp src/gui/keybind_setup.cpp src/gui/moviebrowser.cpp src/gui/movieplayer.cpp src/gui/scan.cpp src/gui/scan_setup.cpp src/gui/test_menu.cpp src/gui/test_menu.h src/gui/update.cpp src/gui/videosettings.cpp src/gui/widget/Makefile.am src/gui/widget/buttons.cpp src/gui/widget/stringinput.cpp src/neutrino.cpp src/nhttpd/tuxboxapi/coolstream/Makefile.am src/system/Makefile.am src/system/setting_helpers.cpp src/system/settings.h src/zapit/include/zapit/client/zapitclient.h src/zapit/include/zapit/femanager.h src/zapit/include/zapit/getservices.h src/zapit/lib/zapitclient.cpp src/zapit/src/Makefile.am src/zapit/src/capmt.cpp src/zapit/src/femanager.cpp src/zapit/src/frontend.cpp src/zapit/src/getservices.cpp
This commit is contained in:
@@ -146,7 +146,8 @@ record_error_msg_t CRecordInstance::Start(CZapitChannel * channel)
|
||||
|
||||
time_t msg_start_time = time(0);
|
||||
CHintBox hintBox(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_RECORDING_START));
|
||||
hintBox.paint();
|
||||
if (!(autoshift && g_settings.auto_timeshift))
|
||||
hintBox.paint();
|
||||
|
||||
tsfile = std::string(filename) + ".ts";
|
||||
|
||||
@@ -207,8 +208,9 @@ record_error_msg_t CRecordInstance::Start(CZapitChannel * channel)
|
||||
return RECORD_FAILURE;
|
||||
}
|
||||
|
||||
printf("CRecordInstance::Start: fe %d demux %d\n", frontend->getNumber(), channel->getRecordDemux());
|
||||
if(!autoshift)
|
||||
CFEManager::getInstance()->lockFrontend(frontend);//FIXME testing
|
||||
CFEManager::getInstance()->lockFrontend(frontend, channel);//FIXME testing
|
||||
|
||||
start_time = time(0);
|
||||
SaveXml();
|
||||
@@ -238,7 +240,8 @@ bool CRecordInstance::Stop(bool remove_event)
|
||||
recMovieInfo->length = (int) round((double) (end_time - start_time) / (double) 60);
|
||||
|
||||
CHintBox hintBox(LOCALE_MESSAGEBOX_INFO, rec_stop_msg.c_str());
|
||||
hintBox.paint();
|
||||
if (!(autoshift && g_settings.auto_timeshift))
|
||||
hintBox.paint();
|
||||
|
||||
printf("%s: channel %" PRIx64 " recording_id %d\n", __func__, channel_id, recording_id);
|
||||
SaveXml();
|
||||
@@ -246,7 +249,7 @@ bool CRecordInstance::Stop(bool remove_event)
|
||||
record->Stop();
|
||||
|
||||
if(!autoshift)
|
||||
CFEManager::getInstance()->unlockFrontend(frontend);//FIXME testing
|
||||
CFEManager::getInstance()->unlockFrontend(frontend, true);//FIXME testing
|
||||
|
||||
CCamManager::getInstance()->Stop(channel_id, CCamManager::RECORD);
|
||||
|
||||
@@ -673,7 +676,10 @@ void CRecordInstance::GetRecordString(std::string &str)
|
||||
char stime[15];
|
||||
int err = GetStatus();
|
||||
strftime(stime, sizeof(stime), "%H:%M:%S ", localtime(&start_time));
|
||||
str = stime + channel->getName() + ": " + GetEpgTitle() + ((err & REC_STATUS_OVERFLOW) ? " [!]" : "");
|
||||
time_t duration = time(0) - start_time;
|
||||
char dtime[15];
|
||||
snprintf(dtime, sizeof(dtime), " (%02d:%02d)", (int) duration/3600, (int) duration/60);
|
||||
str = stime + channel->getName() + ": " + GetEpgTitle() + ((err & REC_STATUS_OVERFLOW) ? " [!]" : "") + dtime;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
@@ -862,6 +868,8 @@ bool CRecordManager::Record(const CTimerd::RecordingInfo * const eventinfo, cons
|
||||
printf("%s channel_id %" PRIx64 " epg: %" PRIx64 ", apidmode 0x%X\n", __func__,
|
||||
eventinfo->channel_id, eventinfo->epgID, eventinfo->apids);
|
||||
|
||||
if (g_settings.recording_type == CNeutrinoApp::RECORDING_OFF)
|
||||
return false;
|
||||
#if 0
|
||||
if(!CheckRecording(eventinfo))
|
||||
return false;
|
||||
@@ -1310,7 +1318,7 @@ void CRecordManager::StartTimeshift()
|
||||
if(res)
|
||||
{
|
||||
CMoviePlayerGui::getInstance().exec(NULL, tmode);
|
||||
if(g_settings.temp_timeshift)
|
||||
if(g_settings.temp_timeshift && !g_settings.auto_timeshift)
|
||||
ShowMenu();
|
||||
}
|
||||
}
|
||||
@@ -1318,6 +1326,9 @@ void CRecordManager::StartTimeshift()
|
||||
|
||||
int CRecordManager::exec(CMenuTarget* parent, const std::string & actionKey )
|
||||
{
|
||||
if (g_settings.recording_type == CNeutrinoApp::RECORDING_OFF)
|
||||
return menu_return::RETURN_REPAINT;
|
||||
|
||||
if(parent)
|
||||
parent->hide();
|
||||
|
||||
@@ -1597,12 +1608,12 @@ bool CRecordManager::CutBackNeutrino(const t_channel_id channel_id, CFrontend *
|
||||
/* first try to get frontend for record with locked live */
|
||||
bool unlock = true;
|
||||
CFEManager::getInstance()->lockFrontend(live_fe);
|
||||
frontend = CFEManager::getInstance()->allocateFE(channel);
|
||||
frontend = CFEManager::getInstance()->allocateFE(channel, true);
|
||||
if (frontend == NULL) {
|
||||
/* no frontend, try again with unlocked live */
|
||||
unlock = false;
|
||||
CFEManager::getInstance()->unlockFrontend(live_fe);
|
||||
frontend = CFEManager::getInstance()->allocateFE(channel);
|
||||
frontend = CFEManager::getInstance()->allocateFE(channel, true);
|
||||
}
|
||||
if (frontend == NULL)
|
||||
return false;
|
||||
@@ -1632,7 +1643,22 @@ bool CRecordManager::CutBackNeutrino(const t_channel_id channel_id, CFrontend *
|
||||
if (unlock)
|
||||
CFEManager::getInstance()->unlockFrontend(live_fe);
|
||||
}
|
||||
#ifdef DYNAMIC_DEMUX
|
||||
else {
|
||||
frontend = CFEManager::getInstance()->allocateFE(channel, true);
|
||||
}
|
||||
printf("%s: record demux: %d\n", __FUNCTION__, channel->getRecordDemux());
|
||||
if (channel->getRecordDemux() == 0)
|
||||
ret = false;
|
||||
#endif
|
||||
if(ret) {
|
||||
#ifdef ENABLE_PIP
|
||||
/* FIXME until proper demux management */
|
||||
t_channel_id pip_channel_id = CZapit::getInstance()->GetPipChannelID();
|
||||
if ((pip_channel_id == channel_id) && (channel->getRecordDemux() == channel->getPipDemux()))
|
||||
g_Zapit->stopPip();
|
||||
#endif
|
||||
|
||||
if(StopSectionsd) {
|
||||
printf("%s: g_Sectionsd->setPauseScanning(true)\n", __FUNCTION__);
|
||||
g_Sectionsd->setPauseScanning(true);
|
||||
|
Reference in New Issue
Block a user