Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
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-1.1
Commits
72fac693
Commit
72fac693
authored
Jan 10, 2003
by
Loïc Minier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* configure.ac.in, modules/access/slp.c: New SLP access module,
see <
http://www.openslp.org/
>
parent
f43c76d4
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
192 additions
and
2 deletions
+192
-2
AUTHORS
AUTHORS
+1
-0
STATUS
STATUS
+6
-1
configure.ac.in
configure.ac.in
+17
-1
modules/access/slp.c
modules/access/slp.c
+168
-0
No files found.
AUTHORS
View file @
72fac693
...
...
@@ -350,6 +350,7 @@ E: lool@via.ecp.fr
C: lool
D: Gtk/gnome enhancements
D: xosd interface plug-in
D: SLP
S: France
N: Benjamin Mironer
...
...
STATUS
View file @
72fac693
# $Id: STATUS,v 1.
5 2002/10/23 23:17:45 gbazin
Exp $
# $Id: STATUS,v 1.
6 2003/01/10 04:58:23 lool
Exp $
#
# VLC STATUS
#
...
...
@@ -65,3 +65,8 @@ Gerald Hansink <gerald.hansink@ordina.nl> :
Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr> :
- ALSA Audio output module (S/PDIF support)
ETA : soon
Loc Minier <lool@videolan.org> :
- SLP integration
- FAQ
configure.ac.in
View file @
72fac693
...
...
@@ -735,7 +735,8 @@ PLUGINS="${PLUGINS} aout_file"
PLUGINS="${PLUGINS} i420_rgb i420_yuy2 i422_yuy2 i420_ymga"
PLUGINS="${PLUGINS} id3 m3u"
PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm"
PLUGINS="${PLUGINS} access_udp access_http ipv4 access_mms access_ftp sap"
PLUGINS="${PLUGINS} access_udp access_http ipv4 access_mms access_ftp"
PLUGINS="${PLUGINS} sap"
dnl
dnl Accelerated modules
...
...
@@ -2494,6 +2495,21 @@ then
fi
fi
dnl
dnl SLP access plugin
dnl
AC_ARG_ENABLE(slp,
[ --enable-slp SLP service discovery support (default disabled)])
if test "x${enable_slp}" = "xyes"
then
AC_CHECK_HEADER(slp.h, have_slp="true", have_slp="false")
if test "x${have_slp}" = "xtrue"
then
PLUGINS="${PLUGINS} access_slp"
LDFLAGS_access_slp="${LDFLAGS_access_slp} -lslp"
fi
fi
dnl
dnl Lirc plugin
dnl
...
...
modules/access/slp.c
0 → 100644
View file @
72fac693
/*****************************************************************************
* slp.c: SLP access plugin
*****************************************************************************
* Copyright (C) 2001, 2002 VideoLAN
* $Id: slp.c,v 1.1 2003/01/10 04:58:23 lool Exp $
*
* Authors: Loc Minier <lool@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., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#include <vlc/vlc.h>
#include <vlc/input.h>
#include <slp.h>
/*****************************************************************************
* Local prototypes
*****************************************************************************/
static
int
Open
(
vlc_object_t
*
);
static
void
Close
(
vlc_object_t
*
);
/*****************************************************************************
* Module descriptor
*****************************************************************************/
#define SRVTYPE_TEXT "SLP service type"
#define SRVTYPE_LONGTEXT "The service type string for SLP queries, " \
"including the authority string (if any) for the " \
"request. May not be empty"
#define SCOPELIST_TEXT "SLP scopes list"
#define SCOPELIST_LONGTEXT "This string is a comma separated list of scope " \
"names or empty if you want to use the default " \
"scopes"
#define FILTER_TEXT "SLP LDAP filter"
#define FILTER_LONGTEXT "This is a query formulated of attribute pattern " \
"matching expressions in the form of an LDAPv3 " \
"search filter or empty for all answers"
#define LANG_TEXT "language asked in SLP requests"
#define LANG_LONGTEXT "RFC 1766 Language Tag for the natural language " \
"locale of requests, leave empty to use the " \
"default locale"
vlc_module_begin
();
set_description
(
_
(
"SLP access module"
)
);
add_category_hint
(
N_
(
"slp"
),
NULL
);
set_capability
(
"access"
,
0
);
add_shortcut
(
"slp"
);
add_string
(
"slp-srvtype"
,
"service:vls.services.videolan.org:udpm"
,
NULL
,
SRVTYPE_TEXT
,
SRVTYPE_LONGTEXT
);
add_string
(
"slp-scopelist"
,
""
,
NULL
,
SCOPELIST_TEXT
,
SCOPELIST_LONGTEXT
);
add_string
(
"slp-filter"
,
""
,
NULL
,
FILTER_TEXT
,
FILTER_LONGTEXT
);
add_string
(
"slp-lang"
,
""
,
NULL
,
LANG_TEXT
,
LANG_LONGTEXT
);
set_callbacks
(
Open
,
Close
);
vlc_module_end
();
/*****************************************************************************
* SrvUrlCallback: adds an entry to the playlist
*****************************************************************************/
static
SLPBoolean
SrvUrlCallback
(
SLPHandle
hslp
,
const
char
*
psz_srvurl
,
uint16_t
i_lifetime
,
SLPError
slpe_errcode
,
void
*
p_input
)
{
playlist_t
*
p_playlist
;
char
psz_item
[
42
]
=
"udp:@"
;
char
*
psz_s
;
if
(
slpe_errcode
==
SLP_OK
)
{
p_playlist
=
vlc_object_find
(
(
input_thread_t
*
)
p_input
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
msg_Dbg
(
(
input_thread_t
*
)
p_input
,
"could not find playlist"
);
return
SLP_FALSE
;
}
/* search the returned address after a double-slash */
psz_s
=
strstr
(
psz_srvurl
,
"//"
);
/* skip the slashes */
psz_s
=
&
psz_s
[
2
];
if
(
psz_s
==
NULL
)
{
msg_Dbg
(
(
input_thread_t
*
)
p_input
,
"something went wrong with your libslp"
);
return
SLP_FALSE
;
}
/* add udp:@ in front of the address */
psz_s
=
strncat
(
psz_item
,
psz_s
,
sizeof
(
psz_item
)
-
strlen
(
psz_item
)
-
1
);
playlist_Add
(
p_playlist
,
psz_s
,
PLAYLIST_APPEND
|
PLAYLIST_GO
,
PLAYLIST_END
);
vlc_object_release
(
(
vlc_object_t
*
)
p_playlist
);
msg_Dbg
(
(
input_thread_t
*
)
p_input
,
"added %s (lifetime %i) to playlist"
,
psz_srvurl
,
i_lifetime
);
}
return
SLP_TRUE
;
}
/*****************************************************************************
* Open: initialize library
*****************************************************************************/
static
int
Open
(
vlc_object_t
*
p_this
)
{
input_thread_t
*
p_input
=
(
input_thread_t
*
)
p_this
;
char
*
psz_name
=
strdup
(
p_input
->
psz_name
);
SLPError
slpe_result
;
SLPHandle
slph_slp
;
/* get a new handle to the library */
if
(
SLPOpen
(
config_GetPsz
(
p_input
,
"slp-lang"
),
SLP_FALSE
,
/* synchronous ops */
&
slph_slp
)
==
SLP_OK
)
{
/* search for services */
slpe_result
=
SLPFindSrvs
(
slph_slp
,
config_GetPsz
(
p_input
,
"slp-srvtype"
),
config_GetPsz
(
p_input
,
"slp-scopelist"
),
config_GetPsz
(
p_input
,
"slp-filter"
),
SrvUrlCallback
,
p_input
);
if
(
slpe_result
!=
SLP_OK
)
{
msg_Dbg
(
p_input
,
"slp error opening %s: %i"
,
psz_name
,
slpe_result
);
}
/* we're done, clean up */
SLPClose
(
slph_slp
);
}
return
(
-
1
);
}
/*****************************************************************************
* Close: free unused data structures
*****************************************************************************/
static
void
Close
(
vlc_object_t
*
p_this
)
{
}
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