aboutsummaryrefslogtreecommitdiff
path: root/contrib/pulse.lua
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/pulse.lua')
-rw-r--r--contrib/pulse.lua12
1 files changed, 9 insertions, 3 deletions
diff --git a/contrib/pulse.lua b/contrib/pulse.lua
index 413b767..b06bf56 100644
--- a/contrib/pulse.lua
+++ b/contrib/pulse.lua
@@ -30,9 +30,13 @@ local pulse = {}
-- {{{ Helper function
local function pacmd(args)
local f = io.popen("pacmd "..args)
- local line = f:read("*all")
- f:close()
- return line
+ if f == nil then
+ return nil
+ else
+ local line = f:read("*all")
+ f:close()
+ return line
+ end
end
local function escape(text)
@@ -48,6 +52,7 @@ local function get_sink_name(sink)
-- Cache requests
if not cached_sinks[key] then
local line = pacmd("list-sinks")
+ if line == nil then return nil end
for s in string.gmatch(line, "name: <(.-)>") do
table.insert(cached_sinks, s)
end
@@ -66,6 +71,7 @@ local function worker(format, sink)
-- Get sink data
local data = pacmd("dump")
+ if sink == nil then return {0, "unknown"} end
-- If mute return 0 (not "Mute") so we don't break progressbars
if string.find(data,"set%-sink%-mute "..escape(sink).." yes") then