On 12.07.2014 22:31, Michael Niedermayer wrote:
On Sat, Jul 12, 2014 at 06:20:46PM +0200, Lukasz Marek wrote:
---
Changelog | 1 +
configure | 5 ++
doc/general.texi | 1 +
doc/protocols.texi | 29 +++
libavformat/Makefile | 1 +
libavformat/allformats.c | 1 +
libavformat/libsmbclient.c | 207 +
7 files changed, 245 insertions(+)
create mode 100644 libavformat/libsmbclient.c
Updated patch is attached.
I also bumped minor version.
If not further remarks then it can be merged.
From 0d5df1dcec486521cc9dbae0d29b4b84a068d325 Mon Sep 17 00:00:00 2001
From: Lukasz Marek lukasz.m.lu...@gmail.com
Date: Sun, 13 Jul 2014 00:54:23 +0200
Subject: [PATCH] lavf: add samba protocol via libsmbclient
Signed-off-by: Lukasz Marek lukasz.m.lu...@gmail.com
---
Changelog | 1 +
configure | 5 ++
doc/general.texi | 1 +
doc/protocols.texi | 29 +++
libavformat/Makefile | 1 +
libavformat/allformats.c | 1 +
libavformat/libsmbclient.c | 207 +
libavformat/version.h | 2 +-
8 files changed, 246 insertions(+), 1 deletion(-)
create mode 100644 libavformat/libsmbclient.c
diff --git a/Changelog b/Changelog
index 87448f3..44c8c79 100644
--- a/Changelog
+++ b/Changelog
@@ -32,6 +32,7 @@ version next:
- hqx filter (hq2x, hq3x, hq4x)
- flanger filter
- Image format auto-detection
+- Samba protocol (via libsmbclient)
version 2.2:
diff --git a/configure b/configure
index b68e0db..cd18e94 100755
--- a/configure
+++ b/configure
@@ -227,6 +227,7 @@ External library support:
--enable-librtmp enable RTMP[E] support via librtmp [no]
--enable-libschroedinger enable Dirac de/encoding via libschroedinger [no]
--enable-libshineenable fixed-point MP3 encoding via libshine [no]
+ --enable-libsmbclientenable Samba protocol via libsmbclient [no]
--enable-libsoxr enable Include libsoxr resampling [no]
--enable-libspeexenable Speex de/encoding via libspeex [no]
--enable-libssh enable SFTP protocol via libssh [no]
@@ -1349,6 +1350,7 @@ EXTERNAL_LIBRARY_LIST=
librtmp
libschroedinger
libshine
+libsmbclient
libsoxr
libspeex
libssh
@@ -2472,6 +2474,7 @@ librtmpe_protocol_deps=librtmp
librtmps_protocol_deps=librtmp
librtmpt_protocol_deps=librtmp
librtmpte_protocol_deps=librtmp
+libsmbclient_protocol_deps=libsmbclient gpl
libssh_protocol_deps=libssh
mmsh_protocol_select=http_protocol
mmst_protocol_select=network
@@ -4240,6 +4243,7 @@ die_license_disabled_gpl() {
die_license_disabled gpl frei0r
die_license_disabled gpl libcdio
+die_license_disabled gpl libsmbclient
die_license_disabled gpl libutvideo
die_license_disabled gpl libvidstab
die_license_disabled gpl libx264
@@ -4744,6 +4748,7 @@ enabled libquvirequire_pkg_config libquvi quvi/quvi.h quvi_init
enabled librtmprequire_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
enabled libschroedingerrequire_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init
enabled libshine require_pkg_config shine shine/layer3.h shine_encode_buffer
+enabled libsmbclient require_pkg_config smbclient libsmbclient.h smbc_init
enabled libsoxrrequire libsoxr soxr.h soxr_create -lsoxr
enabled libssh require_pkg_config libssh libssh/sftp.h sftp_init
enabled libspeex require libspeex speex/speex.h speex_decoder_init -lspeex
diff --git a/doc/general.texi b/doc/general.texi
index 86569a2..b316302 100644
--- a/doc/general.texi
+++ b/doc/general.texi
@@ -1064,6 +1064,7 @@ performance on systems without hardware floating point support).
@item RTMPTE @tab X
@item RTMPTS @tab X
@item RTP @tab X
+@item SAMBA@tab E
@item SCTP @tab X
@item SFTP @tab E
@item TCP @tab X
diff --git a/doc/protocols.texi b/doc/protocols.texi
index 3e5a707..a8898d3 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -537,6 +537,35 @@ The Real-Time Messaging Protocol tunneled through HTTPS (RTMPTS) is used
for streaming multimedia content within HTTPS requests to traverse
firewalls.
+@section libsmbclient
+
+libsmbclient permits to manipulate CIFS/SMB network resources.
+
+Following syntax is required.
+
+@example
+smb://[[domain:]user[:password@@]]server[/share[/path[/file]]]
+@end example
+
+This protocol accepts the following options.
+
+@table @option
+@item timeout
+Set timeout in miliseconds of socket I/O operations used by the underlying
+low level operation. By default it is set to -1, which means that the timeout
+is not specified.
+
+@item truncate
+Truncate existing files on write, if set to 1. A value of 0 prevents
+truncating. Default value is 1.
+
+@item workgroup
+Set the workgroup used for making connections. By default