mp3:
- para_recv -r http:-i:server_host | para_filter -f mp3 -f wav | para_play
- or
- mpg123 http://server_host:8000/
- or
- xmms http://server_host:8000/
+ para_recv -r 'http -i server_host' | para_filter -f mp3dec -f wav | para_play
+ or
+ mpg123 http://server_host:8000/
+ or
+ xmms http://server_host:8000/
ogg:
- para_recv -r http:-i:server_host | para_filter -f ogg -f wav | para_play
+ para_recv -r 'http -i server_host' | para_filter -f oggdec -f wav | para_play
If this works, proceede. Otherwise doublecheck what is logged by
-para_server and use the --loglevel option of para_recv to increase
-verbosity.
+para_server and use the --loglevel option of para_recv, para_filter
+to increase verbosity.
Configure para_audiod
~~~~~~~~~~~~~~~~~~~~~
for help. Usually you have to specify at least server_host as the
receiver specifier, like this:
- -r http:-i:server_host
+ -r 'mp3:http -i server_host'
The prefered way to use para_audiod is to run it once at system start
as an unprivileged user. para_audiod needs to create a "well-known"
May be given multiple times, once for each
supported audio format. receiver_spec
-consists of an audio format, the receiver
-name and any options for that receiver,
-seperated by colons.
+consists of an audio format and the receiver
+name, separated by a colon, and any options
+for that receiver, seperated by whitespace.
+If any receiver options are present, the
+whole receiver argument must be quoted.
Example:
--r mp3:http:-i:www.paraslash.org:-p:8009
+-r 'mp3:http -i www.paraslash.org -p 8009'
"
string typestr="receiver_spec" default="http" no multiple
May be given multiple times. filter_spec
consists of an audio format, the name of the
-filter, and any options for that filter,
-separated by colons.
+filter, and any options for that filter.
Examples:
-f mp3:mp3dec
- -f:mp3:compress:--anticlip:--volume:2
+ -f 'mp3:compress --anticlip --volume 2'
Note that these options are ignored by default,
see --no_default_filters."
return options? -E_BAD_FILTER_OPTIONS : filter_num;
if (options) {
// PARA_DEBUG_LOG("options: %s\n", options);
- argc = split_args(options, &argv, ':');
+ argc = split_args(options, &argv, ' ');
// PARA_DEBUG_LOG("argc = %d, argv[0]: %s\n", argc, argv[0]);
for (i = argc; i >= 0; i--)
argv[i + 1] = argv[i];
if (strncmp(name, fa, len))
continue;
c = fa[len];
- if (c && c != ':')
+ if (c && c != ' ')
continue;
if (c && !filters[j].parse_config)
return -E_BAD_FILTER_OPTIONS;
option "list_receivers" L "print list of available receivers" flag off
option "receiver" r "Select receiver.
-If options for the selected receiver are given, they must
-be separated by ':' instead of white space. Example:
+Any options for the selected receiver must
+be quoted. Example:
- -r http:-i:www.paraslash.org:-p:8009
+ -r 'http -i www.paraslash.org -p 8009'
"
string typestr="receiver_spec" default="http" no
// options? options : "(none)");
if (options) {
// PARA_DEBUG_LOG("%s options: %s\n", name, options);
- argc = split_args(options, &argv, ':');
+ argc = split_args(options, &argv, ' ');
// PARA_DEBUG_LOG("argc = %d, argv[0]: %s\n", fn->argc, fn->argv[0]);
for (i = argc; i >= 0; i--)
argv[i + 1] = argv[i];
if (strncmp(name, ra, len))
continue;
c = ra[len];
- if (c && c != ':')
+ if (c && c != ' ')
continue;
if (c && !receivers[j].parse_config)
return NULL;
*receiver_num = j;
return parse_receiver_args(j, c? ra + len + 1: NULL);
}
- PARA_ERROR_LOG("%s", "receiver not found:");
+ PARA_ERROR_LOG("%s", "receiver not found\n");
return NULL;
}