diff options
Diffstat (limited to 'lib/dvb')
| -rw-r--r-- | lib/dvb/demux.cpp | 4 | ||||
| -rw-r--r-- | lib/dvb/demux.h | 2 | ||||
| -rw-r--r-- | lib/dvb/dvb.cpp | 2 | ||||
| -rw-r--r-- | lib/dvb/idvb.h | 1 |
4 files changed, 5 insertions, 4 deletions
diff --git a/lib/dvb/demux.cpp b/lib/dvb/demux.cpp index 37eae19f..f4d86185 100644 --- a/lib/dvb/demux.cpp +++ b/lib/dvb/demux.cpp @@ -85,11 +85,11 @@ int eDVBDemux::openDemux(void) return ::open(filename, O_RDWR); } -int eDVBDemux::openDVR(void) +int eDVBDemux::openDVR(int flags) { char filename[128]; snprintf(filename, 128, "/dev/dvb/adapter%d/dvr%d", adapter, demux); - return ::open(filename, O_WRONLY); + return ::open(filename, flags); } DEFINE_REF(eDVBDemux) diff --git a/lib/dvb/demux.h b/lib/dvb/demux.h index 7dbb521a..e73982ec 100644 --- a/lib/dvb/demux.h +++ b/lib/dvb/demux.h @@ -26,7 +26,7 @@ public: RESULT getCADemuxID(uint8_t &id) { id = demux; return 0; } RESULT flush(); RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &conn); - int openDVR(void); + int openDVR(int flags); int getRefCount() { return ref; } private: diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 30d5f554..399e9f58 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -1799,7 +1799,7 @@ RESULT eDVBChannel::playSource(ePtr<iTsSource> &source, const char *streaminfo_f ePtr<eDVBAllocatedDemux> &demux = m_demux ? m_demux : m_decoder_demux; if (demux) { - m_pvr_fd_dst = demux->get().openDVR(); + m_pvr_fd_dst = demux->get().openDVR(O_WRONLY); if (m_pvr_fd_dst < 0) { eDebug("can't open /dev/dvb/adapterX/dvrX - you need to buy the new(!) $$$ box! (%m)"); // or wait for the driver to be improved. diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index f15cd04e..66fef391 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -636,6 +636,7 @@ public: virtual RESULT getSTC(pts_t &pts, int num=0)=0; virtual RESULT getCADemuxID(uint8_t &id)=0; virtual RESULT flush()=0; + int openDVR(int flags)=0; }; #if HAVE_DVB_API_VERSION < 3 && !defined(VIDEO_EVENT_SIZE_CHANGED) |
