Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
0212c515
Commit
0212c515
authored
Dec 23, 2007
by
Antoine Cellerier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merge the shoutcast and freebox service discovery modules. Cleanup the shout.c code.
parent
f339d3ea
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
190 deletions
+59
-190
configure.ac
configure.ac
+1
-1
modules/services_discovery/Modules.am
modules/services_discovery/Modules.am
+0
-1
modules/services_discovery/freebox.c
modules/services_discovery/freebox.c
+0
-103
modules/services_discovery/shout.c
modules/services_discovery/shout.c
+58
-85
No files found.
configure.ac
View file @
0212c515
...
...
@@ -1268,7 +1268,7 @@ AC_LANG_POP(C++)
if test "${SYS}" != "mingwce"; then
VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap f
reebox f
ake folder])
VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga i422_i420])
VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
...
...
modules/services_discovery/Modules.am
View file @
0212c515
...
...
@@ -4,5 +4,4 @@ SOURCES_shout = shout.c
SOURCES_upnp_cc = upnp_cc.cpp
SOURCES_upnp_intel = upnp_intel.cpp
SOURCES_bonjour = bonjour.c
SOURCES_freebox = freebox.c
SOURCES_podcast = podcast.c
modules/services_discovery/freebox.c
deleted
100644 → 0
View file @
f339d3ea
/*****************************************************************************
* freebox.c : Freebox interface module
*****************************************************************************
* Copyright (C) 2007 the VideoLAN team
* $Id$
*
* Authors: Pierre d'Herbemont <pdherbemont # videolan.org>
*
* 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.
*****************************************************************************/
/*****************************************************************************
* Includes
*****************************************************************************/
#include <vlc/vlc.h>
#include <vlc_services_discovery.h>
#include <vlc_interface.h>
#include <vlc_network.h>
/************************************************************************
* definitions
************************************************************************/
static
const
char
kpsz_freebox_playlist_url
[]
=
"http://mafreebox.freebox.fr/freeboxtv/playlist.m3u"
;
/*****************************************************************************
* Module descriptor
*****************************************************************************/
/* Callbacks */
static
int
Open
(
vlc_object_t
*
,
int
);
static
void
Close
(
vlc_object_t
*
);
static
void
ItemAdded
(
const
vlc_event_t
*
p_event
,
void
*
user_data
);
static
void
Run
(
services_discovery_t
*
p_sd
);
vlc_module_begin
();
set_shortname
(
"Freebox"
);
set_description
(
_
(
"Freebox TV listing (French ISP free.fr services)"
)
);
add_shortcut
(
"freebox"
);
set_category
(
CAT_PLAYLIST
);
set_subcategory
(
SUBCAT_PLAYLIST_SD
);
set_capability
(
"services_discovery"
,
0
);
set_callbacks
(
Open
,
Close
);
vlc_module_end
();
/*****************************************************************************
* Open: initialize
*****************************************************************************/
static
int
Open
(
vlc_object_t
*
p_this
,
int
i_type
)
{
services_discovery_t
*
p_sd
=
(
services_discovery_t
*
)
p_this
;
p_sd
->
pf_run
=
Run
;
services_discovery_SetLocalizedName
(
p_sd
,
_
(
"Freebox TV"
)
);
return
VLC_SUCCESS
;
}
/*****************************************************************************
* ItemAdded:
*****************************************************************************/
static
void
ItemAdded
(
const
vlc_event_t
*
p_event
,
void
*
user_data
)
{
services_discovery_t
*
p_sd
=
user_data
;
services_discovery_AddItem
(
p_sd
,
p_event
->
u
.
input_item_subitem_added
.
p_new_child
,
NULL
/* no category */
);
}
/*****************************************************************************
* Run:
*****************************************************************************/
static
void
Run
(
services_discovery_t
*
p_sd
)
{
input_item_t
*
p_input
=
input_ItemNewExt
(
p_sd
,
kpsz_freebox_playlist_url
,
_
(
"Freebox TV"
),
0
,
NULL
,
-
1
);
input_ItemAddOption
(
p_input
,
"no-playlist-autostart"
);
vlc_event_attach
(
&
p_input
->
event_manager
,
vlc_InputItemSubItemAdded
,
ItemAdded
,
p_sd
);
input_Read
(
p_sd
,
p_input
,
VLC_TRUE
);
vlc_event_detach
(
&
p_input
->
event_manager
,
vlc_InputItemSubItemAdded
,
ItemAdded
,
p_sd
);
vlc_gc_decref
(
p_input
);
}
/*****************************************************************************
* Close:
*****************************************************************************/
static
void
Close
(
vlc_object_t
*
p_this
)
{
}
modules/services_discovery/shout.c
View file @
0212c515
/*****************************************************************************
* shout.c: Shoutcast services discovery module
*****************************************************************************
* Copyright (C) 2005 the VideoLAN team
* Copyright (C) 2005
-2007
the VideoLAN team
* $Id$
*
* Authors: Sigmund Augdal Helberg <dnumgis@videolan.org>
* Antoine Cellerier <dionoea -@T- videolan -d.t- org>
* Pierre d'Herbemont <pdherbemont # videolan.org>
*
* 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
...
...
@@ -28,71 +29,68 @@
#include <vlc/vlc.h>
#include <vlc_services_discovery.h>
#include <vlc_interface.h>
#include <vlc_network.h>
#include <errno.h>
/* ENOMEM
*/
/*****************************************************************************
* Module descriptor
****************************************************************************
*/
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#ifdef HAVE_SYS_TIME_H
# include <sys/time.h>
#endif
enum
type_e
{
ShoutRadio
=
0
,
ShoutTV
=
1
,
Freebox
=
2
};
/************************************************************************
* Macros and definitions
************************************************************************/
static
int
Open
(
vlc_object_t
*
,
enum
type_e
);
static
void
Close
(
vlc_object_t
*
);
#define MAX_LINE_LENGTH 256
#define SHOUTCAST_BASE_URL "http/shout-winamp://www.shoutcast.com/sbin/newxml.phtml"
#define SHOUTCAST_TV_BASE_URL "http/shout-winamp://www.shoutcast.com/sbin/newtvlister.phtml?alltv=1"
static
const
struct
{
const
char
*
psz_url
;
const
char
*
psz_name
;
}
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"
)
},
};
/*****************************************************************************
* Module descriptor
*****************************************************************************/
/* Main functions */
#define OPEN( type ) \
static int Open ## type ( vlc_object_t *p_this ) \
{ \
return Open( p_this, type ); \
}
/* Callbacks */
static
int
Open
(
vlc_object_t
*
,
int
);
static
int
OpenRadio
(
vlc_object_t
*
);
static
int
OpenTV
(
vlc_object_t
*
);
static
void
Close
(
vlc_object_t
*
);
OPEN
(
ShoutRadio
)
OPEN
(
ShoutTV
)
OPEN
(
Freebox
)
vlc_module_begin
();
set_shortname
(
"Shoutcast"
);
set_description
(
_
(
"Shoutcast radio listings"
)
);
add_shortcut
(
"shoutcast"
);
set_category
(
CAT_PLAYLIST
);
set_subcategory
(
SUBCAT_PLAYLIST_SD
);
add_obsolete_integer
(
"shoutcast-limit"
);
set_capability
(
"services_discovery"
,
0
);
set_callbacks
(
OpenRadio
,
Close
);
set_shortname
(
"Shoutcast"
);
set_description
(
_
(
"Shoutcast radio listings"
)
);
set_capability
(
"services_discovery"
,
0
);
set_callbacks
(
OpenShoutRadio
,
Close
);
add_shortcut
(
"shoutcast"
);
add_submodule
();
set_shortname
(
"ShoutcastTV"
);
set_description
(
_
(
"Shoutcast TV listings"
)
);
set_capability
(
"services_discovery"
,
0
);
set_callbacks
(
OpenTV
,
Close
);
set_callbacks
(
Open
Shout
TV
,
Close
);
add_shortcut
(
"shoutcasttv"
);
vlc_module_end
();
/*****************************************************************************
* Local structures
*****************************************************************************/
add_submodule
();
set_shortname
(
"Freebox"
);
set_description
(
_
(
"Freebox TV listing (French ISP free.fr services)"
)
);
set_capability
(
"services_discovery"
,
0
);
set_callbacks
(
OpenFreebox
,
Close
);
add_shortcut
(
"freebox"
);
struct
services_discovery_sys_t
{
input_item_t
*
p_input
;
vlc_bool_t
b_dialog
;
};
vlc_module_end
();
#define RADIO 0
#define TV 1
/*****************************************************************************
* Local prototypes
...
...
@@ -100,47 +98,16 @@ struct services_discovery_sys_t
static
void
Run
(
services_discovery_t
*
p_sd
);
/* Main functions */
static
int
OpenRadio
(
vlc_object_t
*
p_this
)
{
return
Open
(
p_this
,
RADIO
);
}
static
int
OpenTV
(
vlc_object_t
*
p_this
)
{
return
Open
(
p_this
,
TV
);
}
/*****************************************************************************
* Open: initialize and create stuff
*****************************************************************************/
static
int
Open
(
vlc_object_t
*
p_this
,
int
i_type
)
static
int
Open
(
vlc_object_t
*
p_this
,
enum
type_e
i_type
)
{
services_discovery_t
*
p_sd
=
(
services_discovery_t
*
)
p_this
;
DECMALLOC_ERR
(
p_sys
,
services_discovery_sys_t
);
p_sd
->
p_sys
=
p_sys
;
services_discovery_SetLocalizedName
(
p_sd
,
_
(
p_items
[
i_type
].
psz_name
)
);
p_sd
->
pf_run
=
Run
;
switch
(
i_type
)
{
case
TV
:
services_discovery_SetLocalizedName
(
p_sd
,
_
(
"Shoutcast TV"
)
);
p_sys
->
p_input
=
input_ItemNewExt
(
p_sd
,
SHOUTCAST_TV_BASE_URL
,
_
(
"Shoutcast TV"
),
0
,
NULL
,
-
1
);
break
;
case
RADIO
:
default:
services_discovery_SetLocalizedName
(
p_sd
,
_
(
"Shoutcast Radio"
)
);
p_sys
->
p_input
=
input_ItemNewExt
(
p_sd
,
SHOUTCAST_BASE_URL
,
_
(
"Shoutcast Radio"
),
0
,
NULL
,
-
1
);
break
;
}
input_ItemAddOption
(
p_sys
->
p_input
,
"no-playlist-autostart"
);
p_sd
->
p_sys
=
(
void
*
)
i_type
;
return
VLC_SUCCESS
;
}
...
...
@@ -160,9 +127,19 @@ static void ItemAdded( const vlc_event_t * p_event, void * user_data )
*****************************************************************************/
static
void
Run
(
services_discovery_t
*
p_sd
)
{
vlc_event_attach
(
&
p_sd
->
p_sys
->
p_input
->
event_manager
,
vlc_InputItemSubItemAdded
,
ItemAdded
,
p_sd
);
input_Read
(
p_sd
,
p_sd
->
p_sys
->
p_input
,
VLC_TRUE
);
vlc_event_detach
(
&
p_sd
->
p_sys
->
p_input
->
event_manager
,
vlc_InputItemSubItemAdded
,
ItemAdded
,
p_sd
);
enum
type_e
i_type
=
(
enum
type_e
)
p_sd
->
p_sys
;
input_item_t
*
p_input
=
input_ItemNewExt
(
p_sd
,
p_items
[
i_type
].
psz_url
,
_
(
p_items
[
i_type
].
psz_name
),
0
,
NULL
,
-
1
);
input_ItemAddOption
(
p_input
,
"no-playlist-autostart"
);
vlc_gc_incref
(
p_input
);
vlc_event_attach
(
&
p_input
->
event_manager
,
vlc_InputItemSubItemAdded
,
ItemAdded
,
p_sd
);
input_Read
(
p_sd
,
p_input
,
VLC_TRUE
);
vlc_event_detach
(
&
p_input
->
event_manager
,
vlc_InputItemSubItemAdded
,
ItemAdded
,
p_sd
);
vlc_gc_decref
(
p_input
);
}
/*****************************************************************************
...
...
@@ -170,8 +147,4 @@ static void Run( services_discovery_t *p_sd )
*****************************************************************************/
static
void
Close
(
vlc_object_t
*
p_this
)
{
services_discovery_t
*
p_sd
=
(
services_discovery_t
*
)
p_this
;
services_discovery_sys_t
*
p_sys
=
p_sd
->
p_sys
;
vlc_gc_decref
(
p_sys
->
p_input
);
free
(
p_sys
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment