Commit 5ee74226 authored by Julien 'Lta' BALLET's avatar Julien 'Lta' BALLET Committed by Jean-Baptiste Kempf

Add a libdsm based SMB/CIFS access module

Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent f99d052a
...@@ -3,7 +3,7 @@ Changes between 2.2.x and 3.0.0-git: ...@@ -3,7 +3,7 @@ Changes between 2.2.x and 3.0.0-git:
Access: Access:
* Support HDS (Http Dynamic Streaming) from Adobe (f4m, f4v, etc.) * Support HDS (Http Dynamic Streaming) from Adobe (f4m, f4v, etc.)
* New SMB access module using libdsm
Changes between 2.1.x and 2.2.0: Changes between 2.1.x and 2.2.0:
-------------------------------- --------------------------------
......
...@@ -1718,6 +1718,10 @@ dnl ...@@ -1718,6 +1718,10 @@ dnl
PKG_ENABLE_MODULES_VLC([SMBCLIENT], [smb], [smbclient], (SMB/CIFS support), [auto]) PKG_ENABLE_MODULES_VLC([SMBCLIENT], [smb], [smbclient], (SMB/CIFS support), [auto])
AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_PLUGIN([access_smb]) ]) AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_PLUGIN([access_smb]) ])
dnl
dnl liBDSM access module
dnl
PKG_ENABLE_MODULES_VLC([DSM], [dsm], [libdsm], [libdsm SMB/CIFS access/sd module], [auto])
dnl dnl
dnl sftp access support dnl sftp access support
......
...@@ -98,6 +98,7 @@ $Id$ ...@@ -98,6 +98,7 @@ $Id$
* dolby_surround_decoder: simple decoder for dolby surround encoded streams * dolby_surround_decoder: simple decoder for dolby surround encoded streams
* drawable: legacy LibVLC video window provider * drawable: legacy LibVLC video window provider
* dshow: DirectShow access plugin for encoding cards under Windows * dshow: DirectShow access plugin for encoding cards under Windows
* dsm: SMB access module
* dts: DTS basic parser/packetizer * dts: DTS basic parser/packetizer
* dtstofloat32: DTS Audio converter * dtstofloat32: DTS Audio converter
* dtstospdif: Audio converter that encapsulates DTS into S/PDIF * dtstospdif: Audio converter that encapsulates DTS into S/PDIF
......
...@@ -386,6 +386,13 @@ libsmb_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(accessdir)' ...@@ -386,6 +386,13 @@ libsmb_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(accessdir)'
access_LTLIBRARIES += $(LTLIBsmb) access_LTLIBRARIES += $(LTLIBsmb)
EXTRA_LTLIBRARIES += libsmb_plugin.la EXTRA_LTLIBRARIES += libsmb_plugin.la
libdsm_plugin_la_SOURCES = access/dsm/access.c access/dsm/common.h
libdsm_plugin_la_CFLAGS = $(AM_CFLAGS) $(DSM_CFLAGS)
libdsm_plugin_la_LIBADD = $(DSM_LIBS)
libdsm_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(sddir)'
access_LTLIBRARIES += $(LTLIBdsm)
EXTRA_LTLIBRARIES += libdsm_plugin.la
libtcp_plugin_la_SOURCES = access/tcp.c libtcp_plugin_la_SOURCES = access/tcp.c
libtcp_plugin_la_LIBADD = $(SOCKET_LIBS) libtcp_plugin_la_LIBADD = $(SOCKET_LIBS)
access_LTLIBRARIES += libtcp_plugin.la access_LTLIBRARIES += libtcp_plugin.la
......
This diff is collapsed.
/**
* @file bdsm/common.h
* @brief List host supporting NETBIOS on the local network
*/
/*****************************************************************************
* Copyright © 2014 Authors and the VideoLAN team
*
* Authors: - Julien 'Lta' BALLET <contact # lta 'dot' io>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser 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.
*****************************************************************************/
#include <bdsm/bdsm.h>
#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_access.h>
#include <vlc_url.h>
int Open( vlc_object_t * );
void Close( vlc_object_t * );
int BrowserInit( access_t *p_access ) { return VLC_EGENERIC; }
struct access_sys_t
{
netbios_ns *p_ns; /**< Netbios name service */
smb_session *p_session; /**< bdsm SMB Session object */
smb_creds creds; /**< Credentials used to connect */
vlc_url_t url;
char *psz_share;
char *psz_path;
char netbios_name[16];
struct in_addr addr;
smb_fd i_fd; /**< SMB fd for the file we're reading */
smb_tid i_tid; /**< SMB Tree ID we're connected to */
};
...@@ -192,6 +192,7 @@ modules/access/dshow/crossbar.cpp ...@@ -192,6 +192,7 @@ modules/access/dshow/crossbar.cpp
modules/access/dshow/dshow.cpp modules/access/dshow/dshow.cpp
modules/access/dshow/filter.cpp modules/access/dshow/filter.cpp
modules/access/dshow/filter.h modules/access/dshow/filter.h
modules/access/dsm/access.c
modules/access/dtv/access.c modules/access/dtv/access.c
modules/access/dv.c modules/access/dv.c
modules/access/dvdnav.c modules/access/dvdnav.c
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment