aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS10
-rw-r--r--src/encoder/vorbis_encoder.c2
-rw-r--r--src/icy_server.c1
-rw-r--r--src/input/curl_input_plugin.c2
-rw-r--r--src/input/rewind_input_plugin.c7
-rw-r--r--src/notify.c7
-rw-r--r--src/notify.h5
7 files changed, 29 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index 71c02c16..1a195217 100644
--- a/NEWS
+++ b/NEWS
@@ -106,6 +106,16 @@ ver 0.16 (20??/??/??)
* make single mode 'sticky'
+ver 0.15.13 (2010/10/10)
+* output_thread: fix race condition after CANCEL command
+* output:
+ - httpd: fix random data in stream title
+ - httpd: MIME type audio/ogg for Ogg Vorbis
+* input:
+ - rewind: update MIME not only once
+ - rewind: enable for MMS
+
+
ver 0.15.12 (2010/07/20)
* input:
- curl: remove assertion after curl_multi_fdset()
diff --git a/src/encoder/vorbis_encoder.c b/src/encoder/vorbis_encoder.c
index 98613578..9dac3564 100644
--- a/src/encoder/vorbis_encoder.c
+++ b/src/encoder/vorbis_encoder.c
@@ -386,7 +386,7 @@ vorbis_encoder_read(struct encoder *_encoder, void *_dest, size_t length)
static const char *
vorbis_encoder_get_mime_type(G_GNUC_UNUSED struct encoder *_encoder)
{
- return "application/x-ogg";
+ return "audio/ogg";
}
const struct encoder_plugin vorbis_encoder_plugin = {
diff --git a/src/icy_server.c b/src/icy_server.c
index b655ea49..62a2c67a 100644
--- a/src/icy_server.c
+++ b/src/icy_server.c
@@ -96,6 +96,7 @@ icy_server_metadata_page(const struct tag *tag, ...)
gchar stream_title[(1 + 255 - 28) * 16]; // Length + Metadata -
// "StreamTitle='';StreamUrl='';"
// = 4081 - 28
+ stream_title[0] = '\0';
last_item = -1;
diff --git a/src/input/curl_input_plugin.c b/src/input/curl_input_plugin.c
index f1c54cdb..ae645bdd 100644
--- a/src/input/curl_input_plugin.c
+++ b/src/input/curl_input_plugin.c
@@ -264,7 +264,7 @@ input_curl_select(struct input_curl *c, GError **error_r)
return -1;
}
-#if LIBCURL_VERSION_NUM >= 0x070f00
+#if LIBCURL_VERSION_NUM >= 0x070f04
long timeout2;
mcode = curl_multi_timeout(c->multi, &timeout2);
if (mcode != CURLM_OK) {
diff --git a/src/input/rewind_input_plugin.c b/src/input/rewind_input_plugin.c
index eea59096..714927c6 100644
--- a/src/input/rewind_input_plugin.c
+++ b/src/input/rewind_input_plugin.c
@@ -85,10 +85,11 @@ copy_attributes(struct input_rewind *r)
dest->size = src->size;
dest->offset = src->offset;
- if (dest->mime == NULL && src->mime != NULL)
- /* this is set only once, and the duplicated pointer
- is freed by input_stream_close() */
+ if (src->mime != NULL) {
+ if (dest->mime != NULL)
+ g_free(dest->mime);
dest->mime = g_strdup(src->mime);
+ }
}
static void
diff --git a/src/notify.c b/src/notify.c
index dd55c45f..d148a4bf 100644
--- a/src/notify.c
+++ b/src/notify.c
@@ -49,3 +49,10 @@ void notify_signal(struct notify *notify)
g_cond_signal(notify->cond);
g_mutex_unlock(notify->mutex);
}
+
+void notify_clear(struct notify *notify)
+{
+ g_mutex_lock(notify->mutex);
+ notify->pending = false;
+ g_mutex_unlock(notify->mutex);
+}
diff --git a/src/notify.h b/src/notify.h
index bcc050bd..0c657f2f 100644
--- a/src/notify.h
+++ b/src/notify.h
@@ -45,4 +45,9 @@ void notify_wait(struct notify *notify);
*/
void notify_signal(struct notify *notify);
+/**
+ * Clears a pending notification.
+ */
+void notify_clear(struct notify *notify);
+
#endif