[girl] Add standalone player based on GStreamer



commit eb89569c6c3cff4dd8f7dc6aacea132882bb2c7f
Author: Ole Aamot <oka oka no>
Date:   Sat Sep 24 20:57:46 2016 +0200

    Add standalone player based on GStreamer

 configure                  |   38 ++++++++---
 configure.ac               |    6 +-
 src/Makefile.am            |    7 ++-
 src/Makefile.in            |   62 ++++++++++++++++--
 src/girl-gui.c             |    2 +-
 src/girl-player-backend.c  |  152 ++++++++++++++++++++++++++++++++++++++++++++
 src/girl-player-backend.h  |   74 +++++++++++++++++++++
 src/girl-player-frontend.c |  137 +++++++++++++++++++++++++++++++++++++++
 src/girl-player-frontend.h |   65 +++++++++++++++++++
 src/girl-player-globals.h  |   52 +++++++++++++++
 src/girl-player.c          |   79 +++++++++++++++++++++++
 src/girl-player.h          |   31 +++++++++
 src/girl-station.c         |    5 +-
 src/girl.c                 |   14 ++++
 src/girl.xml               |    6 +-
 15 files changed, 704 insertions(+), 26 deletions(-)
---
diff --git a/configure b/configure
index e908fc5..ae07ec2 100755
--- a/configure
+++ b/configure
@@ -4336,13 +4336,17 @@ if test -n "$GIRL_CFLAGS"; then
                  libgnome-2.0 >= 2.0 \\
                  libgnomeui-2.0 >= 2.0 \\
                  libxml-2.0 >= 2.0 \\
-                 gnome-vfs-2.0 >= 2.0\""; } >&5
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \\
+                 gstreamer-interfaces-0.10 >= 0.10.36\""; } >&5
   ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.0 \
                  glib-2.0 >= 2.40 \
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
-                 gnome-vfs-2.0 >= 2.0") 2>&5
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \
+                 gstreamer-interfaces-0.10 >= 0.10.36") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
@@ -4351,7 +4355,9 @@ if test -n "$GIRL_CFLAGS"; then
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
-                 gnome-vfs-2.0 >= 2.0" 2>/dev/null`
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \
+                 gstreamer-interfaces-0.10 >= 0.10.36" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -4368,13 +4374,17 @@ if test -n "$GIRL_LIBS"; then
                  libgnome-2.0 >= 2.0 \\
                  libgnomeui-2.0 >= 2.0 \\
                  libxml-2.0 >= 2.0 \\
-                 gnome-vfs-2.0 >= 2.0\""; } >&5
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \\
+                 gstreamer-interfaces-0.10 >= 0.10.36\""; } >&5
   ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.0 \
                  glib-2.0 >= 2.40 \
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
-                 gnome-vfs-2.0 >= 2.0") 2>&5
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \
+                 gstreamer-interfaces-0.10 >= 0.10.36") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
@@ -4383,7 +4393,9 @@ if test -n "$GIRL_LIBS"; then
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
-                 gnome-vfs-2.0 >= 2.0" 2>/dev/null`
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \
+                 gstreamer-interfaces-0.10 >= 0.10.36" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -4409,14 +4421,18 @@ fi
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
-                 gnome-vfs-2.0 >= 2.0" 2>&1`
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \
+                 gstreamer-interfaces-0.10 >= 0.10.36" 2>&1`
         else
                GIRL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-2.0 >= 2.0 \
                  glib-2.0 >= 2.40 \
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
-                 gnome-vfs-2.0 >= 2.0" 2>&1`
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \
+                 gstreamer-interfaces-0.10 >= 0.10.36" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$GIRL_PKG_ERRORS" >&5
@@ -4426,7 +4442,9 @@ fi
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
-                 gnome-vfs-2.0 >= 2.0) were not met:
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \
+                 gstreamer-interfaces-0.10 >= 0.10.36) were not met:
 
 $GIRL_PKG_ERRORS
 
@@ -4459,7 +4477,7 @@ $as_echo "yes" >&6; }
 
 fi
 
-GIRL_PKG_DEPS="gtk+-2.0, glib-2.0, libgnome-2.0, libgnomeui-2.0, libxml-2.0, gnome-vfs-2.0"
+GIRL_PKG_DEPS="gtk+-2.0, glib-2.0, libgnome-2.0, libgnomeui-2.0, libxml-2.0, gnome-vfs-2.0, gstreamer-0.10, 
gstreamer-interfaces-0.10"
 
 
 
