summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
m---------common0
-rw-r--r--ext/Makefile.am19
-rw-r--r--ext/shout2/gstshout2.c15
-rw-r--r--ext/shout2/gstshout2.h3
5 files changed, 41 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index f56e01df..ba7e86ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2004-05-24 Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
+
+ * ext/Makefile.am:
+ add rules to build shout2send (was removed by accident
+ when this module was no more marked experimental/broken)
+
+2004-05-24 Zaheer Abbas Merali <zaheerabbas@merali.org>
+
+ * ext/shout2/gstshout2.c:
+ * ext/shout2/gstshout2.h:
+ adding a "connection problem" signal to shout2send
+ (fixes #142954)
+
2004-05-21 Thomas Vander Stichele <thomas at apestaart dot org>
* ext/kio/kioreceiver.cpp:
diff --git a/common b/common
-Subproject 5f51018de093a26d447de03e1ec6dd0377fc4c7
+Subproject 85747ad7d18dfc697845a457631f3877fda4690
diff --git a/ext/Makefile.am b/ext/Makefile.am
index 821f87e6..3bf26e9e 100644
--- a/ext/Makefile.am
+++ b/ext/Makefile.am
@@ -262,18 +262,24 @@ else
SDL_DIR=
endif
-if USE_SIDPLAY
-SIDPLAY_DIR=sidplay
-else
-SIDDPLAY_DIR=
-endif
-
if USE_SHOUT
SHOUT_DIR=shout
else
SHOUT_DIR=
endif
+if USE_SHOUT2
+SHOUT2_DIR=shout2
+else
+SHOUT2_DIR=
+endif
+
+if USE_SIDPLAY
+SIDPLAY_DIR=sidplay
+else
+SIDDPLAY_DIR=
+endif
+
if USE_SMOOTHWAVE
SMOOTHWAVE_DIR=smoothwave
else
@@ -385,6 +391,7 @@ SUBDIRS=\
$(RAW1394_DIR) \
$(SDL_DIR) \
$(SHOUT_DIR) \
+ $(SHOUT2_DIR) \
$(SIDPLAY_DIR) \
$(SMOOTHWAVE_DIR) \
$(SNAPSHOT_DIR) \
diff --git a/ext/shout2/gstshout2.c b/ext/shout2/gstshout2.c
index efc10777..7e643cf6 100644
--- a/ext/shout2/gstshout2.c
+++ b/ext/shout2/gstshout2.c
@@ -38,6 +38,7 @@ unsigned int audio_format = 100;
enum
{
/* FILL ME */
+ SIGNAL_CONNECTION_PROBLEM,
LAST_SIGNAL
};
@@ -82,7 +83,7 @@ static GstElementStateReturn gst_shout2send_change_state (GstElement * element);
static GstElementClass *parent_class = NULL;
-/*static guint gst_shout2send_signals[LAST_SIGNAL] = { 0 }; */
+static guint gst_shout2send_signals[LAST_SIGNAL] = { 0, 0 };
#define GST_TYPE_SHOUT_PROTOCOL (gst_shout2send_protocol_get_type())
static GType
@@ -174,7 +175,12 @@ gst_shout2send_class_init (GstShout2sendClass * klass)
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_URL, g_param_spec_string ("url", "url", "url", NULL, G_PARAM_READWRITE)); /* CHECKME */
-
+ /* signals */
+ gst_shout2send_signals[SIGNAL_CONNECTION_PROBLEM] =
+ g_signal_new ("connection-problem", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_CLEANUP, G_STRUCT_OFFSET (GstShout2sendClass,
+ connection_problem), NULL, NULL, g_cclosure_marshal_VOID__INT,
+ G_TYPE_NONE, 1, G_TYPE_INT);
gobject_class->set_property = gst_shout2send_set_property;
gobject_class->get_property = gst_shout2send_get_property;
@@ -222,7 +228,10 @@ gst_shout2send_chain (GstPad * pad, GstData * _data)
ret = shout_send (shout2send->conn, GST_BUFFER_DATA (buf),
GST_BUFFER_SIZE (buf));
if (ret != SHOUTERR_SUCCESS) {
- g_warning ("send error: %s...\n", shout_get_error (shout2send->conn));
+ GST_WARNING ("send error: %s...\n", shout_get_error (shout2send->conn));
+ g_signal_emit (G_OBJECT (shout2send),
+ gst_shout2send_signals[SIGNAL_CONNECTION_PROBLEM], 0,
+ shout_get_errno (shout2send->conn));
}
shout_sync (shout2send->conn);
diff --git a/ext/shout2/gstshout2.h b/ext/shout2/gstshout2.h
index 81a2f91f..128ce8ed 100644
--- a/ext/shout2/gstshout2.h
+++ b/ext/shout2/gstshout2.h
@@ -64,6 +64,9 @@ struct _GstShout2send {
typedef struct _GstShout2sendClass GstShout2sendClass;
struct _GstShout2sendClass {
GstElementClass parent_class;
+
+ /* signal callbacks */
+ void (*connection_problem) (GstElement *element,guint errno);
};
/* Standard macros for defining types for this element. */