Origin commit data
------------------
Branch: ni/coolstream
Commit: fdee17b5b7
Author: vanhofen <vanhofen@gmx.de>
Date: 2017-02-22 (Wed, 22 Feb 2017)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
vanhofen
2017-02-22 09:00:45 +01:00
2 changed files with 25 additions and 28 deletions

View File

@@ -174,6 +174,25 @@ bool CRCInput::checkdev()
return true; /* need to check anyway... */
}
#ifdef BOXMODEL_CS_HD2
bool CRCInput::checkdev_lnk(std::string lnk)
{
static struct stat info;
if (lstat(lnk.c_str(), &info) != -1) {
if (S_ISLNK(info.st_mode)) {
std::string tmp = readLink(lnk);
if (!tmp.empty()) {
if (lstat(tmp.c_str(), &info) != -1) {
if (S_ISCHR(info.st_mode))
return true;
}
}
}
}
return false;
}
#endif
bool CRCInput::checkpath(in_dev id)
{
for (std::vector<in_dev>::iterator it = indev.begin(); it != indev.end(); ++it) {
@@ -206,25 +225,6 @@ bool CRCInput::checkpath(in_dev id)
return false;
}
#ifdef BOXMODEL_CS_HD2
bool CRCInput::checkLnkDev(std::string lnk)
{
static struct stat info;
if (lstat(lnk.c_str(), &info) != -1) {
if (S_ISLNK(info.st_mode)) {
std::string tmp = readLink(lnk);
if (!tmp.empty()) {
if (lstat(tmp.c_str(), &info) != -1) {
if (S_ISCHR(info.st_mode))
return true;
}
}
}
}
return false;
}
#endif
/* if recheck == true, only not already opened devices are opened, if not, close then (re)open all */
void CRCInput::open(bool recheck)
{
@@ -249,13 +249,12 @@ void CRCInput::open(bool recheck)
#ifdef BOXMODEL_CS_HD2
&& (dentry->d_type != DT_LNK)
#endif
) {
d_printf("[rcinput:%s] skipping '%s'\n", __func__, dentry->d_name);
continue;
}
#ifdef BOXMODEL_CS_HD2
if ((dentry->d_type == DT_LNK) && (!checkLnkDev("/dev/input/" + std::string(dentry->d_name)))) {
if ((dentry->d_type == DT_LNK) && (!checkdev_lnk("/dev/input/" + std::string(dentry->d_name)))) {
d_printf("[rcinput:%s] skipping '%s'\n", __func__, dentry->d_name);
continue;
}
@@ -575,8 +574,6 @@ int CRCInput::checkTimers()
return _id;
}
int64_t CRCInput::calcTimeoutEnd(const int timeout_in_seconds)
{
return time_monotonic_us() + ((uint64_t)timeout_in_seconds * (uint64_t) 1000000);
@@ -1433,13 +1430,13 @@ void CRCInput::getMsg_us(neutrino_msg_t * msg, neutrino_msg_data_t * data, uint6
if (trkey == rc_last_key) {
/* only allow selected keys to be repeated */
if (mayRepeat(trkey, bAllowRepeatLR) ||
(g_settings.shutdown_real_rcdelay &&
((trkey == RC_standby) &&
(g_settings.shutdown_real_rcdelay && ((trkey == RC_standby) &&
#if HAVE_COOL_HARDWARE
(cs_get_revision() > 7))))
(cs_get_revision() > 7)
#else
(g_info.hw_caps->can_shutdown))))
(g_info.hw_caps->can_shutdown)
#endif
)))
{
#ifdef ENABLE_REPEAT_CHECK
if (rc_last_repeat_key != trkey) {

View File

@@ -171,7 +171,7 @@ class CRCInput
bool checkpath(in_dev id);
bool checkdev();
#ifdef BOXMODEL_CS_HD2
bool checkLnkDev(std::string lnk);
bool checkdev_lnk(std::string lnk);
#endif
void close();
int translate(int code);