+static const struct shout_item_t p_frenchtv_canalplus[] = {
+ itemWithOption( N_("Les Guignols"), "http://www.canalplus.fr/index.php?pid=1784", "http-forward-cookies" ),
+ endItem()
+};
+
+static const struct shout_item_t p_frenchtv[] = {
+ itemWithChildren( N_("Canal +"), p_frenchtv_canalplus ),
+ endItem()
+};
+
+static const struct shout_item_t p_items[] = {
+ item( N_("Shoutcast Radio"), "http/shout-winamp://www.shoutcast.com/sbin/newxml.phtml" ),
+ item( N_("Shoutcast TV"), "http/shout-winamp://www.shoutcast.com/sbin/newtvlister.phtml?alltv=1" ),
+ itemWithOption( N_("Freebox TV"),"http://mafreebox.freebox.fr/freeboxtv/playlist.m3u", "deinterlace=1"),
+ itemWithChildren(N_("French TV"), p_frenchtv ),
+ endItem()
+};
+
+#undef endItem
+#undef item
+#undef itemWithOptions
+#undef itemWithChildren
+
+struct shout_category_t {
+ services_discovery_t * p_sd;
+ const char * psz_category;
+ const struct shout_item_t * p_parent;
+};
+
+/* Main functions */
+#define OPEN( type ) \
+static int Open ## type ( vlc_object_t *p_this ) \
+{ \
+ msg_Dbg( p_this, "Starting " #type ); \
+ return Open( p_this, type ); \
+}
+
+OPEN( ShoutRadio )
+OPEN( ShoutTV )
+OPEN( Freebox )
+OPEN( FrenchTV )
+
+#undef OPEN
+
+static int vlc_sd_probe_Open( vlc_object_t * );
+
+vlc_module_begin ()
+ set_category( CAT_PLAYLIST )
+ set_subcategory( SUBCAT_PLAYLIST_SD )
+
+ add_obsolete_integer( "shoutcast-limit" )
+
+ set_shortname( "Shoutcast")
+ set_description( N_("Shoutcast Radio") )
+ set_capability( "services_discovery", 0 )
+ set_callbacks( OpenShoutRadio, Close )
+ add_shortcut( "shoutcast" )
+
+ add_submodule ()
+ set_shortname( "ShoutcastTV" )
+ set_description( N_("Shoutcast TV") )
+ set_capability( "services_discovery", 0 )
+ set_callbacks( OpenShoutTV, Close )
+ add_shortcut( "shoutcasttv" )
+
+ add_submodule ()
+ set_shortname( "frenchtv")
+ set_description( N_("French TV") )
+ set_capability( "services_discovery", 0 )
+ set_callbacks( OpenFrenchTV, Close )
+ add_shortcut( "frenchtv" )
+
+ add_submodule ()
+ set_shortname( "Freebox")
+ set_description( N_("Freebox TV") )
+ set_capability( "services_discovery", 0 )
+ set_callbacks( OpenFreebox, Close )
+ add_shortcut( "freebox" )
+
+ VLC_SD_PROBE_SUBMODULE
+vlc_module_end ()