diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2006-04-09 21:54:48 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2006-04-09 21:54:48 +0000 |
| commit | 53cccbdf7f4b485d295689d6ce9fd77a01694602 (patch) | |
| tree | f2b540264ff11a0ed8995f662085a2fa81cbca31 /lib/dvb/demux.cpp | |
| parent | e7bc6dda564f72ea1ed33a4d420cbce75b37879c (diff) | |
| download | enigma2-53cccbdf7f4b485d295689d6ce9fd77a01694602.tar.gz enigma2-53cccbdf7f4b485d295689d6ce9fd77a01694602.zip | |
enable DMX_ADD_PID by default - you need dvb-core support for this\!
Diffstat (limited to 'lib/dvb/demux.cpp')
| -rw-r--r-- | lib/dvb/demux.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/dvb/demux.cpp b/lib/dvb/demux.cpp index c8e71173..b4204924 100644 --- a/lib/dvb/demux.cpp +++ b/lib/dvb/demux.cpp @@ -25,7 +25,7 @@ #else #include <linux/dvb/dmx.h> -// #define HAVE_ADD_PID +#define HAVE_ADD_PID #ifdef HAVE_ADD_PID #define DMX_ADD_PID _IO('o', 51) @@ -462,6 +462,7 @@ RESULT eDVBTSRecorder::stop() m_thread->stop(); close(m_source_fd); + m_source_fd = -1; if (m_target_filename != "") m_thread->saveTimingInformation(m_target_filename + ".ap"); @@ -510,10 +511,10 @@ RESULT eDVBTSRecorder::startPID(int pid) } m_pids[pid] = fd; #else - eDebug("add pid: %08x", pid); if (::ioctl(m_source_fd, DMX_ADD_PID, pid)) perror("DMX_ADD_PID"); - eDebug("ok"); + else + m_pids[pid] = 1; #endif return 0; } @@ -523,9 +524,12 @@ void eDVBTSRecorder::stopPID(int pid) #ifndef HAVE_ADD_PID if (m_pids[pid] != -1) ::close(m_pids[pid]); - m_pids[pid] = -1; #else - if (::ioctl(m_source_fd, DMX_REMOVE_PID, pid)) - perror("DMX_REMOVE_PID"); + if (m_pids[pid] != -1) + { + if (::ioctl(m_source_fd, DMX_REMOVE_PID, pid)) + perror("DMX_REMOVE_PID"); + } #endif + m_pids[pid] = -1; } |