diff --git a/configure.ac b/configure.ac
index 080dca1..2b7bd50 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,9 +54,11 @@ PKG_CHECK_MODULES(GIRL,
                  libgnome-2.0 >= 2.0 \
                  libgnomeui-2.0 >= 2.0 \
                  libxml-2.0 >= 2.0 \
-                 gnome-vfs-2.0 >= 2.0)
+                 gnome-vfs-2.0 >= 2.0
+                 gstreamer-0.10 >= 0.10.36 \
+                 gstreamer-interfaces-0.10 >= 0.10.36)
 
-GIRL_PKG_DEPS="gtk+-2.0, glib-2.0, libgnome-2.0, libgnomeui-2.0, libxml-2.0, gnome-vfs-2.0"
+GIRL_PKG_DEPS="gtk+-2.0, glib-2.0, libgnome-2.0, libgnomeui-2.0, libxml-2.0, gnome-vfs-2.0, gstreamer-0.10, 
gstreamer-interfaces-0.10"
 
 GTK_DOC_CHECK([1.16], [--flavour no-tmpl])
 
diff --git a/src/Makefile.am b/src/Makefile.am
index 61d31e4..e583dec 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -26,7 +26,10 @@ girl_SOURCES = \
               girl-gui.c \
               girl-listener.c \
               girl-program.c \
-              girl-runners.c \
+              girl-player.c \
+              girl-player-backend.c \
+              girl-player-frontend.c \
+               girl-runners.c \
               girl-station.c \
               girl-stations-map.c \
               girl-streams.c \
@@ -46,7 +49,7 @@ girl_LDADD = $(GIRL_LIBS)
 girldir = $(datadir)/girl
 girl_DATA = girl-9.5.dtd girl-logo.png girl.png girl.xml
 
-EXTRA_DIST = girl.h girl-station.h girl-stations-map.h girl-tz.h girl-gui.h girl-listener.h girl-program.h 
girl-runners.h girl-streams.h girl-9.5.dtd girl-map.png girl-logo.png girl.png girl.xml
+EXTRA_DIST = girl.h girl-station.h girl-stations-map.h girl-tz.h girl-gui.h girl-listener.h 
girl-player-globals.h girl-player-frontend.h girl-player-backend.h girl-program.h girl-runners.h 
girl-streams.h girl-9.5.dtd girl-map.png girl-logo.png girl.png girl.xml
 
 all-local: check-local
 
diff --git a/src/Makefile.in b/src/Makefile.in
index 9e2f13e..2e7a081 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -104,10 +104,12 @@ CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(girldir)"
 PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
 am_girl_OBJECTS = girl-girl-gui.$(OBJEXT) girl-girl-listener.$(OBJEXT) \
-       girl-girl-program.$(OBJEXT) girl-girl-runners.$(OBJEXT) \
-       girl-girl-station.$(OBJEXT) girl-girl-stations-map.$(OBJEXT) \
-       girl-girl-streams.$(OBJEXT) girl-girl-tz.$(OBJEXT) \
-       girl-girl.$(OBJEXT)
+       girl-girl-program.$(OBJEXT) girl-girl-player.$(OBJEXT) \
+       girl-girl-player-backend.$(OBJEXT) \
+       girl-girl-player-frontend.$(OBJEXT) \
+       girl-girl-runners.$(OBJEXT) girl-girl-station.$(OBJEXT) \
+       girl-girl-stations-map.$(OBJEXT) girl-girl-streams.$(OBJEXT) \
+       girl-girl-tz.$(OBJEXT) girl-girl.$(OBJEXT)
 girl_OBJECTS = $(am_girl_OBJECTS)
 am__DEPENDENCIES_1 =
 girl_DEPENDENCIES = $(am__DEPENDENCIES_1)
@@ -382,7 +384,10 @@ girl_SOURCES = \
               girl-gui.c \
               girl-listener.c \
               girl-program.c \
-              girl-runners.c \
+              girl-player.c \
+              girl-player-backend.c \
+              girl-player-frontend.c \
+               girl-runners.c \
               girl-station.c \
               girl-stations-map.c \
               girl-streams.c \
@@ -401,7 +406,7 @@ girl_CFLAGS = $(GIRL_CFLAGS) \
 girl_LDADD = $(GIRL_LIBS)
 girldir = $(datadir)/girl
 girl_DATA = girl-9.5.dtd girl-logo.png girl.png girl.xml
