dont show toneburst(MiniDiSEqC) setting when no diseqc is used
[enigma2.git] / lib / dvb / demux.cpp
index 6c783d38024aebe91ff0f771f24bcc23228ed8b6..78c55bfebf744fde59253d3b8d73b8f9e76e32a6 100644 (file)
@@ -50,7 +50,11 @@ RESULT eDVBDemux::setSourceFrontend(int fenum)
 {
 #if HAVE_DVB_API_VERSION >= 3
        int fd = openDemux();
-       int res = ::ioctl(fd, DMX_SET_SOURCE, DMX_SOURCE_FRONT0 + fenum);
+       
+       int n = DMX_SOURCE_FRONT0 + fenum;
+       int res = ::ioctl(fd, DMX_SET_SOURCE, &n);
+       if (res)
+               eDebug("DMX_SET_SOURCE failed! - %m");
        ::close(fd);
        return res;
 #endif
@@ -61,7 +65,8 @@ RESULT eDVBDemux::setSourcePVR(int pvrnum)
 {
 #if HAVE_DVB_API_VERSION >= 3
        int fd = openDemux();
-       int res = ::ioctl(fd, DMX_SET_SOURCE, DMX_SOURCE_DVR0 + pvrnum);
+       int n = DMX_SOURCE_DVR0 + pvrnum;
+       int res = ::ioctl(fd, DMX_SET_SOURCE, &n);
        ::close(fd);
        return res;
 #endif
@@ -91,7 +96,7 @@ RESULT eDVBDemux::getMPEGDecoder(ePtr<iTSMPEGDecoder> &decoder)
        return 0;
 }
 
-RESULT eDVBDemux::getSTC(pts_t &pts)
+RESULT eDVBDemux::getSTC(pts_t &pts, int num)
 {
        int fd = openDemux();
        
@@ -99,7 +104,7 @@ RESULT eDVBDemux::getSTC(pts_t &pts)
                return -ENODEV;
 
        struct dmx_stc stc;
-       stc.num = 0;
+       stc.num = num;
        stc.base = 1;
        
        if (ioctl(fd, DMX_GET_STC, &stc) < 0)