changeset 2926:084e30521f03

Automated merge with ssh://hg.atheme.org//hg/audacious-plugins
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 20 Aug 2008 02:50:56 +0300
parents 12588a9a458f (diff) 1197c13e4217 (current diff)
children 2bcafe0a224e
files
diffstat 3 files changed, 89 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.icecast	Wed Aug 20 02:50:56 2008 +0300
@@ -0,0 +1,88 @@
+Icecast plugin notes
+--------------------
+
+0. Build-time requirements
+==========================
+
+To build Icecast plugin successfully, you need at least:
+
+  * Audacious development files (audacious-dev package)
+
+  * Audacious plugins sources themselves
+    and all their build-time dependencies
+
+  * libshout development files (libshout3-dev package)
+
+Please note that Icecast plugin must be compiled *after* FileWriter plugin, 
+as they share some pieces of code (namely, encoding backends and format 
+conversion routines). If you build all plugins, this is done automagically.
+
+
+1. Run-time requirements
+========================
+
+To run Icecast plugin, you need:
+
+  * Icecast 2 server running somewhere, maybe at your local host,
+    to which you have "source" access
+
+  * libshout version 2.0+ (libshout3 package)
+
+
+2. Usage recommendations
+========================
+
+The plugin is implemented as both output and effect. This means that you can
+set it as the only Audacious output, if you don't need to hear anything, or 
+you can listen to music and send the same audio data to Icecast server.
+
+Please note that using plugin as effect is recommended. If you want to turn off 
+your speakers, just use Null audio output plugin.
+
+The next thing you need to do is to decide what kind of stream do you want. You 
+can use MPEG Layer 3 or Ogg Vorbis encoder. Currently supported are LAME and 
+vorbisenc. Depending on your system configuration you may or may not have LAME, 
+as it has patent problems with Fraunhofer IIS, and Debian doesn't provide 
+packages for it.
+
+If you are Debian user and want to use LAME anyway, refer to debian-multimedia 
+project.
+
+
+3. Configuration
+================
+
+First of all, you need to set up Icecast 2 properly. Note: previous versions of 
+Icecast as well as any versions of Shoutcast were not tested and are not 
+guaranteed to work at all.
+
+Usually, if you have single-user Icecast 2 setup, you should use user name 
+"source" and appropriate password. In either case, refer to Icecast 2 manual 
+for details.
+
+Mount point is a path on Icecast server, where your stream will be available. 
+I.e., if you have server at your local machine on default port, and mountpoint 
+is "/test", the whole URL of your stream would be
+
+  http://127.1:8000/test
+
+If you don't specify mount point, mount point is set to "/". Don't do this.
+
+The connection timeout option is treated differently when plugin is in output 
+or effect mode. When being used as output plugin, this setting specifies the 
+time between last song ends (or "Stop" button click) and actual disconnect.
+When being used as effect plugin, this setting specifies maximum time between 
+sequential portions of audio data sent to server.
+
+Plugin has internal buffer which collects audio data being sent to server. You 
+can fine tune size of this buffer. If buffer is too small, data will be sent 
+directly to the server bypassing this buffer. If buffer is too big, there can 
+be large pauses in audio data.
+
+You can set some information about your stream. First of all, you can provide 
+stream name, its description, music genre (or genres), URL of site where 
+listeners can read more about your radio. Also, you can ask server to list 
+the stream in any directories it knows about. Please refer to Icecast 2 
+documentation for more details about this.
+
+ -- Andrew O. Shadoura <bugzilla@tut.by>
\ No newline at end of file
--- a/configure.ac	Mon Aug 18 21:50:42 2008 +0300
+++ b/configure.ac	Wed Aug 20 02:50:56 2008 +0300
@@ -1761,6 +1761,7 @@
 echo "  Echo/Surround:                          yes"
 echo "  SndStretch:                             yes"
 echo "  Crystalizer:                            yes"
+echo "  Icecast effect plugin (icecast):        $have_shout"
 echo
 echo "  Visualization"
 echo "  -------------"
--- a/src/icecast/icecast.c	Mon Aug 18 21:50:42 2008 +0300
+++ b/src/icecast/icecast.c	Wed Aug 20 02:50:56 2008 +0300
@@ -85,7 +85,6 @@
 static gchar *stream_genre = NULL;
 static gchar *stream_description = NULL;
 
-static gboolean initialized = FALSE;
 static gboolean ep_playing = FALSE;
 
 VFSFile *output_file = NULL;
@@ -164,7 +163,6 @@
 static void ice_init(void)
 {
     ConfigDb *db;
-    if (initialized==TRUE) return;
     shout_init();
     g_message("Using libshout %s", shout_version(NULL, NULL, NULL));
 
@@ -202,13 +200,10 @@
     plugin = plugin_new;
     if (plugin.init)
         plugin.init(&ice_write_output);
-
-    initialized = TRUE;
 }
 
 static void ice_cleanup(void)
 {
-    if (initialized==FALSE) return;
     if (shout)
     {
         shout_close(shout);