-EXTRA_DIST = girl.h girl-station.h girl-stations-map.h girl-tz.h girl-gui.h girl-listener.h girl-program.h 
girl-runners.h girl-streams.h girl-9.5.dtd girl-map.png girl-logo.png girl.png girl.xml
+EXTRA_DIST = girl.h girl-station.h girl-stations-map.h girl-tz.h girl-gui.h girl-listener.h 
girl-player-globals.h girl-player-frontend.h girl-player-backend.h girl-program.h girl-runners.h 
girl-streams.h girl-9.5.dtd girl-map.png girl-logo.png girl.png girl.xml
 all: all-am
 
 .SUFFIXES:
@@ -505,6 +510,9 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/girl-girl-gui.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/girl-girl-listener.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/girl-girl-player-backend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/girl-girl-player-frontend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/girl-girl-player.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/girl-girl-program.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/girl-girl-runners.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/girl-girl-station.Po@am__quote@
@@ -576,6 +584,48 @@ girl-girl-program.obj: girl-program.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(girl_CFLAGS) $(CFLAGS) -c -o girl-girl-program.obj `if test -f 'girl-program.c'; then 
$(CYGPATH_W) 'girl-program.c'; else $(CYGPATH_W) '$(srcdir)/girl-program.c'; fi`
 
