-} p_items[] = {
- { "http/shout-winamp://www.shoutcast.com/sbin/newxml.phtml",
- N_("Shoutcast Radio") },
- { "http/shout-winamp://www.shoutcast.com/sbin/newtvlister.phtml?alltv=1",
- N_("Shoutcast TV") },
- { "http://mafreebox.freebox.fr/freeboxtv/playlist.m3u",
- N_("Freebox TV") },
+ const char *ppsz_options[2];
+ const struct shout_item_t * p_children;
+};
+
+#define endItem( ) { NULL, NULL, { NULL }, NULL }
+#define item( title, url ) { url, title, { NULL }, NULL }
+#define itemWithOption( title, url, option ) { url, title, { option, NULL }, NULL }
+#define itemWithChildren( title, children ) { "vlc://nop", title, { NULL }, children }
+
+/* WARN: We support only two levels */
+
+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;