summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2012-06-12 21:02:23 +0100
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2012-06-12 21:02:23 +0100
commit8e532ca121c6fedacae73a13bf1ffe13a90b4d61 (patch)
treecaddf8c6a0652f75b8608c967ce799030eb0a897
parent5635581b261e6d323bfd6b81f3721a63c90927ae (diff)
shout: remove old shout plugin that has never been ported to 0.10
There's shout2 in -good now.
-rw-r--r--LICENSE_readme2
-rw-r--r--ext/Makefile.am7
-rw-r--r--ext/shout/Makefile.am10
-rw-r--r--ext/shout/gstshout.c466
-rw-r--r--ext/shout/gstshout.h84
5 files changed, 0 insertions, 569 deletions
diff --git a/LICENSE_readme b/LICENSE_readme
index 8ef8dbc60..a4115d044 100644
--- a/LICENSE_readme
+++ b/LICENSE_readme
@@ -23,7 +23,6 @@ cdparanoia libcdparanoia (http://www.xiph.org/paranoia/)
dtsdec libdts (http://www.videolan.org/dtsdec.html)
dvdnavsrc libdvdnav (http://dvd.sourceforge.net/)
dxr3 (http://dxr3.sourceforge.net/)
-icecastsend libshout (http://www.icecast.org)
mad libmad (http://www.mars.org/home/rob/proj/mpeg/)
mpeg2dec libmpeg2 (http://libmpeg2.sourceforge.net/)
mpeg2enc libmpeg2enc (http://mjpeg.sourceforge.net/)
@@ -74,7 +73,6 @@ ossaudio (http://www.opensound.com/)
qcamsrc
rfbenc librfb
sdlvideosink libsdl (http://www.libsdl.org/)
-shout2send libshout2 (http://www.icecast.org)
smoothwave
swfdec (http://swfdec.sourceforge.net/)
tarkin (http://svn.xiph.org/trunk/tarkin/)
diff --git a/ext/Makefile.am b/ext/Makefile.am
index 1b0bafdf3..de43bbe55 100644
--- a/ext/Makefile.am
+++ b/ext/Makefile.am
@@ -294,12 +294,6 @@ else
SDL_DIR=
endif
-# if USE_SHOUT
-# SHOUT_DIR=shout
-# else
-SHOUT_DIR=
-# endif
-
# if USE_SMOOTHWAVE
# SMOOTHWAVE_DIR=smoothwave
# else
@@ -434,7 +428,6 @@ SUBDIRS=\
$(RSVG_DIR) \
$(SCHRO_DIR) \
$(SDL_DIR) \
- $(SHOUT_DIR) \
$(SMOOTHWAVE_DIR) \
$(SNDFILE_DIR) \
$(SNDIO_DIR) \
diff --git a/ext/shout/Makefile.am b/ext/shout/Makefile.am
deleted file mode 100644
index 71fcc49b4..000000000
--- a/ext/shout/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-
-plugin_LTLIBRARIES = libgstshout.la
-
-libgstshout_la_SOURCES = gstshout.c
-libgstshout_la_CFLAGS = $(GST_CFLAGS)
-libgstshout_la_LIBADD = $(SHOUT_LIBS)
-libgstshout_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstshout_la_LIBTOOLFLAGS = --tag=disable-static
-
-noinst_HEADERS = gstshout.h
diff --git a/ext/shout/gstshout.c b/ext/shout/gstshout.c
deleted file mode 100644
index bb50d89db..000000000
--- a/ext/shout/gstshout.c
+++ /dev/null
@@ -1,466 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include "gstshout.h"
-
-static char *SHOUT_ERRORS[] = {
- "ok",
- "insane",
- "could not connect",
- "could not login",
- "socket error",
- "could not allocate memory",
- "metadata error",
-};
-
-/* IcecastSend signals and args */
-enum
-{
- /* FILL ME */
- LAST_SIGNAL
-};
-
-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) */
-};
-
-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 ]")
- );
-
-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_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
- GstStateChangeReturn gst_icecastsend_change_state (GstElement * element,
- GstStateChange transition);
-
-static GstElementClass *parent_class = NULL;
-
-/*static guint gst_icecastsend_signals[LAST_SIGNAL] = { 0 }; */
-
-GType
-gst_icecastsend_get_type (void)
-{
- static GType icecastsend_type = 0;
-
- if (!icecastsend_type) {
- static const GTypeInfo icecastsend_info = {
- sizeof (GstIcecastSendClass),
- (GBaseInitFunc) gst_icecastsend_base_init, NULL,
- (GClassInitFunc) gst_icecastsend_class_init, NULL, NULL,
- sizeof (GstIcecastSend), 0,
- (GInstanceInitFunc) gst_icecastsend_init,
- };
-
- icecastsend_type =
- g_type_register_static (GST_TYPE_ELEMENT, "GstIcecastSend",
- &icecastsend_info, 0);
- }
- return icecastsend_type;
-}
-
-static void
-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_element_class_set_details_simple (element_class, "Icecast network sink",
- "Sink/Network",
- "Sends data to an icecast server using libshout",
- "Wim Taymans <wim.taymans@chello.be>");
-}
-
-static void
-gst_icecastsend_class_init (GstIcecastSendClass * klass)
-{
- GObjectClass *gobject_class;
- GstElementClass *gstelement_class;
-
- gobject_class = (GObjectClass *) klass;
- gstelement_class = (GstElementClass *) klass;
-
- parent_class = g_type_class_peek_parent (klass);
-
- /* FIXME: add long property descriptions */
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_IP,
- g_param_spec_string ("ip", "ip", "ip", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
- 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 | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PASSWORD,
- g_param_spec_string ("password", "password", "password", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PUBLIC,
- g_param_spec_boolean ("public", "public", "public", TRUE,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- /* metadata */
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NAME,
- g_param_spec_string ("name", "name", "name", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DESCRIPTION,
- g_param_spec_string ("description", "description", "description", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_GENRE,
- g_param_spec_string ("genre", "genre", "genre", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- /* icecast only */
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MOUNT,
- g_param_spec_string ("mount", "mount", "mount", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DUMPFILE,
- g_param_spec_string ("dumpfile", "dumpfile", "dumpfile", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- /* shoutcast only */
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ICY,
- g_param_spec_boolean ("icy", "icy", "icy", FALSE,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_AIM,
- g_param_spec_string ("aim", "aim", "aim", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ICQ,
- g_param_spec_string ("icq", "icq", "icq", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_IRC,
- g_param_spec_string ("irc", "irc", "irc", NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
-
- gobject_class->set_property = gst_icecastsend_set_property;
- gobject_class->get_property = gst_icecastsend_get_property;
-
- gstelement_class->change_state = gst_icecastsend_change_state;
-}
-
-static void
-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->ip = g_strdup ("127.0.0.1");
- icecastsend->port = 8000;
- icecastsend->password = g_strdup ("hackme");
- icecastsend->public = TRUE;
- icecastsend->name = g_strdup ("");
- icecastsend->description = g_strdup ("");
- icecastsend->genre = g_strdup ("");
- icecastsend->mount = g_strdup ("");
- icecastsend->dumpfile = g_strdup ("");
- icecastsend->icy = FALSE;
- icecastsend->aim = g_strdup ("");
- icecastsend->icq = g_strdup ("");
- icecastsend->irc = g_strdup ("");
-}
-
-static void
-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);
-
- icecastsend = GST_ICECASTSEND (GST_OBJECT_PARENT (pad));
-
- g_return_if_fail (icecastsend != NULL);
- g_return_if_fail (GST_IS_ICECASTSEND (icecastsend));
-
- ret = shout_send_data (&icecastsend->conn, GST_BUFFER_DATA (buf),
- GST_BUFFER_SIZE (buf));
- if (!ret) {
- g_warning ("send error: %i...\n", icecastsend->conn.error);
- }
-
- shout_sleep (&icecastsend->conn);
-
- gst_buffer_unref (buf);
-}
-
-static void
-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);
-
- switch (prop_id) {
- case ARG_IP:
- if (icecastsend->ip)
- g_free (icecastsend->ip);
- icecastsend->ip = g_strdup (g_value_get_string (value));
- break;
- case ARG_PORT:
- icecastsend->port = g_value_get_int (value);
- break;
- case ARG_PASSWORD:
- if (icecastsend->password)
- g_free (icecastsend->password);
- icecastsend->password = g_strdup (g_value_get_string (value));
- break;
-
- case ARG_PUBLIC: /* is this stream public? */
- icecastsend->public = g_value_get_boolean (value);
- break;
-
- 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 */
- if (icecastsend->description)
- g_free (icecastsend->description);
- icecastsend->description = g_strdup (g_value_get_string (value));
- break;
-
- 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) */
- 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) */
- 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) */
- icecastsend->icy = g_value_get_boolean (value);
- break;
-
- 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) */
- if (icecastsend->icq)
- g_free (icecastsend->icq);
- icecastsend->icq = g_strdup (g_value_get_string (value));
- break;
-
- case ARG_IRC: /* IRC server (shoutcast only) */
- if (icecastsend->irc)
- g_free (icecastsend->irc);
- icecastsend->irc = g_strdup (g_value_get_string (value));
- break;
-
- default:
- break;
- }
-}
-
-static void
-gst_icecastsend_get_property (GObject * object, guint prop_id, GValue * value,
- GParamSpec * pspec)
-{
- GstIcecastSend *icecastsend;
-
- g_return_if_fail (GST_IS_ICECASTSEND (object));
- icecastsend = GST_ICECASTSEND (object);
-
- switch (prop_id) {
- case ARG_IP:
- g_value_set_string (value, icecastsend->ip);
- break;
- case ARG_PORT:
- g_value_set_int (value, icecastsend->port);
- break;
- case ARG_PASSWORD:
- g_value_set_string (value, icecastsend->password);
- break;
- case ARG_PUBLIC: /* is this stream public? */
- g_value_set_boolean (value, icecastsend->public);
- break;
-
- case ARG_NAME: /* Name of the stream */
- g_value_set_string (value, icecastsend->name);
- break;
-
- case ARG_DESCRIPTION: /* Description of the stream */
- g_value_set_string (value, icecastsend->description);
- break;
-
- case ARG_GENRE: /* Genre of the stream */
- g_value_set_string (value, icecastsend->genre);
- break;
-
- 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) */
- g_value_set_string (value, icecastsend->dumpfile);
- break;
-
- 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) */
- g_value_set_string (value, icecastsend->aim);
- break;
-
- case ARG_ICQ: /* ICQ number (shoutcast only) */
- g_value_set_string (value, icecastsend->icq);
- break;
-
- case ARG_IRC: /* IRC server (shoutcast only) */
- g_value_set_string (value, icecastsend->irc);
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static GstStateChangeReturn
-gst_icecastsend_change_state (GstElement * element, GstStateChange transition)
-{
- GstIcecastSend *icecastsend;
-
- g_return_val_if_fail (GST_IS_ICECASTSEND (element), GST_STATE_CHANGE_FAILURE);
-
- 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 (transition) {
- case GST_STATE_CHANGE_NULL_TO_READY:
- 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_CHANGE_FAILURE;
- }
- break;
- case GST_STATE_CHANGE_READY_TO_NULL:
- shout_disconnect (&icecastsend->conn);
- break;
- default:
- break;
- }
-
- /* if we haven't failed already, give the parent class a chance to ;-) */
- if (GST_ELEMENT_CLASS (parent_class)->change_state)
- return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
- return GST_STATE_CHANGE_SUCCESS;
-}
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "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", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/shout/gstshout.h b/ext/shout/gstshout.h
deleted file mode 100644
index 3656f33de..000000000
--- a/ext/shout/gstshout.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-
-#ifndef __GST_ICECASTSEND_H__
-#define __GST_ICECASTSEND_H__
-
-#include <gst/gst.h>
-#include <shout/shout.h>
-
-#ifdef __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;
-
-};
-
-/* Standard definition defining a class for this element. */
-typedef struct _GstIcecastSendClass GstIcecastSendClass;
-struct _GstIcecastSendClass {
- GstElementClass parent_class;
-};
-
-/* Standard macros for defining types for this element. */
-#define GST_TYPE_ICECASTSEND \
- (gst_icecastsend_get_type())
-#define GST_ICECASTSEND(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ICECASTSEND,GstIcecastSend))
-#define GST_ICECASTSEND_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ICECASTSEND,GstIcecastSendClass))
-#define GST_IS_ICECASTSEND(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ICECASTSEND))
-#define GST_IS_ICECASTSEND_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ICECASTSEND))
-
-/* Standard function returning type information. */
-GType gst_icecastsend_get_type(void);
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GST_ICECASTSEND_H__ */