summaryrefslogtreecommitdiff
path: root/dxr3interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'dxr3interface.h')
-rw-r--r--dxr3interface.h22
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();