From: ghost Date: Tue, 15 Feb 2011 19:38:41 +0000 (+0100) Subject: trade open flags to openPVR function X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=a995c63c0d6c24bbe23935b901bf735c18833adb;ds=inline trade open flags to openPVR function refs bug #672 --- diff --git a/lib/dvb/demux.cpp b/lib/dvb/demux.cpp index 37eae19..f4d8618 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 7dbb521..e73982e 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 &event, ePtr &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 30d5f55..399e9f5 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -1799,7 +1799,7 @@ RESULT eDVBChannel::playSource(ePtr &source, const char *streaminfo_f ePtr &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 f15cd04..66fef39 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)