summaryrefslogtreecommitdiff
path: root/libs/backends
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-09-01 12:37:24 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-09-02 12:07:59 +1000
commit7521028831148e95c1e90749f39fc4748ee7ca9b (patch)
treeecd776802d90a67870b9636b2ed90c6e7e460df0 /libs/backends
parent3618689103cd4c69928fd4301749a18f38d4b434 (diff)
Add debug output for errors when setting MMCSS thread characteristics
Diffstat (limited to 'libs/backends')
-rw-r--r--libs/backends/portaudio/mmcss.cc16
-rw-r--r--libs/backends/portaudio/mmcss.h5
2 files changed, 21 insertions, 0 deletions
diff --git a/libs/backends/portaudio/mmcss.cc b/libs/backends/portaudio/mmcss.cc
index d8cec029a7..e986fe965e 100644
--- a/libs/backends/portaudio/mmcss.cc
+++ b/libs/backends/portaudio/mmcss.cc
@@ -118,6 +118,22 @@ set_thread_characteristics (const std::string& task_name, HANDLE* task_handle)
if (*task_handle == 0) {
DEBUG_THREADS (string_compose ("Failed to set Thread Characteristics to %1\n",
task_name));
+ DWORD error = GetLastError();
+
+ switch (error) {
+ case ERROR_INVALID_TASK_INDEX:
+ DEBUG_THREADS("MMCSS: Invalid Task Index\n");
+ break;
+ case ERROR_INVALID_TASK_NAME:
+ DEBUG_THREADS("MMCSS: Invalid Task Name\n");
+ break;
+ case ERROR_PRIVILEGE_NOT_HELD:
+ DEBUG_THREADS("MMCSS: Privilege not held\n");
+ break;
+ default:
+ DEBUG_THREADS("MMCSS: Unknown error setting thread characteristics\n");
+ break;
+ }
return false;
}
diff --git a/libs/backends/portaudio/mmcss.h b/libs/backends/portaudio/mmcss.h
index deb9a417d3..7c77f463a5 100644
--- a/libs/backends/portaudio/mmcss.h
+++ b/libs/backends/portaudio/mmcss.h
@@ -33,6 +33,11 @@ enum AVRT_PRIORITY {
AVRT_PRIORITY_CRITICAL
};
+enum error_codes {
+ ERROR_INVALID_TASK_NAME = 1550,
+ ERROR_INVALID_TASK_INDEX = 1551
+};
+
bool initialize ();
bool deinitialize ();