X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/0fb354eb517927bd6c8465523800e6ee398a1db7..a29bbc0a4ee2eb5f0d86407088380de9887359a0:/lib/dvb/demux.cpp diff --git a/lib/dvb/demux.cpp b/lib/dvb/demux.cpp index 73cedc36..29bbf264 100644 --- a/lib/dvb/demux.cpp +++ b/lib/dvb/demux.cpp @@ -76,11 +76,12 @@ RESULT eDVBDemux::setSourceFrontend(int fenum) { #if HAVE_DVB_API_VERSION >= 3 int fd = openDemux(); - int n = DMX_SOURCE_FRONT0 + fenum; int res = ::ioctl(fd, DMX_SET_SOURCE, &n); if (res) eDebug("DMX_SET_SOURCE failed! - %m"); + else + source = fenum; ::close(fd); return res; #endif @@ -93,6 +94,7 @@ RESULT eDVBDemux::setSourcePVR(int pvrnum) int fd = openDemux(); int n = DMX_SOURCE_DVR0 + pvrnum; int res = ::ioctl(fd, DMX_SET_SOURCE, &n); + source = -1; ::close(fd); return res; #endif @@ -632,7 +634,6 @@ RESULT eDVBTSRecorder::startPID(int pid) } m_pids[pid] = fd; #else - bool retry=false; while(true) { if (::ioctl(m_source_fd, DMX_ADD_PID, pid) < 0) { perror("DMX_ADD_PID");