diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-08-29 09:29:40 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-08-29 09:50:36 +0000 |
commit | 0f73acc225656517526b317a05ecab7e1311141b (patch) | |
tree | 81a8a8e373df302cfa478a8af706d125dcc1cb1d /lib/dtas/player | |
parent | 4bd49cda05b43fc68f9353620e3f018f1c07fcbb (diff) | |
download | dtas-0f73acc225656517526b317a05ecab7e1311141b.tar.gz |
We don't need it since IO#read(bytes, buf) will convert to ASCII-8BIT anyways. Everywhere else, we ensure path names are already binary. We do this mainly at the client layer before using Shellwords to escape the paths. We also must be careful about parsing output from soxi/avprobe which can show us metadata in whatever encoding is in the file. We must still handle data from parsing command output as binary, as the encoding of file metadata tends to vary. This also should buy us Syck compatibility for Ruby 1.9.3 users on Debian systems where Ruby 1.9.3 still uses Syck.
Diffstat (limited to 'lib/dtas/player')
-rw-r--r-- | lib/dtas/player/client_handler.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/dtas/player/client_handler.rb b/lib/dtas/player/client_handler.rb index f29db36..f601d46 100644 --- a/lib/dtas/player/client_handler.rb +++ b/lib/dtas/player/client_handler.rb @@ -1,7 +1,8 @@ -# -*- encoding: binary -*- # Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt) +require_relative '../xs' module DTAS::Player::ClientHandler # :nodoc: + include DTAS::XS # returns true on success, wait_ctl arg on error def set_bool(io, kv, v) @@ -116,7 +117,7 @@ module DTAS::Player::ClientHandler # :nodoc: name = msg[1] case msg[0] when "ls" - io.emit(Shellwords.join(@sinks.keys.sort)) + io.emit(xs(@sinks.keys.sort)) when "rm" sink = @sinks.delete(name) or return io.emit("ERR #{name} not found") drop_sink(sink) |