aboutsummaryrefslogtreecommitdiff
path: root/multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp')
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp b/multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp
new file mode 100644
index 000000000000..d66a0b13e4f7
--- /dev/null
+++ b/multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp
@@ -0,0 +1,36 @@
+--- a/command/decoder.cpp
++++ b/command/decoder.cpp
+@@ -6,7 +6,12 @@
+ */
+
+ #include <stdint.h>
++#ifndef __FreeBSD__
+ #include <sched.h>
++#else
++#include <sys/types.h>
++#include <sys/sysctl.h>
++#endif
+ #include <errno.h>
+ #include <sys/types.h>
+ #include <string.h>
+@@ -107,6 +112,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH
+ noticeERRMP2=false;
+ noticeERRAC3=false;
+
++#ifndef __FreeBSD__
+ cpu_set_t cpumask;
+ uint len = sizeof(cpumask);
+ int cpucount;
+@@ -118,6 +124,12 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH
+ {
+ cpucount=CPU_COUNT(&cpumask);
+ }
++#else
++ int cpucount;
++ size_t cpus_size = sizeof(cpucount);
++ if (sysctlbyname("hw.ncpu", &cpucount, &cpus_size, NULL, 0) == -1)
++ cpucount = 1;
++#endif
+
+ if (Threads==-1)
+ {