summaryrefslogtreecommitdiffstats
path: root/ext/shout
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2004-03-14 22:34:33 +0000
committerThomas Vander Stichele <thomas@apestaart.org>2004-03-14 22:34:33 +0000
commit7a778ee4b7ec09a1f5b2185c9cceee3910dfbdf2 (patch)
treef863b467dea9559a6ec9c48affbfae11f8104164 /ext/shout
parenta19db4bbdc4a15ea0d8f4d28e9a1302c9c3d1657 (diff)
downloadgst-plugins-bad-7a778ee4b7ec09a1f5b2185c9cceee3910dfbdf2.tar.gz
gst-plugins-bad-7a778ee4b7ec09a1f5b2185c9cceee3910dfbdf2.tar.bz2
gst-plugins-bad-7a778ee4b7ec09a1f5b2185c9cceee3910dfbdf2.zip
gst-indent
Original commit message from CVS: gst-indent
Diffstat (limited to 'ext/shout')
-rw-r--r--ext/shout/gstshout.c314
-rw-r--r--ext/shout/gstshout.h67
2 files changed, 179 insertions, 202 deletions
diff --git a/ext/shout/gstshout.c b/ext/shout/gstshout.c
index 0a8ee186..3deb8cc6 100644
--- a/ext/shout/gstshout.c
+++ b/ext/shout/gstshout.c
@@ -41,52 +41,54 @@ static char *SHOUT_ERRORS[] = {
};
/* IcecastSend signals and args */
-enum {
+enum
+{
/* FILL ME */
LAST_SIGNAL
};
-enum {
+enum
+{
ARG_0,
- ARG_IP, /* the ip of the server */
- ARG_PORT, /* the encoder port number on the server */
- ARG_PASSWORD, /* the encoder password on the server */
- ARG_PUBLIC, /* is this stream public? */
- ARG_NAME, /* Name of the stream */
- ARG_DESCRIPTION, /* Description of the stream */
- ARG_GENRE, /* Genre of the stream */
- ARG_MOUNT, /* mountpoint of stream (icecast only) */
- ARG_DUMPFILE, /* Dumpfile on the server for this stream (icecast only) */
- ARG_ICY, /* use icy headers for login? (for use with shoutcast) */
- ARG_AIM, /* AIM number (shoutcast only) */
- ARG_ICQ, /* ICQ number (shoutcast only) */
- ARG_IRC, /* IRC server (shoutcast only) */
+ ARG_IP, /* the ip of the server */
+ ARG_PORT, /* the encoder port number on the server */
+ ARG_PASSWORD, /* the encoder password on the server */
+ ARG_PUBLIC, /* is this stream public? */
+ ARG_NAME, /* Name of the stream */
+ ARG_DESCRIPTION, /* Description of the stream */
+ ARG_GENRE, /* Genre of the stream */
+ ARG_MOUNT, /* mountpoint of stream (icecast only) */
+ ARG_DUMPFILE, /* Dumpfile on the server for this stream (icecast only) */
+ ARG_ICY, /* use icy headers for login? (for use with shoutcast) */
+ ARG_AIM, /* AIM number (shoutcast only) */
+ ARG_ICQ, /* ICQ number (shoutcast only) */
+ ARG_IRC, /* IRC server (shoutcast only) */
};
static GstStaticPadTemplate sink_template_factory =
-GST_STATIC_PAD_TEMPLATE (
- "sink",
- GST_PAD_SINK,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/mpeg, "
- "mpegversion = (int) 1, "
- "layer = (int) [ 1, 3 ]"
- )
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS ("audio/mpeg, "
+ "mpegversion = (int) 1, " "layer = (int) [ 1, 3 ]")
+ );
-static void gst_icecastsend_class_init (GstIcecastSendClass *klass);
-static void gst_icecastsend_base_init (GstIcecastSendClass *klass);
-static void gst_icecastsend_init (GstIcecastSend *icecastsend);
+static void gst_icecastsend_class_init (GstIcecastSendClass * klass);
+static void gst_icecastsend_base_init (GstIcecastSendClass * klass);
+static void gst_icecastsend_init (GstIcecastSend * icecastsend);
-static void gst_icecastsend_chain (GstPad *pad, GstData *_data);
+static void gst_icecastsend_chain (GstPad * pad, GstData * _data);
-static void gst_icecastsend_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void gst_icecastsend_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_icecastsend_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec);
+static void gst_icecastsend_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec);
-static
- GstElementStateReturn gst_icecastsend_change_state (GstElement *element);
+static
+ GstElementStateReturn gst_icecastsend_change_state (GstElement * element);
static GstElementClass *parent_class = NULL;
+
/*static guint gst_icecastsend_signals[LAST_SIGNAL] = { 0 }; */
GType
@@ -102,87 +104,63 @@ gst_icecastsend_get_type (void)
sizeof (GstIcecastSend), 0,
(GInstanceInitFunc) gst_icecastsend_init,
};
- icecastsend_type = g_type_register_static(GST_TYPE_ELEMENT, "GstIcecastSend", &icecastsend_info, 0);
+ icecastsend_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstIcecastSend",
+ &icecastsend_info, 0);
}
return icecastsend_type;
}
static void
-gst_icecastsend_base_init (GstIcecastSendClass *klass)
+gst_icecastsend_base_init (GstIcecastSendClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&sink_template_factory));
+ gst_static_pad_template_get (&sink_template_factory));
gst_element_class_set_details (element_class, &icecastsend_details);
}
static void
-gst_icecastsend_class_init (GstIcecastSendClass *klass)
+gst_icecastsend_class_init (GstIcecastSendClass * klass)
{
GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gobject_class = (GObjectClass*)klass;
- gstelement_class = (GstElementClass*)klass;
+ gobject_class = (GObjectClass *) klass;
+ gstelement_class = (GstElementClass *) klass;
- parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_IP,
- g_param_spec_string("ip","ip","ip",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_PORT,
- g_param_spec_int("port","port","port",
- G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_IP, g_param_spec_string ("ip", "ip", "ip", NULL, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PORT, g_param_spec_int ("port", "port", "port", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_PASSWORD,
- g_param_spec_string("password","password","password",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PASSWORD, g_param_spec_string ("password", "password", "password", NULL, G_PARAM_READWRITE)); /* CHECKME */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_PUBLIC,
- g_param_spec_boolean("public","public","public",
- TRUE, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PUBLIC, g_param_spec_boolean ("public", "public", "public", TRUE, G_PARAM_READWRITE)); /* CHECKME */
/* metadata */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_NAME,
- g_param_spec_string("name","name","name",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_READWRITE)); /* CHECKME */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DESCRIPTION,
- g_param_spec_string("description","description","description",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DESCRIPTION, g_param_spec_string ("description", "description", "description", NULL, G_PARAM_READWRITE)); /* CHECKME */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_GENRE,
- g_param_spec_string("genre","genre","genre",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_GENRE, g_param_spec_string ("genre", "genre", "genre", NULL, G_PARAM_READWRITE)); /* CHECKME */
/* icecast only */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MOUNT,
- g_param_spec_string("mount","mount","mount",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MOUNT, g_param_spec_string ("mount", "mount", "mount", NULL, G_PARAM_READWRITE)); /* CHECKME */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DUMPFILE,
- g_param_spec_string("dumpfile","dumpfile","dumpfile",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DUMPFILE, g_param_spec_string ("dumpfile", "dumpfile", "dumpfile", NULL, G_PARAM_READWRITE)); /* CHECKME */
/* shoutcast only */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_ICY,
- g_param_spec_boolean("icy","icy","icy",
- FALSE, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ICY, g_param_spec_boolean ("icy", "icy", "icy", FALSE, G_PARAM_READWRITE)); /* CHECKME */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_AIM,
- g_param_spec_string("aim","aim","aim",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_AIM, g_param_spec_string ("aim", "aim", "aim", NULL, G_PARAM_READWRITE)); /* CHECKME */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_ICQ,
- g_param_spec_string("icq","icq","icq",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ICQ, g_param_spec_string ("icq", "icq", "icq", NULL, G_PARAM_READWRITE)); /* CHECKME */
+
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_IRC, g_param_spec_string ("irc", "irc", "irc", NULL, G_PARAM_READWRITE)); /* CHECKME */
- g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_IRC,
- g_param_spec_string("irc","irc","irc",
- NULL, G_PARAM_READWRITE)); /* CHECKME */
-
gobject_class->set_property = gst_icecastsend_set_property;
gobject_class->get_property = gst_icecastsend_get_property;
@@ -190,14 +168,15 @@ gst_icecastsend_class_init (GstIcecastSendClass *klass)
}
static void
-gst_icecastsend_init (GstIcecastSend *icecastsend)
+gst_icecastsend_init (GstIcecastSend * icecastsend)
{
GstElementClass *klass = GST_ELEMENT_GET_CLASS (icecastsend);
-
- icecastsend->sinkpad = gst_pad_new_from_template (
- gst_element_class_get_pad_template (klass, "sink"), "sink");
- gst_element_add_pad(GST_ELEMENT(icecastsend),icecastsend->sinkpad);
- gst_pad_set_chain_function(icecastsend->sinkpad,gst_icecastsend_chain);
+
+ icecastsend->sinkpad =
+ gst_pad_new_from_template (gst_element_class_get_pad_template (klass,
+ "sink"), "sink");
+ gst_element_add_pad (GST_ELEMENT (icecastsend), icecastsend->sinkpad);
+ gst_pad_set_chain_function (icecastsend->sinkpad, gst_icecastsend_chain);
icecastsend->ip = g_strdup ("127.0.0.1");
icecastsend->port = 8000;
@@ -215,15 +194,15 @@ gst_icecastsend_init (GstIcecastSend *icecastsend)
}
static void
-gst_icecastsend_chain (GstPad *pad, GstData *_data)
+gst_icecastsend_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstIcecastSend *icecastsend;
glong ret;
- g_return_if_fail(pad != NULL);
- g_return_if_fail(GST_IS_PAD(pad));
- g_return_if_fail(buf != NULL);
+ g_return_if_fail (pad != NULL);
+ g_return_if_fail (GST_IS_PAD (pad));
+ g_return_if_fail (buf != NULL);
icecastsend = GST_ICECASTSEND (GST_OBJECT_PARENT (pad));
@@ -231,7 +210,7 @@ gst_icecastsend_chain (GstPad *pad, GstData *_data)
g_return_if_fail (GST_IS_ICECASTSEND (icecastsend));
ret = shout_send_data (&icecastsend->conn, GST_BUFFER_DATA (buf),
- GST_BUFFER_SIZE (buf));
+ GST_BUFFER_SIZE (buf));
if (!ret) {
g_warning ("send error: %i...\n", icecastsend->conn.error);
}
@@ -242,19 +221,20 @@ gst_icecastsend_chain (GstPad *pad, GstData *_data)
}
static void
-gst_icecastsend_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_icecastsend_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
{
GstIcecastSend *icecastsend;
- g_return_if_fail(GST_IS_ICECASTSEND(object));
- icecastsend = GST_ICECASTSEND(object);
+ g_return_if_fail (GST_IS_ICECASTSEND (object));
+ icecastsend = GST_ICECASTSEND (object);
switch (prop_id) {
case ARG_IP:
if (icecastsend->ip)
g_free (icecastsend->ip);
icecastsend->ip = g_strdup (g_value_get_string (value));
- break;
+ break;
case ARG_PORT:
icecastsend->port = g_value_get_int (value);
break;
@@ -264,58 +244,58 @@ gst_icecastsend_set_property (GObject *object, guint prop_id, const GValue *valu
icecastsend->password = g_strdup (g_value_get_string (value));
break;
- case ARG_PUBLIC: /* is this stream public? */
- icecastsend->public=g_value_get_boolean (value);
+ case ARG_PUBLIC: /* is this stream public? */
+ icecastsend->public = g_value_get_boolean (value);
break;
- case ARG_NAME: /* Name of the stream */
+ case ARG_NAME: /* Name of the stream */
if (icecastsend->name)
g_free (icecastsend->name);
icecastsend->name = g_strdup (g_value_get_string (value));
break;
- case ARG_DESCRIPTION: /* Description of the stream */
+ case ARG_DESCRIPTION: /* Description of the stream */
if (icecastsend->description)
g_free (icecastsend->description);
icecastsend->description = g_strdup (g_value_get_string (value));
break;
- case ARG_GENRE: /* Genre of the stream */
+ case ARG_GENRE: /* Genre of the stream */
if (icecastsend->genre)
g_free (icecastsend->genre);
icecastsend->genre = g_strdup (g_value_get_string (value));
break;
- case ARG_MOUNT: /* mountpoint of stream (icecast only) */
+ case ARG_MOUNT: /* mountpoint of stream (icecast only) */
if (icecastsend->mount)
g_free (icecastsend->mount);
icecastsend->mount = g_strdup (g_value_get_string (value));
break;
- case ARG_DUMPFILE: /* Dumpfile on the server for this stream (icecast only) */
+ case ARG_DUMPFILE: /* Dumpfile on the server for this stream (icecast only) */
if (icecastsend->dumpfile)
g_free (icecastsend->dumpfile);
icecastsend->dumpfile = g_strdup (g_value_get_string (value));
break;
- case ARG_ICY: /* use icy headers for login? (for use with shoutcast) */
+ case ARG_ICY: /* use icy headers for login? (for use with shoutcast) */
icecastsend->icy = g_value_get_boolean (value);
break;
- case ARG_AIM: /* AIM number (shoutcast only) */
+ case ARG_AIM: /* AIM number (shoutcast only) */
if (icecastsend->aim)
g_free (icecastsend->aim);
icecastsend->aim = g_strdup (g_value_get_string (value));
break;
- case ARG_ICQ: /* ICQ number (shoutcast only) */
+ case ARG_ICQ: /* ICQ number (shoutcast only) */
if (icecastsend->icq)
g_free (icecastsend->icq);
icecastsend->icq = g_strdup (g_value_get_string (value));
break;
- case ARG_IRC: /* IRC server (shoutcast only) */
+ case ARG_IRC: /* IRC server (shoutcast only) */
if (icecastsend->irc)
g_free (icecastsend->irc);
icecastsend->irc = g_strdup (g_value_get_string (value));
@@ -327,13 +307,14 @@ gst_icecastsend_set_property (GObject *object, guint prop_id, const GValue *valu
}
static void
-gst_icecastsend_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_icecastsend_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstIcecastSend *icecastsend;
/* it's not null if we got it, but it might not be ours */
- g_return_if_fail(GST_IS_ICECASTSEND(object));
- icecastsend = GST_ICECASTSEND(object);
+ g_return_if_fail (GST_IS_ICECASTSEND (object));
+ icecastsend = GST_ICECASTSEND (object);
switch (prop_id) {
case ARG_IP:
@@ -345,43 +326,43 @@ gst_icecastsend_get_property (GObject *object, guint prop_id, GValue *value, GPa
case ARG_PASSWORD:
g_value_set_string (value, icecastsend->password);
break;
- case ARG_PUBLIC: /* is this stream public? */
+ case ARG_PUBLIC: /* is this stream public? */
g_value_set_boolean (value, icecastsend->public);
break;
- case ARG_NAME: /* Name of the stream */
+ case ARG_NAME: /* Name of the stream */
g_value_set_string (value, icecastsend->name);
break;
- case ARG_DESCRIPTION: /* Description of the stream */
+ case ARG_DESCRIPTION: /* Description of the stream */
g_value_set_string (value, icecastsend->description);
break;
- case ARG_GENRE: /* Genre of the stream */
+ case ARG_GENRE: /* Genre of the stream */
g_value_set_string (value, icecastsend->genre);
break;
- case ARG_MOUNT: /* mountpoint of stream (icecast only) */
+ case ARG_MOUNT: /* mountpoint of stream (icecast only) */
g_value_set_string (value, icecastsend->mount);
break;
- case ARG_DUMPFILE: /* Dumpfile on the server for this stream (icecast only) */
+ case ARG_DUMPFILE: /* Dumpfile on the server for this stream (icecast only) */
g_value_set_string (value, icecastsend->dumpfile);
break;
- case ARG_ICY: /* use icy headers for login? (for use with shoutcast) */
+ case ARG_ICY: /* use icy headers for login? (for use with shoutcast) */
g_value_set_boolean (value, icecastsend->icy);
break;
- case ARG_AIM: /* AIM number (shoutcast only) */
+ case ARG_AIM: /* AIM number (shoutcast only) */
g_value_set_string (value, icecastsend->aim);
break;
- case ARG_ICQ: /* ICQ number (shoutcast only) */
+ case ARG_ICQ: /* ICQ number (shoutcast only) */
g_value_set_string (value, icecastsend->icq);
break;
- case ARG_IRC: /* IRC server (shoutcast only) */
+ case ARG_IRC: /* IRC server (shoutcast only) */
g_value_set_string (value, icecastsend->irc);
break;
@@ -392,55 +373,53 @@ gst_icecastsend_get_property (GObject *object, guint prop_id, GValue *value, GPa
}
static GstElementStateReturn
-gst_icecastsend_change_state (GstElement *element)
+gst_icecastsend_change_state (GstElement * element)
{
GstIcecastSend *icecastsend;
g_return_val_if_fail (GST_IS_ICECASTSEND (element), GST_STATE_FAILURE);
- icecastsend = GST_ICECASTSEND(element);
+ icecastsend = GST_ICECASTSEND (element);
GST_DEBUG ("state pending %d", GST_STATE_PENDING (element));
/* if going down into NULL state, close the file if it's open */
switch (GST_STATE_TRANSITION (element)) {
- case GST_STATE_READY_TO_NULL:
- shout_init_connection (&icecastsend->conn);
-
- /* --- FIXME: shout requires an ip, and fails if it is given a host. */
- /* may want to put convert_to_ip(icecastsend->ip) here */
- icecastsend->conn.ip = icecastsend->ip;
- /* --- */
-
- icecastsend->conn.port = icecastsend->port;
- icecastsend->conn.password = icecastsend->password;
- icecastsend->conn.ispublic = icecastsend->public;
- icecastsend->conn.name = icecastsend->name;
- icecastsend->conn.description = icecastsend->description;
- icecastsend->conn.genre = icecastsend->genre;
- icecastsend->conn.mount = icecastsend->mount;
- icecastsend->conn.dumpfile = icecastsend->dumpfile;
- icecastsend->conn.icy_compat = icecastsend->icy;
- /* --- FIXME: libshout 1.0.5 doesn't have the two next fields */
- /* icecastsend->conn.aim = icecastsend->aim;
- icecastsend->conn.irc = icecastsend->irc;*/
-
- if (shout_connect (&icecastsend->conn)) {
- g_print ("connected to server...\n");
- }
- else {
- g_warning ("couldn't connect to server... (%i: %s)\n",
- icecastsend->conn.error,
- SHOUT_ERRORS[icecastsend->conn.error]);
- shout_disconnect (&icecastsend->conn);
- return GST_STATE_FAILURE;
- }
- break;
- case GST_STATE_PAUSED_TO_READY:
- shout_disconnect (&icecastsend->conn);
- break;
- default:
- break;
+ case GST_STATE_READY_TO_NULL:
+ shout_init_connection (&icecastsend->conn);
+
+ /* --- FIXME: shout requires an ip, and fails if it is given a host. */
+ /* may want to put convert_to_ip(icecastsend->ip) here */
+ icecastsend->conn.ip = icecastsend->ip;
+ /* --- */
+
+ icecastsend->conn.port = icecastsend->port;
+ icecastsend->conn.password = icecastsend->password;
+ icecastsend->conn.ispublic = icecastsend->public;
+ icecastsend->conn.name = icecastsend->name;
+ icecastsend->conn.description = icecastsend->description;
+ icecastsend->conn.genre = icecastsend->genre;
+ icecastsend->conn.mount = icecastsend->mount;
+ icecastsend->conn.dumpfile = icecastsend->dumpfile;
+ icecastsend->conn.icy_compat = icecastsend->icy;
+ /* --- FIXME: libshout 1.0.5 doesn't have the two next fields */
+ /* icecastsend->conn.aim = icecastsend->aim;
+ icecastsend->conn.irc = icecastsend->irc; */
+
+ if (shout_connect (&icecastsend->conn)) {
+ g_print ("connected to server...\n");
+ } else {
+ g_warning ("couldn't connect to server... (%i: %s)\n",
+ icecastsend->conn.error, SHOUT_ERRORS[icecastsend->conn.error]);
+ shout_disconnect (&icecastsend->conn);
+ return GST_STATE_FAILURE;
+ }
+ break;
+ case GST_STATE_PAUSED_TO_READY:
+ shout_disconnect (&icecastsend->conn);
+ break;
+ default:
+ break;
}
/* if we haven't failed already, give the parent class a chance to ;-) */
@@ -451,20 +430,15 @@ gst_icecastsend_change_state (GstElement *element)
}
static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "icecastsend",
- GST_RANK_NONE, GST_TYPE_ICECASTSEND);
+ GST_RANK_NONE, GST_TYPE_ICECASTSEND);
}
-GST_PLUGIN_DEFINE (
- GST_VERSION_MAJOR,
- GST_VERSION_MINOR,
- "icecastsend",
- "Sends data to an icecast server using libshout",
- plugin_init,
- VERSION,
- "GPL",
- "libshout",
- "http://developer.icecast.org/libshout/"
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+ GST_VERSION_MINOR,
+ "icecastsend",
+ "Sends data to an icecast server using libshout",
+ plugin_init,
+ VERSION, "GPL", "libshout", "http://developer.icecast.org/libshout/")
diff --git a/ext/shout/gstshout.h b/ext/shout/gstshout.h
index 129fcba8..210b6b5d 100644
--- a/ext/shout/gstshout.h
+++ b/ext/shout/gstshout.h
@@ -25,40 +25,43 @@
#include <shout/shout.h>
#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif /* __cplusplus */
/* Definition of structure storing data for this element. */
-typedef struct _GstIcecastSend GstIcecastSend;
-struct _GstIcecastSend {
- GstElement element;
-
- GstPad *sinkpad,*srcpad;
-
- shout_conn_t conn;
-
- gchar *ip;
- guint port;
- gchar *password;
- gboolean public;
- gchar *name;
- gchar *description;
- gchar *genre;
- gchar *mount;
- gchar *dumpfile;
- gboolean icy;
- gchar *aim;
- gchar *icq;
- gchar *irc;
-
-};
+ typedef struct _GstIcecastSend GstIcecastSend;
+ struct _GstIcecastSend
+ {
+ GstElement element;
+
+ GstPad *sinkpad, *srcpad;
+
+ shout_conn_t conn;
+
+ gchar *ip;
+ guint port;
+ gchar *password;
+ gboolean public;
+ gchar *name;
+ gchar *description;
+ gchar *genre;
+ gchar *mount;
+ gchar *dumpfile;
+ gboolean icy;
+ gchar *aim;
+ gchar *icq;
+ gchar *irc;
+
+ };
/* Standard definition defining a class for this element. */
-typedef struct _GstIcecastSendClass GstIcecastSendClass;
-struct _GstIcecastSendClass {
- GstElementClass parent_class;
-};
+ typedef struct _GstIcecastSendClass GstIcecastSendClass;
+ struct _GstIcecastSendClass
+ {
+ GstElementClass parent_class;
+ };
/* Standard macros for defining types for this element. */
#define GST_TYPE_ICECASTSEND \
@@ -73,12 +76,12 @@ struct _GstIcecastSendClass {
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ICECASTSEND))
/* Standard function returning type information. */
-GType gst_icecastsend_get_type(void);
+ GType gst_icecastsend_get_type (void);
#ifdef __cplusplus
}
-#endif /* __cplusplus */
+#endif /* __cplusplus */
-#endif /* __GST_ICECASTSEND_H__ */
+#endif /* __GST_ICECASTSEND_H__ */