diff options
Diffstat (limited to 'dxr3interface.h')
-rw-r--r-- | dxr3interface.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/dxr3interface.h b/dxr3interface.h index 6222e9e..7229b55 100644 --- a/dxr3interface.h +++ b/dxr3interface.h @@ -31,10 +31,22 @@ #include "dxr3vdrincludes.h" #include "dxr3configdata.h" #include "dxr3sysclock.h" +#include "dxr3configdata.h" // ================================== class cFixedLengthFrame; +class cDxr3Name { +public: + cDxr3Name(const char *name, int n) { + snprintf(buffer, sizeof(buffer), "%s%s-%d", "/dev/em8300", name, n); + } + const char *operator*() { return buffer; } + +private: + char buffer[PATH_MAX]; +}; + // ================================== //! interafce to dxr3-card /*! @@ -48,6 +60,16 @@ public: cDxr3Interface(); ~cDxr3Interface(); + static int Dxr3Open(const char *name, int mode, bool report_error = true) { + const char *filename = *cDxr3Name(name, cDxr3ConfigData::Instance().GetDxr3Card()); + int fd = open(filename, mode); + + if (report_error && (fd < 0)) { + LOG_ERROR_STR(filename); + } + return fd; + } + // audio void SetAudioAnalog(); void SetAudioDigitalPCM(); |