+girl-girl-player.o: girl-player.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) 
$(girl_CFLAGS) $(CFLAGS) -MT girl-girl-player.o -MD -MP -MF $(DEPDIR)/girl-girl-player.Tpo -c -o 
girl-girl-player.o `test -f 'girl-player.c' || echo '$(srcdir)/'`girl-player.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/girl-girl-player.Tpo $(DEPDIR)/girl-girl-player.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='girl-player.c' object='girl-girl-player.o' 
libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(girl_CFLAGS) $(CFLAGS) -c -o girl-girl-player.o `test -f 'girl-player.c' || echo 
'$(srcdir)/'`girl-player.c
+
+girl-girl-player.obj: girl-player.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) 
$(girl_CFLAGS) $(CFLAGS) -MT girl-girl-player.obj -MD -MP -MF $(DEPDIR)/girl-girl-player.Tpo -c -o 
girl-girl-player.obj `if test -f 'girl-player.c'; then $(CYGPATH_W) 'girl-player.c'; else $(CYGPATH_W) 
'$(srcdir)/girl-player.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/girl-girl-player.Tpo $(DEPDIR)/girl-girl-player.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='girl-player.c' object='girl-girl-player.obj' 
libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(girl_CFLAGS) $(CFLAGS) -c -o girl-girl-player.obj `if test -f 'girl-player.c'; then 
$(CYGPATH_W) 'girl-player.c'; else $(CYGPATH_W) '$(srcdir)/girl-player.c'; fi`
+
+girl-girl-player-backend.o: girl-player-backend.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) 
$(girl_CFLAGS) $(CFLAGS) -MT girl-girl-player-backend.o -MD -MP -MF $(DEPDIR)/girl-girl-player-backend.Tpo -c 
-o girl-girl-player-backend.o `test -f 'girl-player-backend.c' || echo '$(srcdir)/'`girl-player-backend.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/girl-girl-player-backend.Tpo 
$(DEPDIR)/girl-girl-player-backend.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='girl-player-backend.c' 
object='girl-girl-player-backend.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(girl_CFLAGS) $(CFLAGS) -c -o girl-girl-player-backend.o `test -f 'girl-player-backend.c' || 
echo '$(srcdir)/'`girl-player-backend.c
+
+girl-girl-player-backend.obj: girl-player-backend.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) 
$(girl_CFLAGS) $(CFLAGS) -MT girl-girl-player-backend.obj -MD -MP -MF $(DEPDIR)/girl-girl-player-backend.Tpo 
-c -o girl-girl-player-backend.obj `if test -f 'girl-player-backend.c'; then $(CYGPATH_W) 
'girl-player-backend.c'; else $(CYGPATH_W) '$(srcdir)/girl-player-backend.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/girl-girl-player-backend.Tpo 
$(DEPDIR)/girl-girl-player-backend.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='girl-player-backend.c' 
object='girl-girl-player-backend.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(girl_CFLAGS) $(CFLAGS) -c -o girl-girl-player-backend.obj `if test -f 'girl-player-backend.c'; 
then $(CYGPATH_W) 'girl-player-backend.c'; else $(CYGPATH_W) '$(srcdir)/girl-player-backend.c'; fi`
+
+girl-girl-player-frontend.o: girl-player-frontend.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) 
$(girl_CFLAGS) $(CFLAGS) -MT girl-girl-player-frontend.o -MD -MP -MF $(DEPDIR)/girl-girl-player-frontend.Tpo 
-c -o girl-girl-player-frontend.o `test -f 'girl-player-frontend.c' || echo 
'$(srcdir)/'`girl-player-frontend.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/girl-girl-player-frontend.Tpo 
$(DEPDIR)/girl-girl-player-frontend.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='girl-player-frontend.c' 
object='girl-girl-player-frontend.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(girl_CFLAGS) $(CFLAGS) -c -o girl-girl-player-frontend.o `test -f 'girl-player-frontend.c' || 
echo '$(srcdir)/'`girl-player-frontend.c
+
+girl-girl-player-frontend.obj: girl-player-frontend.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) 
$(girl_CFLAGS) $(CFLAGS) -MT girl-girl-player-frontend.obj -MD -MP -MF 
$(DEPDIR)/girl-girl-player-frontend.Tpo -c -o girl-girl-player-frontend.obj `if test -f 
'girl-player-frontend.c'; then $(CYGPATH_W) 'girl-player-frontend.c'; else $(CYGPATH_W) 
'$(srcdir)/girl-player-frontend.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/girl-girl-player-frontend.Tpo 
$(DEPDIR)/girl-girl-player-frontend.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='girl-player-frontend.c' 
object='girl-girl-player-frontend.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(girl_CFLAGS) $(CFLAGS) -c -o girl-girl-player-frontend.obj `if test -f 
'girl-player-frontend.c'; then $(CYGPATH_W) 'girl-player-frontend.c'; else $(CYGPATH_W) 
'$(srcdir)/girl-player-frontend.c'; fi`
+
 girl-girl-runners.o: girl-runners.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) 
$(girl_CFLAGS) $(CFLAGS) -MT girl-girl-runners.o -MD -MP -MF $(DEPDIR)/girl-girl-runners.Tpo -c -o 
girl-girl-runners.o `test -f 'girl-runners.c' || echo '$(srcdir)/'`girl-runners.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/girl-girl-runners.Tpo $(DEPDIR)/girl-girl-runners.Po
diff --git a/src/girl-gui.c b/src/girl-gui.c
index 5497104..d94a5f8 100644
--- a/src/girl-gui.c
+++ b/src/girl-gui.c
@@ -1329,7 +1329,7 @@ GtkWidget *create_girl_app()
               girl->selected_station_description);
 
        if (strcmp(girl->selected_station_uri,"")==0) {
-               girl->selected_station_uri = g_strdup("http://www.wnyc.org/stream/wnyc-fm939/mp3.pls";);
+               girl->selected_station_uri = g_strdup("http://fm939.wnyc.org/wnycfm";);
        }
        if (strcmp(girl->selected_station_name,"")==0) {
                girl->selected_station_name = g_strdup("WNYC");
diff --git a/src/girl-player-backend.c b/src/girl-player-backend.c
new file mode 100644
index 0000000..38e23af
--- /dev/null
+++ b/src/girl-player-backend.c
@@ -0,0 +1,152 @@
+/* $Id$
+ *
+ * GNOME Internet Radio Locator
+ *
+ * Copyright (C) 2016  Ole Aamot Software
+ *
+ * Author: Ole Aamot <oka oka no>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/* Based on gstplayer from
+ * https://github.com/sreerenjb/gstplayer/blob/master/gst-backend.c
+ *
+ * Copyright (C) 2010 Sreerenj Balachandran.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "girl-player-backend.h"
+#include "girl-player-globals.h"
+
+struct GirlMedia *media;
+
+static gboolean handler_message (GstBus *bus, GstMessage *message , gpointer data)
+{
+  switch (GST_MESSAGE_TYPE(message)) {
+    case GST_MESSAGE_ERROR:
+      {
+         GError *err;
+         gchar *debug;
+         gst_message_parse_error(message,&err,&debug);
+         g_print("\n Message:%s\n",err->message);
+         g_error_free(err);
+         g_free(debug);
+         gst_message_unref (message);
+         gst_object_unref (bus);
+       }    
+       break;
+
+     case GST_MESSAGE_EOS:
+       g_message("Got end of stream message..");
+       gst_element_set_state (media->pipeline, GST_STATE_NULL);
+       break;
+
+     default:
+      /* Unhandled message */
+       break;
+   }
+   return TRUE;
+}
+
+void girl_player_backend_pause()
+{
+  gst_element_set_state(media->pipeline, GST_STATE_PAUSED);  
+  g_message("Paused....");
+
+}
+
+void girl_player_backend_play()
+{
+  gst_element_set_state(media->pipeline, GST_STATE_PLAYING);  
+  g_message("Playing....");
+}
+
+void girl_player_backend_seek()
+{
+}
+
+GstBusSyncReply CreateWindow (GstBus *bus,GstMessage *message,gpointer data)
+{
+
+  if (GST_MESSAGE_TYPE (message) != GST_MESSAGE_ELEMENT)
+    return GST_BUS_PASS;
+  if ( !gst_structure_has_name (message->structure, "prepare-xwindow-id")) 
+    return GST_BUS_PASS;
+  
+  if (Window_Xid != 0) { 
+   GstXOverlay *xoverlay;
+   xoverlay = GST_X_OVERLAY (GST_MESSAGE_SRC (message));
+   gst_x_overlay_set_xwindow_id (xoverlay, Window_Xid);
+  } else {
+     g_warning ("Should have obtained Window_Xid by now!");
+  }
+
+  gst_message_unref (message);
+  return GST_BUS_DROP;   
+}
+
+
+gboolean girl_player_backend_start (gchar *uri)
+{
+  media->uri = uri;
+  media->pipeline = gst_element_factory_make ("playbin2", "playbin2");
+  if (!media->pipeline)
+  {
+    g_message("Failed to create the pipeline element,playbin2...!");
+    return FALSE;
+  }
+
+  g_object_set(G_OBJECT(media->pipeline),"uri",media->uri,NULL);
+
+  media->bus = gst_pipeline_get_bus(GST_PIPELINE(media->pipeline));
+  gst_bus_set_sync_handler (media->bus, (GstBusSyncHandler)CreateWindow, NULL);
+  gst_bus_add_watch(media->bus, handler_message, NULL);
+  gst_object_unref (media->bus);
+
+  girl_player_backend_play();
+  return TRUE;
+}
+
+gboolean girl_player_backend_init (int *argc,char **argv[])
+{
+  media = (struct GirlMedia*)malloc(sizeof(GirlMedia));
+  if (media != NULL)
+    return TRUE;
+  else 
+    return FALSE;      
+}
+
+void girl_player_backend_stop ()
+{
+
+  gst_element_set_state(media->pipeline, GST_STATE_NULL);
+  gst_object_unref(GST_OBJECT (media->pipeline));
+  gst_deinit();
+
+}
diff --git a/src/girl-player-backend.h b/src/girl-player-backend.h
new file mode 100644
index 0000000..d628f21
--- /dev/null
+++ b/src/girl-player-backend.h
@@ -0,0 +1,74 @@
+/* $Id$
+ *
+ * GNOME Internet Radio Locator
+ *
+ * Copyright (C) 2016  Ole Aamot Software
+ *
+ * Author: Ole Aamot <oka oka no>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/* Based on gstplayer from
+ * https://github.com/sreerenjb/gstplayer/blob/master/gst-backend.h
+ *
+ * Copyright (C) 2010 Sreerenj Balachandran
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __GIRL_PLAYER_BACKEND__
+#define __GIRL_PLAYER_BACKEND__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <gst/gst.h>
+#include <gst/interfaces/xoverlay.h>
+
+typedef struct GirlMedia {
+  GstElement *pipeline;
+  GstBus *bus;
+  gchar *uri;
+} GirlMedia;
+
+
+gboolean girl_player_backend_init (int *argc, char **argv[]);
+
+gboolean girl_player_backend_start (gchar *uri);
+
+static gboolean handle_message (GstBus *bus, GstMessage *message , gpointer data);
+
+GstBusSyncReply CreateWindow (GstBus *bus, GstMessage *message, gpointer data);
+
+void girl_player_backend_play ();
+void girl_player_backend_pause ();
+void girl_player_backend_seek ();
+
+#endif
diff --git a/src/girl-player-frontend.c b/src/girl-player-frontend.c
new file mode 100644
index 0000000..063e8e6
--- /dev/null
+++ b/src/girl-player-frontend.c
@@ -0,0 +1,137 @@
+/* $Id$
+ *
+ * GNOME Internet Radio Locator
+ *
+ * Copyright (C) 2016  Ole Aamot Software
+ *
+ * Author: Ole Aamot <oka oka no>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/* Based on gstplayer from
+ * https://github.com/sreerenjb/gstplayer/blob/master/gst-frontend.c
+ *
+ * Copyright (C) 2010 Sreerenj Balachandran.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "girl-player-backend.h"
+#include "girl-player-frontend.h"
+#include "girl-player-globals.h"
+
+struct GirlPlayer *player;
+
+static void video_widget_realize_cb (GtkWidget * widget, gpointer data)
+{
+       Window_Xid = GDK_WINDOW_XID (widget->window);
+}
+
+static gboolean 
+delete_event (GtkWidget *window,
+              GdkEvent *event,
+              gpointer data)
+{
+       g_message ("delete event occurred");
+       return FALSE;
+}
+
+static void
+destroy (GtkWidget *widget, gpointer data)
+{
+       gtk_widget_destroy (widget);
+}
+
+static void
+girl_player_frontend_play (GtkWidget *widget, gpointer data)
+{
+       girl_player_backend_play();
+}
+
+static void
+girl_player_frontend_pause (GtkWidget *widget, gpointer data)
+{
+       girl_player_backend_pause();
+}
+
+gboolean girl_player_frontend_start ()
+{
+       player->table = gtk_table_new (300,60,FALSE);
+       
+       player->app_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+       
+       gtk_window_set_position (GTK_WINDOW (player->app_window),GTK_WIN_POS_CENTER_ALWAYS);
+       gtk_window_set_title (GTK_WINDOW (player->app_window),"GNOME Internet Radio Locator Player");
+       gtk_window_set_default_size (GTK_WINDOW (player->app_window),300,60);
+       gtk_container_set_border_width (GTK_CONTAINER (player->app_window), 10);
+       
+       gtk_signal_connect (GTK_OBJECT (player->app_window), "delete_event",
+                           GTK_SIGNAL_FUNC (delete_event), NULL);
+       
+       g_signal_connect (G_OBJECT (player->app_window), "destroy",
+                         G_CALLBACK (destroy), NULL);
+       
+       player->video_window = gtk_drawing_area_new ();
+       gtk_widget_set_size_request (player->video_window, 100, 100);
+       
+       g_signal_connect (player->video_window, "realize",
+                         G_CALLBACK (video_widget_realize_cb), NULL);
+       
+       gtk_widget_set_double_buffered (player->video_window, FALSE);
+       
+       player->play_button = gtk_button_new_with_label ("Play");
+       player->pause_button = gtk_button_new_with_label ("Pause");
+       
+       
+       gtk_container_add (GTK_CONTAINER (player->app_window), player->table);
+       gtk_table_attach_defaults (GTK_TABLE(player->table), player->video_window, 0, 700, 0, 500);
+       gtk_table_attach_defaults (GTK_TABLE(player->table), player->play_button, 0, 15, 590, 600);
+       gtk_table_attach_defaults (GTK_TABLE(player->table), player->pause_button, 15, 25, 590, 600);
+       
+       g_signal_connect (G_OBJECT (player->play_button), "clicked",
+                          G_CALLBACK (girl_player_frontend_play), NULL);
+       
+       g_signal_connect (G_OBJECT (player->pause_button), "clicked",
+                          G_CALLBACK (girl_player_frontend_pause), NULL);
+       
+       gtk_widget_show_all (player->app_window);
+       gtk_widget_realize (player->app_window);
+       
+       g_assert (Window_Xid != 0);
+       
+       return TRUE;
+}
+gboolean girl_player_frontend_init (int argc, gchar **argv)
+{
+       player = (struct GirlPlayer*)malloc(sizeof(GirlPlayer));
+       if (player != NULL)
+               return TRUE;
+       else
+               return FALSE;
+}
+
diff --git a/src/girl-player-frontend.h b/src/girl-player-frontend.h
new file mode 100644
index 0000000..4439e3d
--- /dev/null
+++ b/src/girl-player-frontend.h
@@ -0,0 +1,65 @@
+/* $Id$
+ *
+ * GNOME Internet Radio Locator
+ *
+ * Copyright (C) 2016  Ole Aamot Software
+ *
+ * Author: Ole Aamot <oka oka no>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/* Based on gstplayer from
+ * https://github.com/sreerenjb/gstplayer/blob/master/gst-frontend.h
+ *
+ * Copyright (C) 2010 Sreerenj Balachandran
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __GIRL_PLAYER_FRONTEND__
+#define __GIRL_PLAYER_FRONTEND__
+
+#include <gdk/gdkx.h>
+#include <gtk/gtk.h>
+#include <glib.h>
+
+typedef struct GirlPlayer {
+  GtkWidget *app_window;
+  GtkWidget *video_window;
+  GtkWidget *pause_button;
+  GtkWidget *play_button;
+  GtkWidget *table;
+} GirlPlayer;
+
+gboolean girl_player_frontend_init (int argc, char **argv);
+gboolean girl_player_frontend_start ();
+static void video_widget_realize_cb (GtkWidget * widget, gpointer data);
+static void girl_player_frontend_play (GtkWidget *widget, gpointer data);
+static void girl_player_frontend_pause (GtkWidget *widget, gpointer data);
+
+#endif
diff --git a/src/girl-player-globals.h b/src/girl-player-globals.h
new file mode 100644
index 0000000..b5af697
--- /dev/null
+++ b/src/girl-player-globals.h
@@ -0,0 +1,52 @@
+/* $Id$
+ *
+ * GNOME Internet Radio Locator
+ *
+ * Copyright (C) 2016  Ole Aamot Software
+ *
+ * Author: Ole Aamot <oka oka no>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/* Based on gstplayer from
+ * https://github.com/sreerenjb/gstplayer/blob/master/globals.h
+ *
+ * Copyright (C) 2010 Sreerenj Balachandran.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __GLOBALS__
+#define __GLOBALS__
+
+#include <gst/gst.h>
+
+GMainLoop *loop;
+gulong Window_Xid;
+
+#endif
diff --git a/src/girl-player.c b/src/girl-player.c
new file mode 100644
index 0000000..877f586
--- /dev/null
+++ b/src/girl-player.c
@@ -0,0 +1,79 @@
+/* $Id$
+ *
+ * GNOME Internet Radio Locator
+ *
+ * Copyright (C) 2016  Ole Aamot Software
+ *
+ * Author: Ole Aamot <oka oka no>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/* Based on gstplayer from
+ * https://github.com/sreerenjb/gstplayer/blob/master/gstplayer.c
+ *
+ * Copyright (C) 2010 Sreerenj Balachandran.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "girl-player-frontend.h"
+#include "girl-player-backend.h"
+#include "girl-player-globals.h"
+
+int
+girl_player_main(gchar *streamuri)
+{
+ 
+       gchar *uri = g_strdup(streamuri);
+               
+       /* if (argc > 1) { */
+       /*   if (g_strrstr (argv[1],"rtsp://") || g_strrstr (argv[1],"http://";) || g_strrstr 
(argv[1],"file://")) */
+       /*     uri = g_strdup (argv[1]); */
+       /*   else */
+       /*     uri = g_strdup_printf ("file://%s", argv[1]); */
+       /* } */
+       /* else { */
+       /*   g_message ("Specify the media file name..<girl-playerplayer filename>"); */
+       /*   return 0; */
+       /* } */
+       
+       if (!girl_player_frontend_start ()) {  
+               g_message ("Player UI creation failure...."); 
+               exit (0);
+       }
+       if (!girl_player_backend_start (uri)) {  
+               g_message ("Girl-Player backend creation failure");
+               exit (0);
+       }
+       
+       loop = g_main_loop_new (NULL, FALSE);
+       g_main_loop_run (loop);
+       
+       girl_player_backend_stop ();
+       
+}
diff --git a/src/girl-player.h b/src/girl-player.h
new file mode 100644
index 0000000..a32b0cb
--- /dev/null
+++ b/src/girl-player.h
@@ -0,0 +1,31 @@
+/* $Id$
+ *
+ * GNOME Internet Radio Locator
+ *
+ * Copyright (C) 2016  Ole Aamot Software
+ *
+ * Author: Ole Aamot <oka oka no>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef __GIRL_PLAYER__
+#define __GIRL_PLAYER__
+
+int girl_player_main(gchar *streamuri);
+
+#endif /* __GIRL_PLAYER__ */
+
+       
diff --git a/src/girl-station.c b/src/girl-station.c
index dacad26..7664a60 100644
--- a/src/girl-station.c
+++ b/src/girl-station.c
@@ -39,10 +39,9 @@
 #include <libgnomevfs/gnome-vfs.h>
 #include <libgnomevfs/gnome-vfs-application-registry.h>
 
-
-
 #include "girl.h"
 #include "girl-station.h"
+#include "girl-player.h"
 
 extern GirlData *girl;
 extern GList *girl_stations;
@@ -194,6 +193,8 @@ void girl_helper_run(gchar *url, gchar *name, GirlStreamType type, GirlHelperTyp
                app = g_strdup(GIRL_HELPER_RECORD);
        }
 
+       girl_player_main(url);
+
        if (g_strcmp0(app,"no")!=0) {
                command = g_strconcat(app, " ", url, NULL);
                GIRL_DEBUG_MSG("Helper application is %s\n", command);
diff --git a/src/girl.c b/src/girl.c
index 35824d0..4a9e018 100644
--- a/src/girl.c
+++ b/src/girl.c
@@ -38,6 +38,8 @@
 #include "girl-listener.h"
 #include "girl-station.h"
 #include "girl-program.h"
+#include "girl-player-frontend.h"
+#include "girl-player-backend.h"
 
 GirlData *girl;
 
@@ -73,6 +75,18 @@ int main(int argc, char *argv[])
                exit(1);
        }
 
+       if (!girl_player_frontend_init (&argc, &argv)) {
+               g_message ("Frontend initialization failure....");
+               exit (0);
+       }
+
+       if (!girl_player_backend_init (&argc, &argv)) {
+               g_message ("Backend creation failure");
+               exit (0);
+       }
+
+       gst_init(&argc, &argv);
+
        gnome_program_init(PACKAGE, VERSION,
                           LIBGNOMEUI_MODULE,
                           argc, argv,
diff --git a/src/girl.xml b/src/girl.xml
index 3b8d49a..7d9adff 100644
--- a/src/girl.xml
+++ b/src/girl.xml
@@ -735,8 +735,8 @@ Behind the scenes we rely on our fantastic technical, musical and promotional te
       KALX has a wonderfully dedicated staff of student and community volunteers who are willing to explore 
with and educate their listeners. KALX is regular folks doing wild, unpredictable, extraordinary radio. All 
of our programs are homespun, we don't depend on satellite feeds. Rather we create programs from, and for our 
community (a community that includes both the University of California, Berkeley student population AND the 
surrounding area).
 
       As part of our mission to educate, every KALX DJ is encouraged to play a variety of musical styles and 
types. Rather than segregating music into limited boxes, this philosophy is an attempt to entertain the 
listener while broadening their musical experience. A pretty fun way to be educated, don't ya 
think!--></description>
-    <stream mime="audio/ogg" uri="http://icecast.media.berkeley.edu:8000/kalx-128.ogg.m3u"; codec="Ogg 
Vorbis" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
-    <stream mime="audio/mpeg" uri="http://icecast.media.berkeley.edu:8000/kalx-128.mp3.m3u"; codec="MPEG 1 
Audio, Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
+    <stream mime="audio/ogg" uri="http://icecast.media.berkeley.edu:8000/kalx-128.ogg"; codec="Ogg Vorbis" 
samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
+    <stream mime="audio/mpeg" uri="http://icecast.media.berkeley.edu:8000/kalx-128.mp3"; codec="MPEG 1 Audio, 
Layer 3 (MP3)" samplerate="44100 Hz" channels="Stereo" bitrate="128 kbps" />
     <uri>http://kalx.berkeley.edu/</uri>
   </station>
   <station band="95.3FM" id="whrb" lang="en" name="WHRB" rank="1.0" type="edu">
@@ -819,7 +819,7 @@ Behind the scenes we rely on our fantastic technical, musical and promotional te
     <description lang="en">
       WNYC 93.9 FM and AM 820 are New York's flagship public radio stations, broadcasting the finest 
programs from NPR, American Public Media, Public Radio International and the BBC World Service, as well as a 
wide range of award-winning local programming.
     </description>
-    <stream mime="audio/mpeg" uri="http://www.wnyc.org/stream/wnyc-fm939/mp3.pls"; codec="MPEG 1 Audio, Layer 
3 (MP3)" samplerate="24000 Hz" channels="Mono" bitrate="32 kbps" />
+    <stream mime="audio/mpeg" uri="http://fm939.wnyc.org/wnycfm"; codec="MPEG 1 Audio, Layer 3 (MP3)" 
samplerate="24000 Hz" channels="Mono" bitrate="32 kbps" />
     <uri>http://www.wnyc.org/</uri>
   </station>
   <station band="ONLINE" id="parolesfm" lang="fr" name="paroles.fm" rank="1.0" type="edu">



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]