X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/7f6e964b3c956b93ac7097127e0c1da7afd3df6c..8c84c2a2c0b8d33404540ab50278de63d3c7fccc:/lib/dvb/demux.cpp diff --git a/lib/dvb/demux.cpp b/lib/dvb/demux.cpp index 6c783d38..78c55bfe 100644 --- a/lib/dvb/demux.cpp +++ b/lib/dvb/demux.cpp @@ -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 &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)