--- dvbdevice.c.orig +++ dvbdevice.c @@ -766,7 +766,7 @@ bool cDvbTuner::SetFrontend(void) CHECK(ioctl(fd_frontend, FE_SET_VOLTAGE, volt)); CHECK(ioctl(fd_frontend, FE_SET_TONE, tone)); } - frequency = abs(frequency); // Allow for C-band, where the frequency is less than the LOF + frequency = abs((int)frequency); // Allow for C-band, where the frequency is less than the LOF // DVB-S/DVB-S2 (common parts) SETCMD(DTV_FREQUENCY, frequency * 1000UL); --- remux.c.orig 2012-03-02 11:56:49.000000000 +0100 +++ remux.c 2016-04-02 19:05:34.753289000 +0200 @@ -890,11 +943,11 @@ int cFrameDetector::Analyze(const uchar uint32_t Delta = ptsValues[0]; // determine frame info: if (isVideo) { - if (abs(Delta - 3600) <= 1) + if (abs((int)Delta - 3600) <= 1) framesPerSecond = 25.0; else if (Delta % 3003 == 0) framesPerSecond = 30.0 / 1.001; - else if (abs(Delta - 1800) <= 1) { + else if (abs((int)Delta - 1800) <= 1) { if (numFrames > 50) { // this is a "best guess": if there are more than 50 frames between two I-frames, we assume each "frame" actually contains a "field", so two "fields" make one "frame" framesPerSecond = 25.0;