mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-30 08:51:04 +02:00
Merge branch 'uncool/dvbsi++' commit '9d968280bac'
This is the last commit before the "menu hints" started.
Needs buildfixing...
Conflicts:
configure.ac
src/daemonc/remotecontrol.cpp
src/daemonc/remotecontrol.h
src/driver/audiodec/basedec.cpp
src/driver/fb_window.cpp
src/driver/rcinput.cpp
src/driver/volume.cpp
src/global.h
src/gui/channellist.cpp
src/gui/eventlist.cpp
src/gui/infoviewer.cpp
src/gui/keybind_setup.cpp
src/gui/miscsettings_menu.cpp
src/gui/movieplayer.cpp
src/gui/osd_setup.cpp
src/gui/plugins.cpp
src/gui/scan.cpp
src/gui/scan_setup.cpp
src/gui/streaminfo2.cpp
src/gui/videosettings.cpp
src/gui/widget/buttons.cpp
src/neutrino.cpp
src/sectionsd/dmx.cpp
src/sectionsd/dmxapi.cpp
src/sectionsd/sectionsd.cpp
src/system/setting_helpers.cpp
src/zapit/include/zapit/client/zapittypes.h
src/zapit/include/zapit/frontend_c.h
src/zapit/include/zapit/satconfig.h
src/zapit/include/zapit/scan.h
src/zapit/lib/zapitclient.cpp
src/zapit/src/Makefile.am
src/zapit/src/frontend.cpp
src/zapit/src/getservices.cpp
src/zapit/src/pmt.cpp
src/zapit/src/scan.cpp
src/zapit/src/sdt.cpp
src/zapit/src/zapit.cpp
Origin commit data
------------------
Branch: ni/coolstream
Commit: ae1b98aa38
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2012-07-22 (Sun, 22 Jul 2012)
------------------
This commit was generated by Migit
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
AM_CPPFLAGS = -fno-rtti -fno-exceptions
|
||||
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/daemons \
|
||||
-I$(top_builddir) \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/src \
|
||||
-I$(top_srcdir)/src/zapit/include \
|
||||
-I$(top_srcdir)/lib \
|
||||
-I$(top_srcdir)/lib/libeventserver \
|
||||
-I$(top_srcdir)/lib/libconfigfile \
|
||||
-I$(top_srcdir)/lib/libnet \
|
||||
-I$(top_srcdir)/lib/xmltree \
|
||||
@FREETYPE_CFLAGS@ \
|
||||
-I$(top_srcdir)/lib
|
||||
@FREETYPE_CFLAGS@
|
||||
|
||||
if BOXTYPE_COOL
|
||||
INCLUDES += -I$(top_srcdir)/lib/libcoolstream
|
||||
|
@@ -41,8 +41,8 @@
|
||||
#include <neutrino.h>
|
||||
#include <gui/infoviewer.h>
|
||||
|
||||
#include <driver/encoding.h>
|
||||
#include <driver/record.h>
|
||||
#include <driver/abstime.h>
|
||||
#include "libdvbsub/dvbsub.h"
|
||||
#include "libtuxtxt/teletext.h"
|
||||
|
||||
@@ -51,6 +51,8 @@
|
||||
#include <zapit/zapit.h>
|
||||
#include <zapit/getservices.h>
|
||||
|
||||
#define ZAP_GUARD_TIME 2000 // ms
|
||||
|
||||
extern CBouquetManager *g_bouquetManager;
|
||||
|
||||
extern uint32_t scrambled_timer;
|
||||
@@ -89,7 +91,7 @@ CSubService::CSubService(const t_original_network_id anoriginal_network_id, cons
|
||||
t_channel_id CSubService::getChannelID(void) const
|
||||
{
|
||||
return ((uint64_t) ( satellitePosition >= 0 ? satellitePosition : (uint64_t)(0xF000+ abs(satellitePosition))) << 48) |
|
||||
(uint64_t) CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(service.service_id, service.original_network_id, service.transport_stream_id);
|
||||
(uint64_t) CREATE_CHANNEL_ID(service.service_id, service.original_network_id, service.transport_stream_id);
|
||||
}
|
||||
|
||||
|
||||
@@ -102,7 +104,6 @@ CRemoteControl::CRemoteControl()
|
||||
zap_completion_timeout = 0;
|
||||
|
||||
current_EPGid = 0;
|
||||
next_EPGid = 0;
|
||||
memset(¤t_PIDs.PIDs, 0, sizeof(current_PIDs.PIDs) );
|
||||
has_ac3 = false;
|
||||
selected_subchannel = -1;
|
||||
@@ -110,6 +111,7 @@ CRemoteControl::CRemoteControl()
|
||||
director_mode = 0;
|
||||
// current_programm_timer = 0;
|
||||
is_video_started = true;
|
||||
//next_EPGid = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -123,9 +125,9 @@ int CRemoteControl::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data
|
||||
if ((*(t_channel_id *)data) != current_channel_id) {
|
||||
g_InfoViewer->chanready = 0;
|
||||
g_Zapit->zapTo_serviceID_NOWAIT(current_channel_id );
|
||||
g_Sectionsd->setServiceChanged(current_channel_id &0xFFFFFFFFFFFFULL, false);
|
||||
//g_Sectionsd->setServiceChanged(current_channel_id, false);
|
||||
|
||||
zap_completion_timeout = getcurrenttime() + 2 * (int64_t) 1000000;
|
||||
zap_completion_timeout = time_monotonic_ms() + ZAP_GUARD_TIME;
|
||||
|
||||
return messages_return::handled;
|
||||
}
|
||||
@@ -158,7 +160,7 @@ int CRemoteControl::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data
|
||||
current_channel_id = new_id;
|
||||
|
||||
current_EPGid = 0;
|
||||
next_EPGid = 0;
|
||||
//next_EPGid = 0;
|
||||
|
||||
memset(¤t_PIDs.PIDs, 0, sizeof(current_PIDs.PIDs) );
|
||||
|
||||
@@ -170,7 +172,7 @@ int CRemoteControl::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data
|
||||
director_mode = 0;
|
||||
needs_nvods = (msg == NeutrinoMessages:: EVT_ZAP_ISNVOD);
|
||||
|
||||
g_Sectionsd->setServiceChanged( current_channel_id&0xFFFFFFFFFFFFULL, true );
|
||||
//g_Sectionsd->setServiceChanged( current_channel_id, true );
|
||||
CNeutrinoApp::getInstance()->channelList->adjustToChannelID(current_channel_id);
|
||||
if ( g_InfoViewer->is_visible )
|
||||
g_RCInput->postMsg( NeutrinoMessages::SHOW_INFOBAR , 0 );
|
||||
@@ -248,7 +250,7 @@ int CRemoteControl::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data
|
||||
{
|
||||
if ((*(t_channel_id *)data) != current_channel_id)
|
||||
return messages_return::handled;
|
||||
|
||||
#if 0
|
||||
const CSectionsdClient::CurrentNextInfo info_CN = g_InfoViewer->getCurrentNextInfo();
|
||||
if ((info_CN.next_uniqueKey >> 16) == (current_channel_id&0xFFFFFFFFFFFFULL) )
|
||||
{
|
||||
@@ -256,6 +258,7 @@ int CRemoteControl::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data
|
||||
if (info_CN.next_uniqueKey != next_EPGid)
|
||||
next_EPGid = info_CN.next_uniqueKey;
|
||||
}
|
||||
#endif
|
||||
if ( !is_video_started )
|
||||
g_RCInput->postMsg( NeutrinoMessages::EVT_PROGRAMLOCKSTATUS, 0x100, false );
|
||||
return messages_return::handled;
|
||||
@@ -310,11 +313,11 @@ int CRemoteControl::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data
|
||||
{
|
||||
getNVODs();
|
||||
if (subChannels.empty())
|
||||
g_Sectionsd->setServiceChanged( current_channel_id&0xFFFFFFFFFFFFULL, true );
|
||||
g_Sectionsd->setServiceChanged( current_channel_id, true );
|
||||
}
|
||||
else
|
||||
// EVENT anfordern!
|
||||
g_Sectionsd->setServiceChanged( current_channel_id&0xFFFFFFFFFFFFULL, true );
|
||||
g_Sectionsd->setServiceChanged( current_channel_id, true );
|
||||
|
||||
}
|
||||
return messages_return::handled;
|
||||
@@ -331,6 +334,15 @@ int CRemoteControl::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data
|
||||
return messages_return::handled;
|
||||
}
|
||||
#endif
|
||||
else if (msg == NeutrinoMessages::EVT_TUNE_COMPLETE) {
|
||||
t_channel_id chid = *(t_channel_id *)data;
|
||||
printf("CRemoteControl::handleMsg: EVT_TUNE_COMPLETE (%016llx)\n", chid);
|
||||
if(chid)
|
||||
g_Sectionsd->setServiceChanged( chid, true );
|
||||
else
|
||||
g_Sectionsd->setServiceChanged( current_channel_id, true );
|
||||
return messages_return::handled;
|
||||
}
|
||||
//else if (msg == NeutrinoMessages::EVT_ZAP_FAILED || msg == NeutrinoMessages::EVT_ZAP_SUB_FAILED)
|
||||
//return messages_return::handled;
|
||||
else
|
||||
@@ -340,7 +352,7 @@ int CRemoteControl::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data
|
||||
void CRemoteControl::getSubChannels()
|
||||
{
|
||||
//printf("[neutrino] getSubChannels, current_EPGid %llx\n", current_EPGid);
|
||||
if ( subChannels.size() == 0 )
|
||||
if ( subChannels.empty() )
|
||||
{
|
||||
CSectionsdClient::LinkageDescriptorList linkedServices;
|
||||
//if ( g_Sectionsd->getLinkageDescriptorsUniqueKey( current_EPGid, linkedServices ) )
|
||||
@@ -352,12 +364,12 @@ void CRemoteControl::getSubChannels()
|
||||
//printf("CRemoteControl::getSubChannels linkedServices.size %d\n", linkedServices.size());
|
||||
for (unsigned int i=0; i< linkedServices.size(); i++)
|
||||
{
|
||||
//printf("CRemoteControl::getSubChannels %s\n", linkedServices[i].name.c_str());
|
||||
subChannels.push_back(CSubService(
|
||||
linkedServices[i].originalNetworkId,
|
||||
linkedServices[i].serviceId,
|
||||
linkedServices[i].transportStreamId,
|
||||
linkedServices[i].name));
|
||||
//printf("CRemoteControl::getSubChannels %s: %016llx\n", linkedServices[i].name.c_str(), subChannels[i].getChannelID());
|
||||
if ((subChannels[i].getChannelID()&0xFFFFFFFFFFFFULL) == (current_channel_id&0xFFFFFFFFFFFFULL))
|
||||
selected_subchannel = i;
|
||||
}
|
||||
@@ -374,7 +386,7 @@ void CRemoteControl::getSubChannels()
|
||||
void CRemoteControl::getNVODs()
|
||||
{
|
||||
//printf("[neutrino] getNVODs, current_EPGid %llx\n", current_EPGid);
|
||||
if ( subChannels.size() == 0 )
|
||||
if ( subChannels.empty() )
|
||||
{
|
||||
CSectionsdClient::NVODTimesList NVODs;
|
||||
//if ( g_Sectionsd->getNVODTimesServiceKey( current_channel_id & 0xFFFFFFFFFFFFULL, NVODs ) )
|
||||
@@ -427,7 +439,7 @@ void CRemoteControl::getNVODs()
|
||||
void CRemoteControl::processAPIDnames()
|
||||
{
|
||||
has_unresolved_ctags= false;
|
||||
has_ac3 = false; //FIXME what this variable suppoused to do ?? seems unused
|
||||
has_ac3 = false; //use in infoviewer
|
||||
int pref_found = -1;
|
||||
int pref_ac3_found = -1;
|
||||
int pref_idx = -1;
|
||||
@@ -456,7 +468,7 @@ void CRemoteControl::processAPIDnames()
|
||||
|
||||
std::string temp(g_settings.pref_lang[i]);
|
||||
std::map<std::string, std::string>::const_iterator it;
|
||||
for(it = iso639.begin(); it != iso639.end(); it++) {
|
||||
for(it = iso639.begin(); it != iso639.end(); ++it) {
|
||||
if(temp == it->second && strcasecmp(desc, it->first.c_str()) == 0) {
|
||||
/* remember first pref found index and pid*/
|
||||
if(pref_found < 0) {
|
||||
@@ -563,7 +575,7 @@ void CRemoteControl::copySubChannelsToZapit(void)
|
||||
{
|
||||
CZapitClient::subServiceList zapitList;
|
||||
|
||||
for (CSubServiceListSorted::const_iterator e = subChannels.begin(); e != subChannels.end(); e++)
|
||||
for (CSubServiceListSorted::const_iterator e = subChannels.begin(); e != subChannels.end(); ++e)
|
||||
zapitList.push_back(e->getAsZapitSubService());
|
||||
|
||||
g_Zapit->setSubServices(zapitList);
|
||||
@@ -597,22 +609,22 @@ const std::string & CRemoteControl::setSubChannel(const int numSub, const bool f
|
||||
|
||||
g_Zapit->zapTo_subServiceID_NOWAIT( current_sub_channel_id );
|
||||
// Houdini: to restart reading the private EPG when switching to a new option
|
||||
g_Sectionsd->setServiceChanged( current_sub_channel_id , true );
|
||||
//g_Sectionsd->setServiceChanged( current_sub_channel_id , true );
|
||||
|
||||
return subChannels[numSub].subservice_name;
|
||||
}
|
||||
|
||||
const std::string & CRemoteControl::subChannelUp(void)
|
||||
{
|
||||
//return setSubChannel((subChannels.size() == 0) ? -1 : (int)((selected_subchannel + 1) % subChannels.size()));
|
||||
//return setSubChannel((subChannels.empty()) ? -1 : (int)((selected_subchannel + 1) % subChannels.size()));
|
||||
// if there are any NVOD/subchannels switch these else switch audio channel (if any)
|
||||
if (subChannels.size() > 0 || !g_settings.audiochannel_up_down_enable)
|
||||
if ( !subChannels.empty() || !g_settings.audiochannel_up_down_enable)
|
||||
{
|
||||
return setSubChannel((subChannels.size() == 0) ? -1 : (int)((selected_subchannel + 1) % subChannels.size()));
|
||||
return setSubChannel( subChannels.empty() ? -1 : (int)((selected_subchannel + 1) % subChannels.size()));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (current_PIDs.APIDs.size() > 0)
|
||||
if ( !current_PIDs.APIDs.empty() )
|
||||
{
|
||||
setAPID((current_PIDs.PIDs.selected_apid + 1) % current_PIDs.APIDs.size());
|
||||
}
|
||||
@@ -624,13 +636,13 @@ const std::string & CRemoteControl::subChannelDown(void)
|
||||
{
|
||||
//return setSubChannel((selected_subchannel <= 0) ? (subChannels.size() - 1) : (selected_subchannel - 1));
|
||||
// if there are any NVOD/subchannels switch these else switch audio channel (if any)
|
||||
if (subChannels.size() > 0 || !g_settings.audiochannel_up_down_enable)
|
||||
if ( !subChannels.empty() || !g_settings.audiochannel_up_down_enable)
|
||||
{
|
||||
return setSubChannel((selected_subchannel <= 0) ? (subChannels.size() - 1) : (selected_subchannel - 1));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (current_PIDs.APIDs.size() > 0)
|
||||
if ( !current_PIDs.APIDs.empty() )
|
||||
{
|
||||
if (current_PIDs.PIDs.selected_apid <= 0)
|
||||
setAPID(current_PIDs.APIDs.size() - 1);
|
||||
@@ -641,7 +653,6 @@ const std::string & CRemoteControl::subChannelDown(void)
|
||||
}
|
||||
}
|
||||
|
||||
void stopAutoRecord();
|
||||
void CRemoteControl::zapTo_ChannelID(const t_channel_id channel_id, const std::string & channame, const bool start_video) // UTF-8
|
||||
{
|
||||
current_channel_id = channel_id;
|
||||
@@ -654,7 +665,7 @@ void CRemoteControl::zapTo_ChannelID(const t_channel_id channel_id, const std::s
|
||||
|
||||
current_sub_channel_id = 0;
|
||||
current_EPGid = 0;
|
||||
next_EPGid = 0;
|
||||
//next_EPGid = 0;
|
||||
|
||||
memset(¤t_PIDs.PIDs, 0, sizeof(current_PIDs.PIDs) );
|
||||
|
||||
@@ -666,7 +677,7 @@ void CRemoteControl::zapTo_ChannelID(const t_channel_id channel_id, const std::s
|
||||
needs_nvods = false;
|
||||
director_mode = 0;
|
||||
|
||||
uint64_t now = getcurrenttime();
|
||||
uint64_t now = time_monotonic_ms();
|
||||
if ( zap_completion_timeout < now )
|
||||
{
|
||||
g_InfoViewer->chanready = 0;
|
||||
@@ -677,9 +688,9 @@ void CRemoteControl::zapTo_ChannelID(const t_channel_id channel_id, const std::s
|
||||
//dvbsub_pause(true);
|
||||
CZapit::getInstance()->Abort();
|
||||
g_Zapit->zapTo_serviceID_NOWAIT(channel_id);
|
||||
g_Sectionsd->setServiceChanged( current_channel_id&0xFFFFFFFFFFFFULL, false );
|
||||
|
||||
zap_completion_timeout = now + 2 * (int64_t) 1000000;
|
||||
zap_completion_timeout = now + ZAP_GUARD_TIME;
|
||||
//g_Sectionsd->setServiceChanged( current_channel_id, false );
|
||||
// g_RCInput->killTimer( current_programm_timer );
|
||||
}
|
||||
}
|
||||
|
@@ -83,7 +83,7 @@ class CRemoteControl
|
||||
public:
|
||||
t_channel_id current_channel_id;
|
||||
uint64_t current_EPGid;
|
||||
uint64_t next_EPGid;
|
||||
//uint64_t next_EPGid;
|
||||
CZapitClient::responseGetPIDs current_PIDs;
|
||||
|
||||
// APID - Details
|
||||
|
Reference in New Issue
Block a user