Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-04-05 Thread Michael Fritscher

Good day,

were the technical things (changes into standard network code) resolved in the 
mean time? I've the feeling that it is looking at the patch.

On https://github.com/Haivision/srt/pull/140, there is at least a PR to make a 
debian package for it.

I think the name is a minor problem which is solveable - this shouldn't be a blocker. 
What about "osrt" - adding the o for open? ;-)

Regarding the usage: Is there any other option with pure ffmpeg to stream videos over a lossy packet-based network (like the Internet) with 
UDP+fault tolerance without having the hassles of TCP, which is unusable for at least "real" live transmissions? A 1:1 solution would be enough.


Best regards,
Michael Fritscher

Am 22.03.2018 um 16:02 schrieb Nicolas George:

Sven Dueking (2018-03-16):

Ping !?!?


I think I am actually expected to reply.

I think that by reviewing the patch I gave the impression that I was
promising to accept the patch in FFmpeg. It was not so, and I apologize
if it was taken that way. The original patch contained significant
changes in the standard network code that made it much more complex, I
wanted to avoid that, that is the reason I reviewed, it was purely
technical. The decision to accept a patch in FFmpeg is not purely
technical, it also involves balancing the cost of maintenance with the
benefit for users.

In this instance, the recent discussion on libav-dev seems to indicate
that the API and ABI of this library could be not very stable, making
the cost of maintenance relatively high, a fact that is worsened by the
library not being integrated in major Linux distros. As for the benefit
for users, are there public servers serving interesting content
accessible with this protocol? Are there situations where this protocol
would allow several instances of ffmpeg to communicate significantly
better than other protocols? I am not aware of any.

That, plus the poor choice of name (seriously, who dabs in multimedia
and does not know that SRT has been a subtitle format for more than
fifteen years? and there is the SRTP profile too) makes me doubtful
about integrating this in FFmpeg.

But it is not my choice only.

Regards,



___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel




--
ZfT - Zentrum für Telematik e.V.
Michael Fritscher
Magdalene-Schoch-Straße 5
97074 Würzburg
Tel: +49 (931) 615 633 - 57
Fax: +49 (931) 615 633 - 11
Email: michael.fritsc...@telematik-zentrum.de
Web: http://www.telematik-zentrum.de

Vorstand:
Prof. Dr. Klaus Schilling, Prof. Dr. Andreas Nüchter,  Hans-Joachim Leistner
Sitz: Gerbrunn
USt.-ID Nr.: DE 257 244 580, Steuer-Nr.:  257/111/70203
Amtsgericht Würzburg, Vereinsregister-Nr.: VR 200 167
<>

smime.p7s
Description: S/MIME Cryptographic Signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-22 Thread Sven Dueking


> -Ursprüngliche Nachricht-
> Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag
> von Nicolas George
> Gesendet: Donnerstag, 22. März 2018 16:03
> An: FFmpeg development discussions and patches
> Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> Open SRT protocol
> 
> Sven Dueking (2018-03-16):
> > Ping !?!?
> 
> I think I am actually expected to reply.
> 
> I think that by reviewing the patch I gave the impression that I was
> promising to accept the patch in FFmpeg. It was not so, and I apologize
> if it was taken that way. The original patch contained significant
> changes in the standard network code that made it much more complex, I
> wanted to avoid that, that is the reason I reviewed, it was purely
> technical. The decision to accept a patch in FFmpeg is not purely
> technical, it also involves balancing the cost of maintenance with the
> benefit for users.
> 
> In this instance, the recent discussion on libav-dev seems to indicate
> that the API and ABI of this library could be not very stable, making
> the cost of maintenance relatively high, a fact that is worsened by the
> library not being integrated in major Linux distros. As for the benefit
> for users, are there public servers serving interesting content
> accessible with this protocol? Are there situations where this protocol
> would allow several instances of ffmpeg to communicate significantly
> better than other protocols? I am not aware of any.
> 
> That, plus the poor choice of name (seriously, who dabs in multimedia
> and does not know that SRT has been a subtitle format for more than
> fifteen years? and there is the SRTP profile too) makes me doubtful
> about integrating this in FFmpeg.
> 
> But it is not my choice only.
> 
> Regards,
> 
> --
>   Nicolas George

Hi,

The SRT library has been made Open Source in April 2017, but was used before
in Haivision products since 2013. It is used in 100s of mission critical
installation (medical, sports, broadcast, military) worldwide and its
reliability has been proven. Since it’s Open Source, 100 organizations have
joined the SRT Alliance (https://www.srtalliance.org/) in order to create a
new ecosystem for broadcast quality streaming over the public internet,
which wasn’t available as Open Source up to that point and only offered as
commercial solutions by very few specialized companies. Meanwhile many
organizations including the EBU (Eurovision), Wowza, Matrox and many more
have SRT Ready solutions. SRT has been integrated into VLC and GStreamer.
The SRT Alliance is working with the video services forum, who recommends
standards to SMPTE, towards a standardization of the protocol. Many
architectures in the broadcast industry are using either libav or ffmpeg and
are asking when they will be able to utilize SRT though these known media
libraries. I understand the name is not optimal, but when it was initially
created in 2013 unfortunately nobody thought about taken it Open Source due
to the typical industry mindset at that time.

Thank you!

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-22 Thread Nicolas George
Sven Dueking (2018-03-16):
> Ping !?!?

I think I am actually expected to reply.

I think that by reviewing the patch I gave the impression that I was
promising to accept the patch in FFmpeg. It was not so, and I apologize
if it was taken that way. The original patch contained significant
changes in the standard network code that made it much more complex, I
wanted to avoid that, that is the reason I reviewed, it was purely
technical. The decision to accept a patch in FFmpeg is not purely
technical, it also involves balancing the cost of maintenance with the
benefit for users.

In this instance, the recent discussion on libav-dev seems to indicate
that the API and ABI of this library could be not very stable, making
the cost of maintenance relatively high, a fact that is worsened by the
library not being integrated in major Linux distros. As for the benefit
for users, are there public servers serving interesting content
accessible with this protocol? Are there situations where this protocol
would allow several instances of ffmpeg to communicate significantly
better than other protocols? I am not aware of any.

That, plus the poor choice of name (seriously, who dabs in multimedia
and does not know that SRT has been a subtitle format for more than
fifteen years? and there is the SRTP profile too) makes me doubtful
about integrating this in FFmpeg.

But it is not my choice only.

Regards,

-- 
  Nicolas George


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-16 Thread Sven Dueking


> -Ursprüngliche Nachricht-
> Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag
> von Sven Dueking
> Gesendet: Mittwoch, 14. März 2018 08:39
> An: 'FFmpeg development discussions and patches'
> Betreff: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open
> SRT protocol
> 
> Updated patch according to latest feedback :
> 
> - spelling errors and capitalization
> - renamed option "timeout" -> "rw_timeout"
> - changed max values for duration parameters to INT64_MAX


Ping !?!?

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-14 Thread Sven Dueking
Updated patch according to latest feedback :

- spelling errors and capitalization
- renamed option "timeout" -> "rw_timeout"
- changed max values for duration parameters to INT64_MAX



0001-avformat-opensrt-add-Haivision-Open-SRT-protocol.patch
Description: Binary data
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-09 Thread wm4
On Fri, 9 Mar 2018 11:01:51 +0100
"Sven Dueking" <s...@nablet.com> wrote:

> > -Ursprüngliche Nachricht-
> > Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag
> > von wm4
> > Gesendet: Freitag, 9. März 2018 08:21
> > An: ffmpeg-devel@ffmpeg.org
> > Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > Open SRT protocol
> > 
> > On Wed, 21 Feb 2018 10:16:48 +0100
> > "Sven Dueking" <s...@nablet.com> wrote:
> >   
> > > protocol requires libsrt (https://github.com/Haivision/srt) to be
> > > installed
> > >
> > > Signed-off-by: Sven Dueking <sven.duek...@nablet.com>
> > > ---
> > >  MAINTAINERS |   1 +
> > >  configure   |   5 +
> > >  doc/protocols.texi  | 134 ++-
> > >  libavformat/Makefile|   1 +
> > >  libavformat/opensrt.c   | 589
> > > 
> > >  libavformat/protocols.c |   1 +
> > >  6 files changed, 730 insertions(+), 1 deletion(-)  create mode  
> > 100644  
> > > libavformat/opensrt.c
> > >
> > > diff --git a/MAINTAINERS b/MAINTAINERS index b691bd5..3e0355a 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -499,6 +499,7 @@ Protocols:
> > >http.cRonald S. Bultje
> > >libssh.c  Lukasz Marek
> > >mms*.cRonald S. Bultje
> > > +  opensrt.c sven Dueking
> > >udp.c Luca Abeni
> > >icecast.c Marvin Scholz
> > >
> > > diff --git a/configure b/configure
> > > index 013308c..9a78bae 100755
> > > --- a/configure
> > > +++ b/configure
> > > @@ -294,6 +294,7 @@ External library support:
> > >--enable-opengl  enable OpenGL rendering [no]
> > >--enable-openssl enable openssl, needed for https support
> > > if gnutls or libtls is not used [no]
> > > +  --enable-opensrt enable Haivision Open SRT protocol [no]
> > >--disable-sndio  disable sndio support [autodetect]
> > >--disable-schannel   disable SChannel SSP, needed for TLS  
> > support on  
> > > Windows if openssl and gnutls are not  
> > used  
> > > [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
> > >  mediacodec
> > >  openal
> > >  opengl
> > > +opensrt
> > >  "
> > >
> > >  HWACCEL_AUTODETECT_LIBRARY_LIST="
> > > @@ -3157,6 +3159,8 @@ libssh_protocol_deps="libssh"
> > >  libtls_conflict="openssl gnutls"
> > >  mmsh_protocol_select="http_protocol"
> > >  mmst_protocol_select="network"
> > > +opensrt_protocol_select="network"
> > > +opensrt_protocol_deps="opensrt"
> > >  rtmp_protocol_conflict="librtmp_protocol"
> > >  rtmp_protocol_select="tcp_protocol"
> > >  rtmp_protocol_suggest="zlib"
> > > @@ -6028,6 +6032,7 @@ enabled omx   && require_header  
> > OMX_Core.h  
> > >  enabled omx_rpi   && { check_header OMX_Core.h ||
> > > { ! enabled cross_compile &&
> > > add_cflags -isystem/opt/vc/include/IL && check_header OMX_Core.h ; }  
> > ||  
> > > die "ERROR: OpenMAX IL headers not
> > > found"; } && enable omx
> > > +enabled opensrt   && require_pkg_config libsrt "srt >=  
> > 1.2.0"  
> > > srt/srt.h srt_socket
> > >  enabled openssl   && { check_pkg_config openssl openssl
> > > openssl/ssl.h OPENSSL_init_ssl ||
> > > check_pkg_config openssl openssl
> > > openssl/ssl.h SSL_library_init ||
> > > check_lib openssl openssl/ssl.h
> > > SSL_library_init -lssl -lcrypto || diff --git a/doc/protocols.texi
> > > b/doc/protocols.texi index c24dc74..1d49eaa 100644
> > > --- a/doc/protocols.texi
> > > +++ b/doc/protocols.texi
> > > @@ -752,12 +752,144 @@ Truncate existing files on write, if set to 1.
> > > A value of 0 prevents  truncating. Default value is 1

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-09 Thread Rostislav Pehlivanov
On 9 March 2018 at 00:55, Michael Niedermayer <mich...@niedermayer.cc>
wrote:

> On Mon, Mar 05, 2018 at 05:09:04PM +0100, Sven Dueking wrote:
> >
> >
> > > -Ursprüngliche Nachricht-
> > > Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag
> > > von Sven Dueking
> > > Gesendet: Dienstag, 27. Februar 2018 08:27
> > > An: 'FFmpeg development discussions and patches'
> > > Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > > Open SRT protocol
> > >
> > >
> > >
> > > > -Ursprüngliche Nachricht-
> > > > Von: Sven Dueking [mailto:s...@nablet.com]
> > > > Gesendet: Mittwoch, 21. Februar 2018 15:25
> > > > An: 'FFmpeg development discussions and patches'
> > > > Betreff: AW: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > > > Open SRT protocol
> > > >
> > > >
> > > >
> > > > > -Ursprüngliche Nachricht-
> > > > > Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im
> > > > > Auftrag von Michael Niedermayer
> > > > > Gesendet: Mittwoch, 21. Februar 2018 14:35
> > > > > An: FFmpeg development discussions and patches
> > > > > Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > > > > Open SRT protocol
> > > > >
> > > > > On Wed, Feb 21, 2018 at 10:16:48AM +0100, Sven Dueking wrote:
> > > > > > protocol requires libsrt (https://github.com/Haivision/srt) to
> be
> > > > > > installed
> > > > > >
> > > > > > Signed-off-by: Sven Dueking <sven.duek...@nablet.com>
> > > > > > ---
> > > > > >  MAINTAINERS |   1 +
> > > > > >  configure   |   5 +
> > > > > >  doc/protocols.texi  | 134 ++-
> > > > > >  libavformat/Makefile|   1 +
> > > > > >  libavformat/opensrt.c   | 589
> > > > > > 
> > > > > >  libavformat/protocols.c |   1 +
> > > > > >  6 files changed, 730 insertions(+), 1 deletion(-)  create mode
> > > > > > 100644 libavformat/opensrt.c
> > > > > >
> > > > > > diff --git a/MAINTAINERS b/MAINTAINERS index b691bd5..3e0355a
> > > > 100644
> > > > > > --- a/MAINTAINERS
> > > > > > +++ b/MAINTAINERS
> > > > > > @@ -499,6 +499,7 @@ Protocols:
> > > > > >http.cRonald S. Bultje
> > > > > >libssh.c  Lukasz Marek
> > > > > >mms*.cRonald S. Bultje
> > > > > > +  opensrt.c sven Dueking
> > > > > >udp.c Luca Abeni
> > > > > >icecast.c Marvin Scholz
> > > > > >
> > > > > > diff --git a/configure b/configure index 013308c..9a78bae 100755
> > > > > > --- a/configure
> > > > > > +++ b/configure
> > > > > > @@ -294,6 +294,7 @@ External library support:
> > > > > >--enable-opengl  enable OpenGL rendering [no]
> > > > > >--enable-openssl enable openssl, needed for https
> > > > support
> > > > > > if gnutls or libtls is not used [no]
> > > > > > +  --enable-opensrt enable Haivision Open SRT protocol
> > > [no]
> > > > > >--disable-sndio  disable sndio support [autodetect]
> > > > > >--disable-schannel   disable SChannel SSP, needed for TLS
> > > > support
> > > > > on
> > > > > > Windows if openssl and gnutls are not
> > > > > > used [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
> > > > > >  mediacodec
> > > > > >  openal
> > > > > >  opengl
> > > > > > +opensrt
> > > > >
> > > > > there is something wrong with newlines this patch is corrupted and
> > > > > cannot be tested or applied
> > > > >
> > > > > [...]
> > > >
> > > > Hi Michael,
> > > >

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-09 Thread Nicolas George
Sven Dueking (2018-03-09):
> Michael mentioned this : 
> newly added time based options should be in seconds the user can
> achive micro or milli seconds by using suffixes also see
> AV_OPT_TYPE_DURATION, it may fit here
> 
> So, what shell we use ? 

A timeout is a duration of time before giving up: AV_OPT_TYPE_DURATION,
there is no doubt about it.

OTOH, you need to fix the max value.

I have this patch in my inbox, I intend to review it again sometime, but
sorry, it is not very high in my priority list. If somebody else wants
to take over, I have absolutely no objection.

Regards,

-- 
  Nicolas George


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-09 Thread Sven Dueking


> -Ursprüngliche Nachricht-
> Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag
> von wm4
> Gesendet: Freitag, 9. März 2018 08:21
> An: ffmpeg-devel@ffmpeg.org
> Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> Open SRT protocol
> 
> On Wed, 21 Feb 2018 10:16:48 +0100
> "Sven Dueking" <s...@nablet.com> wrote:
> 
> > protocol requires libsrt (https://github.com/Haivision/srt) to be
> > installed
> >
> > Signed-off-by: Sven Dueking <sven.duek...@nablet.com>
> > ---
> >  MAINTAINERS |   1 +
> >  configure   |   5 +
> >  doc/protocols.texi  | 134 ++-
> >  libavformat/Makefile|   1 +
> >  libavformat/opensrt.c   | 589
> > 
> >  libavformat/protocols.c |   1 +
> >  6 files changed, 730 insertions(+), 1 deletion(-)  create mode
> 100644
> > libavformat/opensrt.c
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS index b691bd5..3e0355a 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -499,6 +499,7 @@ Protocols:
> >http.cRonald S. Bultje
> >libssh.c  Lukasz Marek
> >mms*.cRonald S. Bultje
> > +  opensrt.c sven Dueking
> >udp.c Luca Abeni
> >icecast.c Marvin Scholz
> >
> > diff --git a/configure b/configure
> > index 013308c..9a78bae 100755
> > --- a/configure
> > +++ b/configure
> > @@ -294,6 +294,7 @@ External library support:
> >--enable-opengl  enable OpenGL rendering [no]
> >--enable-openssl enable openssl, needed for https support
> > if gnutls or libtls is not used [no]
> > +  --enable-opensrt enable Haivision Open SRT protocol [no]
> >--disable-sndio  disable sndio support [autodetect]
> >--disable-schannel   disable SChannel SSP, needed for TLS
> support on
> > Windows if openssl and gnutls are not
> used
> > [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
> >  mediacodec
> >  openal
> >  opengl
> > +opensrt
> >  "
> >
> >  HWACCEL_AUTODETECT_LIBRARY_LIST="
> > @@ -3157,6 +3159,8 @@ libssh_protocol_deps="libssh"
> >  libtls_conflict="openssl gnutls"
> >  mmsh_protocol_select="http_protocol"
> >  mmst_protocol_select="network"
> > +opensrt_protocol_select="network"
> > +opensrt_protocol_deps="opensrt"
> >  rtmp_protocol_conflict="librtmp_protocol"
> >  rtmp_protocol_select="tcp_protocol"
> >  rtmp_protocol_suggest="zlib"
> > @@ -6028,6 +6032,7 @@ enabled omx   && require_header
> OMX_Core.h
> >  enabled omx_rpi   && { check_header OMX_Core.h ||
> > { ! enabled cross_compile &&
> > add_cflags -isystem/opt/vc/include/IL && check_header OMX_Core.h ; }
> ||
> > die "ERROR: OpenMAX IL headers not
> > found"; } && enable omx
> > +enabled opensrt   && require_pkg_config libsrt "srt >=
> 1.2.0"
> > srt/srt.h srt_socket
> >  enabled openssl   && { check_pkg_config openssl openssl
> > openssl/ssl.h OPENSSL_init_ssl ||
> > check_pkg_config openssl openssl
> > openssl/ssl.h SSL_library_init ||
> > check_lib openssl openssl/ssl.h
> > SSL_library_init -lssl -lcrypto || diff --git a/doc/protocols.texi
> > b/doc/protocols.texi index c24dc74..1d49eaa 100644
> > --- a/doc/protocols.texi
> > +++ b/doc/protocols.texi
> > @@ -752,12 +752,144 @@ 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 workgroup
> > is not specified.
> > +Set the workgroup used for making connections. By default workgroup
> > +is not specified.
> >
> >  @end table
> >
> >  For more information see: @url{http://www.samba.org/}.
> >
> > +@section srt
> > +
> > +Haivision Secure Reliable Transport Protocol via libsrt.
> > +
> > +The required syntax for a SRT url is:
> > +@example
> > +srt://

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-08 Thread wm4
On Wed, 21 Feb 2018 10:16:48 +0100
"Sven Dueking"  wrote:

> protocol requires libsrt (https://github.com/Haivision/srt) to be installed
> 
> Signed-off-by: Sven Dueking 
> ---
>  MAINTAINERS |   1 +
>  configure   |   5 +
>  doc/protocols.texi  | 134 ++-
>  libavformat/Makefile|   1 +
>  libavformat/opensrt.c   | 589
> 
>  libavformat/protocols.c |   1 +
>  6 files changed, 730 insertions(+), 1 deletion(-)  create mode 100644
> libavformat/opensrt.c
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index b691bd5..3e0355a 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -499,6 +499,7 @@ Protocols:
>http.cRonald S. Bultje
>libssh.c  Lukasz Marek
>mms*.cRonald S. Bultje
> +  opensrt.c sven Dueking
>udp.c Luca Abeni
>icecast.c Marvin Scholz
>  
> diff --git a/configure b/configure
> index 013308c..9a78bae 100755
> --- a/configure
> +++ b/configure
> @@ -294,6 +294,7 @@ External library support:
>--enable-opengl  enable OpenGL rendering [no]
>--enable-openssl enable openssl, needed for https support
> if gnutls or libtls is not used [no]
> +  --enable-opensrt enable Haivision Open SRT protocol [no]
>--disable-sndio  disable sndio support [autodetect]
>--disable-schannel   disable SChannel SSP, needed for TLS support on
> Windows if openssl and gnutls are not used
> [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
>  mediacodec
>  openal
>  opengl
> +opensrt
>  "
>  
>  HWACCEL_AUTODETECT_LIBRARY_LIST="
> @@ -3157,6 +3159,8 @@ libssh_protocol_deps="libssh"
>  libtls_conflict="openssl gnutls"
>  mmsh_protocol_select="http_protocol"
>  mmst_protocol_select="network"
> +opensrt_protocol_select="network"
> +opensrt_protocol_deps="opensrt"
>  rtmp_protocol_conflict="librtmp_protocol"
>  rtmp_protocol_select="tcp_protocol"
>  rtmp_protocol_suggest="zlib"
> @@ -6028,6 +6032,7 @@ enabled omx   && require_header OMX_Core.h
>  enabled omx_rpi   && { check_header OMX_Core.h ||
> { ! enabled cross_compile && add_cflags
> -isystem/opt/vc/include/IL && check_header OMX_Core.h ; } ||
> die "ERROR: OpenMAX IL headers not found"; }
> && enable omx
> +enabled opensrt   && require_pkg_config libsrt "srt >= 1.2.0"
> srt/srt.h srt_socket
>  enabled openssl   && { check_pkg_config openssl openssl
> openssl/ssl.h OPENSSL_init_ssl ||
> check_pkg_config openssl openssl
> openssl/ssl.h SSL_library_init ||
> check_lib openssl openssl/ssl.h
> SSL_library_init -lssl -lcrypto || diff --git a/doc/protocols.texi
> b/doc/protocols.texi index c24dc74..1d49eaa 100644
> --- a/doc/protocols.texi
> +++ b/doc/protocols.texi
> @@ -752,12 +752,144 @@ 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 workgroup is not
> specified.
> +Set the workgroup used for making connections. By default workgroup is 
> +not specified.
>  
>  @end table
>  
>  For more information see: @url{http://www.samba.org/}.
>  
> +@section srt
> +
> +Haivision Secure Reliable Transport Protocol via libsrt.
> +
> +The required syntax for a SRT url is:
> +@example
> +srt://@var{hostname}:@var{port}[?@var{options}]
> +@end example
> +
> +@var{options} contains a list of &-separated options of the form 
> +@var{key}=@var{val}.
> +
> +This protocol accepts the following options.
> +
> +@table @option
> +@item connect_timeout
> +Connection timeout. SRT cannot connect for RTT > 1500 msec
> +(2 handshake exchanges) with the default connect timeout of
> +3 seconds. This option applies to the caller and rendezvous connection 
> +modes. The connect timeout is 10 times the value set for the rendezvous 
> +mode (which can be used as a workaround for this connection problem 
> +with earlier versions).
> +
> +@item fc=@var{bytes}
> +Flight Flag Size (Window Size), in bytes. FC is actually an internal 
> +parameter and you should set it to not less than 
> +@option{recv_buffer_size} and @option{mss}. The default value is 
> +relatively large, therefore unless you set a very large receiver 
> +buffer, you do not need to change this option. Default value is 25600.
> +
> +@item inputbw=@var{bytes/seconds}
> +Sender nominal input rate, in bytes per seconds. Used along with 
> +@option{oheadbw}, when @option{maxbw} is set to relative (0), to 
> +calculate maximum sending rate when recovery packets are sent along 
> +with main media stream:
> 

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-08 Thread Mike Goins
On Thu, Mar 8, 2018 at 7:55 PM, Michael Niedermayer
<mich...@niedermayer.cc> wrote:
>
> On Mon, Mar 05, 2018 at 05:09:04PM +0100, Sven Dueking wrote:
> >
> >
> > > -Ursprüngliche Nachricht-
> > > Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag
> > > von Sven Dueking
> > > Gesendet: Dienstag, 27. Februar 2018 08:27
> > > An: 'FFmpeg development discussions and patches'
> > > Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > > Open SRT protocol
> > >
> > >
> > >
> > > > -Ursprüngliche Nachricht-
> > > > Von: Sven Dueking [mailto:s...@nablet.com]
> > > > Gesendet: Mittwoch, 21. Februar 2018 15:25
> > > > An: 'FFmpeg development discussions and patches'
> > > > Betreff: AW: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > > > Open SRT protocol
> > > >
> > > >
> > > >
> > > > > -Ursprüngliche Nachricht-
> > > > > Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im
> > > > > Auftrag von Michael Niedermayer
> > > > > Gesendet: Mittwoch, 21. Februar 2018 14:35
> > > > > An: FFmpeg development discussions and patches
> > > > > Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > > > > Open SRT protocol
> > > > >
> > > > > On Wed, Feb 21, 2018 at 10:16:48AM +0100, Sven Dueking wrote:
> > > > > > protocol requires libsrt (https://github.com/Haivision/srt) to be
> > > > > > installed
> > > > > >
> > > > > > Signed-off-by: Sven Dueking <sven.duek...@nablet.com>
> > > > > > ---
> > > > > >  MAINTAINERS |   1 +
> > > > > >  configure   |   5 +
> > > > > >  doc/protocols.texi  | 134 ++-
> > > > > >  libavformat/Makefile|   1 +
> > > > > >  libavformat/opensrt.c   | 589
> > > > > > 
> > > > > >  libavformat/protocols.c |   1 +
> > > > > >  6 files changed, 730 insertions(+), 1 deletion(-)  create mode
> > > > > > 100644 libavformat/opensrt.c
> > > > > >
> > > > > > diff --git a/MAINTAINERS b/MAINTAINERS index b691bd5..3e0355a
> > > > 100644
> > > > > > --- a/MAINTAINERS
> > > > > > +++ b/MAINTAINERS
> > > > > > @@ -499,6 +499,7 @@ Protocols:
> > > > > >http.cRonald S. Bultje
> > > > > >libssh.c  Lukasz Marek
> > > > > >mms*.cRonald S. Bultje
> > > > > > +  opensrt.c sven Dueking
> > > > > >udp.c Luca Abeni
> > > > > >icecast.c Marvin Scholz
> > > > > >
> > > > > > diff --git a/configure b/configure index 013308c..9a78bae 100755
> > > > > > --- a/configure
> > > > > > +++ b/configure
> > > > > > @@ -294,6 +294,7 @@ External library support:
> > > > > >--enable-opengl  enable OpenGL rendering [no]
> > > > > >--enable-openssl enable openssl, needed for https
> > > > support
> > > > > > if gnutls or libtls is not used [no]
> > > > > > +  --enable-opensrt enable Haivision Open SRT protocol
> > > [no]
> > > > > >--disable-sndio  disable sndio support [autodetect]
> > > > > >--disable-schannel   disable SChannel SSP, needed for TLS
> > > > support
> > > > > on
> > > > > > Windows if openssl and gnutls are not
> > > > > > used [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
> > > > > >  mediacodec
> > > > > >  openal
> > > > > >  opengl
> > > > > > +opensrt
> > > > >
> > > > > there is something wrong with newlines this patch is corrupted and
> > > > > cannot be tested or applied
> > > > >
> > > > > [...]
> > > >
> > > > Hi Michael,
>

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-08 Thread Michael Niedermayer
On Mon, Mar 05, 2018 at 05:09:04PM +0100, Sven Dueking wrote:
> 
> 
> > -Ursprüngliche Nachricht-
> > Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag
> > von Sven Dueking
> > Gesendet: Dienstag, 27. Februar 2018 08:27
> > An: 'FFmpeg development discussions and patches'
> > Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > Open SRT protocol
> > 
> > 
> > 
> > > -Ursprüngliche Nachricht-
> > > Von: Sven Dueking [mailto:s...@nablet.com]
> > > Gesendet: Mittwoch, 21. Februar 2018 15:25
> > > An: 'FFmpeg development discussions and patches'
> > > Betreff: AW: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > > Open SRT protocol
> > >
> > >
> > >
> > > > -Ursprüngliche Nachricht-
> > > > Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im
> > > > Auftrag von Michael Niedermayer
> > > > Gesendet: Mittwoch, 21. Februar 2018 14:35
> > > > An: FFmpeg development discussions and patches
> > > > Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > > > Open SRT protocol
> > > >
> > > > On Wed, Feb 21, 2018 at 10:16:48AM +0100, Sven Dueking wrote:
> > > > > protocol requires libsrt (https://github.com/Haivision/srt) to be
> > > > > installed
> > > > >
> > > > > Signed-off-by: Sven Dueking <sven.duek...@nablet.com>
> > > > > ---
> > > > >  MAINTAINERS |   1 +
> > > > >  configure   |   5 +
> > > > >  doc/protocols.texi  | 134 ++-
> > > > >  libavformat/Makefile|   1 +
> > > > >  libavformat/opensrt.c   | 589
> > > > > 
> > > > >  libavformat/protocols.c |   1 +
> > > > >  6 files changed, 730 insertions(+), 1 deletion(-)  create mode
> > > > > 100644 libavformat/opensrt.c
> > > > >
> > > > > diff --git a/MAINTAINERS b/MAINTAINERS index b691bd5..3e0355a
> > > 100644
> > > > > --- a/MAINTAINERS
> > > > > +++ b/MAINTAINERS
> > > > > @@ -499,6 +499,7 @@ Protocols:
> > > > >http.cRonald S. Bultje
> > > > >libssh.c  Lukasz Marek
> > > > >mms*.cRonald S. Bultje
> > > > > +  opensrt.c sven Dueking
> > > > >udp.c Luca Abeni
> > > > >icecast.c Marvin Scholz
> > > > >
> > > > > diff --git a/configure b/configure index 013308c..9a78bae 100755
> > > > > --- a/configure
> > > > > +++ b/configure
> > > > > @@ -294,6 +294,7 @@ External library support:
> > > > >--enable-opengl  enable OpenGL rendering [no]
> > > > >--enable-openssl enable openssl, needed for https
> > > support
> > > > > if gnutls or libtls is not used [no]
> > > > > +  --enable-opensrt enable Haivision Open SRT protocol
> > [no]
> > > > >--disable-sndio  disable sndio support [autodetect]
> > > > >--disable-schannel   disable SChannel SSP, needed for TLS
> > > support
> > > > on
> > > > > Windows if openssl and gnutls are not
> > > > > used [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
> > > > >  mediacodec
> > > > >  openal
> > > > >  opengl
> > > > > +opensrt
> > > >
> > > > there is something wrong with newlines this patch is corrupted and
> > > > cannot be tested or applied
> > > >
> > > > [...]
> > >
> > > Hi Michael,
> > >
> > > Sorry, no idea why this happens. Patch attached.
> > 
> > Ping ?!
> > 
> > >
> > > > --
> > > > Michael GnuPG fingerprint:
> > > 9FF2128B147EF6730BADF133611EC787040B0FAB
> > > >
> > > > Rewriting code that is poorly written but fully understood is good.
> > > > Rewriting code that one doesnt understand is a sign that one is
> > less
> > > > smart then the original author, trying to rewrite it will not make
> > > > it
> > > better.
> > 
> 
> Any chance to get feedback ? 

is anyone working on a review of this patch or intends to review it ?

If not i intend to push it after a light review (i think there are
other people around who are more qualified to review this than i am)

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-03-05 Thread Sven Dueking


> -Ursprüngliche Nachricht-
> Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag
> von Sven Dueking
> Gesendet: Dienstag, 27. Februar 2018 08:27
> An: 'FFmpeg development discussions and patches'
> Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> Open SRT protocol
> 
> 
> 
> > -Ursprüngliche Nachricht-
> > Von: Sven Dueking [mailto:s...@nablet.com]
> > Gesendet: Mittwoch, 21. Februar 2018 15:25
> > An: 'FFmpeg development discussions and patches'
> > Betreff: AW: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > Open SRT protocol
> >
> >
> >
> > > -Ursprüngliche Nachricht-
> > > Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im
> > > Auftrag von Michael Niedermayer
> > > Gesendet: Mittwoch, 21. Februar 2018 14:35
> > > An: FFmpeg development discussions and patches
> > > Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > > Open SRT protocol
> > >
> > > On Wed, Feb 21, 2018 at 10:16:48AM +0100, Sven Dueking wrote:
> > > > protocol requires libsrt (https://github.com/Haivision/srt) to be
> > > > installed
> > > >
> > > > Signed-off-by: Sven Dueking <sven.duek...@nablet.com>
> > > > ---
> > > >  MAINTAINERS |   1 +
> > > >  configure   |   5 +
> > > >  doc/protocols.texi  | 134 ++-
> > > >  libavformat/Makefile|   1 +
> > > >  libavformat/opensrt.c   | 589
> > > > 
> > > >  libavformat/protocols.c |   1 +
> > > >  6 files changed, 730 insertions(+), 1 deletion(-)  create mode
> > > > 100644 libavformat/opensrt.c
> > > >
> > > > diff --git a/MAINTAINERS b/MAINTAINERS index b691bd5..3e0355a
> > 100644
> > > > --- a/MAINTAINERS
> > > > +++ b/MAINTAINERS
> > > > @@ -499,6 +499,7 @@ Protocols:
> > > >http.cRonald S. Bultje
> > > >libssh.c  Lukasz Marek
> > > >mms*.cRonald S. Bultje
> > > > +  opensrt.c sven Dueking
> > > >udp.c Luca Abeni
> > > >icecast.c Marvin Scholz
> > > >
> > > > diff --git a/configure b/configure index 013308c..9a78bae 100755
> > > > --- a/configure
> > > > +++ b/configure
> > > > @@ -294,6 +294,7 @@ External library support:
> > > >--enable-opengl  enable OpenGL rendering [no]
> > > >--enable-openssl enable openssl, needed for https
> > support
> > > > if gnutls or libtls is not used [no]
> > > > +  --enable-opensrt enable Haivision Open SRT protocol
> [no]
> > > >--disable-sndio  disable sndio support [autodetect]
> > > >--disable-schannel   disable SChannel SSP, needed for TLS
> > support
> > > on
> > > > Windows if openssl and gnutls are not
> > > > used [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
> > > >  mediacodec
> > > >  openal
> > > >  opengl
> > > > +opensrt
> > >
> > > there is something wrong with newlines this patch is corrupted and
> > > cannot be tested or applied
> > >
> > > [...]
> >
> > Hi Michael,
> >
> > Sorry, no idea why this happens. Patch attached.
> 
> Ping ?!
> 
> >
> > > --
> > > Michael GnuPG fingerprint:
> > 9FF2128B147EF6730BADF133611EC787040B0FAB
> > >
> > > Rewriting code that is poorly written but fully understood is good.
> > > Rewriting code that one doesnt understand is a sign that one is
> less
> > > smart then the original author, trying to rewrite it will not make
> > > it
> > better.
> 

Any chance to get feedback ? 
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-26 Thread Sven Dueking


> -Ursprüngliche Nachricht-
> Von: Sven Dueking [mailto:s...@nablet.com]
> Gesendet: Mittwoch, 21. Februar 2018 15:25
> An: 'FFmpeg development discussions and patches'
> Betreff: AW: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> Open SRT protocol
> 
> 
> 
> > -Ursprüngliche Nachricht-
> > Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag
> > von Michael Niedermayer
> > Gesendet: Mittwoch, 21. Februar 2018 14:35
> > An: FFmpeg development discussions and patches
> > Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision
> > Open SRT protocol
> >
> > On Wed, Feb 21, 2018 at 10:16:48AM +0100, Sven Dueking wrote:
> > > protocol requires libsrt (https://github.com/Haivision/srt) to be
> > > installed
> > >
> > > Signed-off-by: Sven Dueking <sven.duek...@nablet.com>
> > > ---
> > >  MAINTAINERS |   1 +
> > >  configure   |   5 +
> > >  doc/protocols.texi  | 134 ++-
> > >  libavformat/Makefile|   1 +
> > >  libavformat/opensrt.c   | 589
> > > 
> > >  libavformat/protocols.c |   1 +
> > >  6 files changed, 730 insertions(+), 1 deletion(-)  create mode
> > > 100644 libavformat/opensrt.c
> > >
> > > diff --git a/MAINTAINERS b/MAINTAINERS index b691bd5..3e0355a
> 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -499,6 +499,7 @@ Protocols:
> > >http.cRonald S. Bultje
> > >libssh.c  Lukasz Marek
> > >mms*.cRonald S. Bultje
> > > +  opensrt.c sven Dueking
> > >udp.c Luca Abeni
> > >icecast.c Marvin Scholz
> > >
> > > diff --git a/configure b/configure
> > > index 013308c..9a78bae 100755
> > > --- a/configure
> > > +++ b/configure
> > > @@ -294,6 +294,7 @@ External library support:
> > >--enable-opengl  enable OpenGL rendering [no]
> > >--enable-openssl enable openssl, needed for https
> support
> > > if gnutls or libtls is not used [no]
> > > +  --enable-opensrt enable Haivision Open SRT protocol [no]
> > >--disable-sndio  disable sndio support [autodetect]
> > >--disable-schannel   disable SChannel SSP, needed for TLS
> support
> > on
> > > Windows if openssl and gnutls are not
> > > used [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
> > >  mediacodec
> > >  openal
> > >  opengl
> > > +opensrt
> >
> > there is something wrong with newlines this patch is corrupted and
> > cannot be tested or applied
> >
> > [...]
> 
> Hi Michael,
> 
> Sorry, no idea why this happens. Patch attached.

Ping ?!

> 
> > --
> > Michael GnuPG fingerprint:
> 9FF2128B147EF6730BADF133611EC787040B0FAB
> >
> > Rewriting code that is poorly written but fully understood is good.
> > Rewriting code that one doesnt understand is a sign that one is less
> > smart then the original author, trying to rewrite it will not make it
> better.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-21 Thread Sven Dueking


> -Ursprüngliche Nachricht-
> Von: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] Im Auftrag von
> Michael Niedermayer
> Gesendet: Mittwoch, 21. Februar 2018 14:35
> An: FFmpeg development discussions and patches
> Betreff: Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open
> SRT protocol
> 
> On Wed, Feb 21, 2018 at 10:16:48AM +0100, Sven Dueking wrote:
> > protocol requires libsrt (https://github.com/Haivision/srt) to be
> > installed
> >
> > Signed-off-by: Sven Dueking <sven.duek...@nablet.com>
> > ---
> >  MAINTAINERS |   1 +
> >  configure   |   5 +
> >  doc/protocols.texi  | 134 ++-
> >  libavformat/Makefile|   1 +
> >  libavformat/opensrt.c   | 589
> > 
> >  libavformat/protocols.c |   1 +
> >  6 files changed, 730 insertions(+), 1 deletion(-)  create mode 100644
> > libavformat/opensrt.c
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS index b691bd5..3e0355a 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -499,6 +499,7 @@ Protocols:
> >http.cRonald S. Bultje
> >libssh.c  Lukasz Marek
> >mms*.cRonald S. Bultje
> > +  opensrt.c sven Dueking
> >udp.c Luca Abeni
> >icecast.c Marvin Scholz
> >
> > diff --git a/configure b/configure
> > index 013308c..9a78bae 100755
> > --- a/configure
> > +++ b/configure
> > @@ -294,6 +294,7 @@ External library support:
> >--enable-opengl  enable OpenGL rendering [no]
> >--enable-openssl enable openssl, needed for https support
> > if gnutls or libtls is not used [no]
> > +  --enable-opensrt enable Haivision Open SRT protocol [no]
> >--disable-sndio  disable sndio support [autodetect]
> >--disable-schannel   disable SChannel SSP, needed for TLS support
> on
> > Windows if openssl and gnutls are not used
> > [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
> >  mediacodec
> >  openal
> >  opengl
> > +opensrt
> 
> there is something wrong with newlines
> this patch is corrupted and cannot be tested or applied
> 
> [...]

Hi Michael,

Sorry, no idea why this happens. Patch attached.

> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> 
> Rewriting code that is poorly written but fully understood is good.
> Rewriting code that one doesnt understand is a sign that one is less smart
> then the original author, trying to rewrite it will not make it better.


0001-avformat-opensrt-add-Haivision-Open-SRT-protocol.patch
Description: Binary data
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-21 Thread Michael Niedermayer
On Wed, Feb 21, 2018 at 10:16:48AM +0100, Sven Dueking wrote:
> protocol requires libsrt (https://github.com/Haivision/srt) to be installed
> 
> Signed-off-by: Sven Dueking 
> ---
>  MAINTAINERS |   1 +
>  configure   |   5 +
>  doc/protocols.texi  | 134 ++-
>  libavformat/Makefile|   1 +
>  libavformat/opensrt.c   | 589
> 
>  libavformat/protocols.c |   1 +
>  6 files changed, 730 insertions(+), 1 deletion(-)  create mode 100644
> libavformat/opensrt.c
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index b691bd5..3e0355a 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -499,6 +499,7 @@ Protocols:
>http.cRonald S. Bultje
>libssh.c  Lukasz Marek
>mms*.cRonald S. Bultje
> +  opensrt.c sven Dueking
>udp.c Luca Abeni
>icecast.c Marvin Scholz
>  
> diff --git a/configure b/configure
> index 013308c..9a78bae 100755
> --- a/configure
> +++ b/configure
> @@ -294,6 +294,7 @@ External library support:
>--enable-opengl  enable OpenGL rendering [no]
>--enable-openssl enable openssl, needed for https support
> if gnutls or libtls is not used [no]
> +  --enable-opensrt enable Haivision Open SRT protocol [no]
>--disable-sndio  disable sndio support [autodetect]
>--disable-schannel   disable SChannel SSP, needed for TLS support on
> Windows if openssl and gnutls are not used
> [autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
>  mediacodec
>  openal
>  opengl
> +opensrt

there is something wrong with newlines
this patch is corrupted and cannot be tested or applied

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Rewriting code that is poorly written but fully understood is good.
Rewriting code that one doesnt understand is a sign that one is less smart
then the original author, trying to rewrite it will not make it better.


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-21 Thread Sven Dueking
protocol requires libsrt (https://github.com/Haivision/srt) to be installed

Signed-off-by: Sven Dueking 
---
 MAINTAINERS |   1 +
 configure   |   5 +
 doc/protocols.texi  | 134 ++-
 libavformat/Makefile|   1 +
 libavformat/opensrt.c   | 589

 libavformat/protocols.c |   1 +
 6 files changed, 730 insertions(+), 1 deletion(-)  create mode 100644
libavformat/opensrt.c

diff --git a/MAINTAINERS b/MAINTAINERS
index b691bd5..3e0355a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -499,6 +499,7 @@ Protocols:
   http.cRonald S. Bultje
   libssh.c  Lukasz Marek
   mms*.cRonald S. Bultje
+  opensrt.c sven Dueking
   udp.c Luca Abeni
   icecast.c Marvin Scholz
 
diff --git a/configure b/configure
index 013308c..9a78bae 100755
--- a/configure
+++ b/configure
@@ -294,6 +294,7 @@ External library support:
   --enable-opengl  enable OpenGL rendering [no]
   --enable-openssl enable openssl, needed for https support
if gnutls or libtls is not used [no]
+  --enable-opensrt enable Haivision Open SRT protocol [no]
   --disable-sndio  disable sndio support [autodetect]
   --disable-schannel   disable SChannel SSP, needed for TLS support on
Windows if openssl and gnutls are not used
[autodetect] @@ -1648,6 +1649,7 @@ EXTERNAL_LIBRARY_LIST="
 mediacodec
 openal
 opengl
+opensrt
 "
 
 HWACCEL_AUTODETECT_LIBRARY_LIST="
@@ -3157,6 +3159,8 @@ libssh_protocol_deps="libssh"
 libtls_conflict="openssl gnutls"
 mmsh_protocol_select="http_protocol"
 mmst_protocol_select="network"
+opensrt_protocol_select="network"
+opensrt_protocol_deps="opensrt"
 rtmp_protocol_conflict="librtmp_protocol"
 rtmp_protocol_select="tcp_protocol"
 rtmp_protocol_suggest="zlib"
@@ -6028,6 +6032,7 @@ enabled omx   && require_header OMX_Core.h
 enabled omx_rpi   && { check_header OMX_Core.h ||
{ ! enabled cross_compile && add_cflags
-isystem/opt/vc/include/IL && check_header OMX_Core.h ; } ||
die "ERROR: OpenMAX IL headers not found"; }
&& enable omx
+enabled opensrt   && require_pkg_config libsrt "srt >= 1.2.0"
srt/srt.h srt_socket
 enabled openssl   && { check_pkg_config openssl openssl
openssl/ssl.h OPENSSL_init_ssl ||
check_pkg_config openssl openssl
openssl/ssl.h SSL_library_init ||
check_lib openssl openssl/ssl.h
SSL_library_init -lssl -lcrypto || diff --git a/doc/protocols.texi
b/doc/protocols.texi index c24dc74..1d49eaa 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -752,12 +752,144 @@ 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 workgroup is not
specified.
+Set the workgroup used for making connections. By default workgroup is 
+not specified.
 
 @end table
 
 For more information see: @url{http://www.samba.org/}.
 
+@section srt
+
+Haivision Secure Reliable Transport Protocol via libsrt.
+
+The required syntax for a SRT url is:
+@example
+srt://@var{hostname}:@var{port}[?@var{options}]
+@end example
+
+@var{options} contains a list of &-separated options of the form 
+@var{key}=@var{val}.
+
+This protocol accepts the following options.
+
+@table @option
+@item connect_timeout
+Connection timeout. SRT cannot connect for RTT > 1500 msec
+(2 handshake exchanges) with the default connect timeout of
+3 seconds. This option applies to the caller and rendezvous connection 
+modes. The connect timeout is 10 times the value set for the rendezvous 
+mode (which can be used as a workaround for this connection problem 
+with earlier versions).
+
+@item fc=@var{bytes}
+Flight Flag Size (Window Size), in bytes. FC is actually an internal 
+parameter and you should set it to not less than 
+@option{recv_buffer_size} and @option{mss}. The default value is 
+relatively large, therefore unless you set a very large receiver 
+buffer, you do not need to change this option. Default value is 25600.
+
+@item inputbw=@var{bytes/seconds}
+Sender nominal input rate, in bytes per seconds. Used along with 
+@option{oheadbw}, when @option{maxbw} is set to relative (0), to 
+calculate maximum sending rate when recovery packets are sent along 
+with main media stream:
+@option{inputbw} * (100 + @option{oheadbw}) / 100 if @option{inputbw} 
+is not set while @option{maxbw} is set to relative (0), the actual 
+ctual input rate is evaluated inside the library. Default value is 0.
+
+@item iptos=@var{tos}
+IP Type of Service. Applies to sender only. Default value is 0xB8.
+
+@item 

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-12 Thread nablet developer



If you or any other developer is against someone receiving git write access
you only need to object to the patch adding him to the MAINTAINERS file.

Thats one of the reasons why there is a MAINTAINERs file.

It would be ideal IMO if for each part of teh codebase at least one person
with write access cares/"Maintains" it. Is there someone who already has
write access who wants to take care of opensrt.c ?
(it seemed there is little interrest from teh lack of replies in the thread so
far)

Also i belive there already is a developer from nablet who is in the
MAINTAINERs file and has write access.

thanks



thanks for your comments. I am going to send new patch later this week, 
as there are comments

from the Nicolas George to be addressed anyway.
it was your suggestion to edit MAINTAINERs file, so I followed it, but 
now I am disappointed.

so what should I do now?
I see the following options:
1) do not edit MAINTAINERs file (leave it as it was before)
2) add opensrt.c entry for existing maintainer from Nablet (Ivan Uskov 
)
3) change opensrt.c entry to another maintainer from Nablet (Sven 
Dueking )

which one do you prefer/suggest?
if I change maintainer entry, does it imply what patch should be sent 
from maintainer's email and

commit author should also match maintainer's email?
P.S. added file (opensrt.c) doesn't have a Nablet or Haivision copyright 
- it has regular ffmpeg copyright
used across the ffmpeg codebase, so it's not different in that aspect 
from other files, like tcp.c or udp.c.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-11 Thread Nicolas George
Hi.

I had a look at the whole code. There are a few remarks below.

Sorry for the delay, a lot of things on my place these days.

Nablet Developer (2018-01-30):
> protocol requires libsrt (https://github.com/Haivision/srt) to be
> installed
> 
> Signed-off-by: Nablet Developer 
> ---
>  MAINTAINERS |   1 +
>  configure   |   9 +
>  doc/protocols.texi  | 116 +
>  libavformat/Makefile|   1 +
>  libavformat/opensrt.c   | 621 
> 
>  libavformat/protocols.c |   1 +
>  6 files changed, 749 insertions(+)
>  create mode 100644 libavformat/opensrt.c
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ba7a728..0317f24 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -498,6 +498,7 @@ Protocols:
>http.cRonald S. Bultje
>libssh.c  Lukasz Marek
>mms*.cRonald S. Bultje
> +  opensrt.c Nablet Developer
>udp.c Luca Abeni
>icecast.c Marvin Scholz
>  
> diff --git a/configure b/configure
> index fcfa7aa..57705ee 100755
> --- a/configure
> +++ b/configure
> @@ -294,6 +294,7 @@ External library support:
>--enable-opengl  enable OpenGL rendering [no]
>--enable-openssl enable openssl, needed for https support
> if gnutls or libtls is not used [no]
> +  --enable-opensrt enable Haivision Open SRT protocol [no]
>--disable-sndio  disable sndio support [autodetect]
>--disable-schannel   disable SChannel SSP, needed for TLS support on
> Windows if openssl and gnutls are not used 
> [autodetect]
> @@ -1641,6 +1642,7 @@ EXTERNAL_LIBRARY_LIST="
>  mediacodec
>  openal
>  opengl
> +opensrt
>  "
>  
>  HWACCEL_AUTODETECT_LIBRARY_LIST="
> @@ -3148,6 +3150,8 @@ libssh_protocol_deps="libssh"
>  libtls_conflict="openssl gnutls"
>  mmsh_protocol_select="http_protocol"
>  mmst_protocol_select="network"
> +opensrt_protocol_select="network"
> +opensrt_protocol_deps="opensrt"
>  rtmp_protocol_conflict="librtmp_protocol"
>  rtmp_protocol_select="tcp_protocol"
>  rtmp_protocol_suggest="zlib"
> @@ -5986,6 +5990,7 @@ enabled omx   && require_header OMX_Core.h
>  enabled omx_rpi   && { check_header OMX_Core.h ||
> { ! enabled cross_compile && add_cflags 
> -isystem/opt/vc/include/IL && check_header OMX_Core.h ; } ||
> die "ERROR: OpenMAX IL headers not found"; } 
> && enable omx
> +enabled opensrt   && require_pkg_config libsrt "srt >= 1.2.0" 
> srt/srt.h srt_socket
>  enabled openssl   && { check_pkg_config openssl openssl 
> openssl/ssl.h OPENSSL_init_ssl ||
> check_pkg_config openssl openssl 
> openssl/ssl.h SSL_library_init ||
> check_lib openssl openssl/ssl.h 
> SSL_library_init -lssl -lcrypto ||
> @@ -6036,6 +6041,10 @@ if enabled decklink; then
>  esac
>  fi
>  

> +if enabled opensrt; then
> +opensrt_protocol_extralibs="$opensrt_protocol_extralibs -lsrt"
> +fi

This looks suspicious: pkg-config should have added -lsrt automatically.

> +
>  enabled securetransport &&
>  check_func SecIdentityCreate "-Wl,-framework,CoreFoundation 
> -Wl,-framework,Security" &&
>  check_lib securetransport "Security/SecureTransport.h 
> Security/Security.h" "SSLCreateContext" "-Wl,-framework,CoreFoundation 
> -Wl,-framework,Security" ||
> diff --git a/doc/protocols.texi b/doc/protocols.texi
> index 98deb73..2e5e630 100644
> --- a/doc/protocols.texi
> +++ b/doc/protocols.texi
> @@ -755,6 +755,122 @@ Set the workgroup used for making connections. By 
> default workgroup is not speci
>  
>  For more information see: @url{http://www.samba.org/}.
>  
> +@section srt
> +
> +Haivision Secure Reliable Transport Protocol via libsrt.
> +
> +The required syntax for a SRT url is:
> +@example
> +srt://@var{hostname}:@var{port}[?@var{options}]
> +@end example
> +
> +@var{options} contains a list of &-separated options of the form
> +@var{key}=@var{val}.
> +
> +This protocol accepts the following options.
> +
> +@table @option

> +@item conntimeo

Please do not truncate the name.

> +Connection timeout. SRT cannot connect for RTT > 1500 msec
> +(2 handshake exchanges) with the default connect timeout of 3 seconds. This 
> option
> +applies to the caller and rendezvous connection modes. The connect timeout 
> is 10 times
> +the value set for the rendezvous mode (which can be used as a workaround for 
> this
> +connection problem with earlier versions).

Nit: maybe wrap the lines shorter, longer lines are more tiring to read.

> +
> +@item fc=@var{bytes}
> +Flight Flag Size (Window Size), in bytes. FC is actually an internal 
> parameter and
> +you should set it to not less than 

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-09 Thread Michael Niedermayer
On Fri, Feb 09, 2018 at 02:28:41PM +0100, wm4 wrote:
> On Fri, 9 Feb 2018 03:08:26 +0100
> Michael Niedermayer  wrote:
> 
> > On Tue, Jan 30, 2018 at 04:11:03PM -0500, Nablet Developer wrote:
> > > protocol requires libsrt (https://github.com/Haivision/srt) to be
> > > installed
> > > 
> > > Signed-off-by: Nablet Developer 
> > > ---
> > >  MAINTAINERS |   1 +
> > >  configure   |   9 +
> > >  doc/protocols.texi  | 116 +
> > >  libavformat/Makefile|   1 +
> > >  libavformat/opensrt.c   | 621 
> > > 
> > >  libavformat/protocols.c |   1 +
> > >  6 files changed, 749 insertions(+)
> > >  create mode 100644 libavformat/opensrt.c
> > > 
> > > diff --git a/MAINTAINERS b/MAINTAINERS
> > > index ba7a728..0317f24 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -498,6 +498,7 @@ Protocols:
> > >http.cRonald S. Bultje
> > >libssh.c  Lukasz Marek
> > >mms*.cRonald S. Bultje
> > > +  opensrt.c Nablet Developer
> > >udp.c Luca Abeni
> > >icecast.c Marvin Scholz  
> > 
> > Is "Nablet Developer" identifying a single person ?
> > if not this is not ok as the MAINTAINERS files gives one also the right to
> > have git write access and that would not work with a unspecified group
> 
> I'd assume this is under the copyright of that nablet company. I'd
> advise against just giving some drive-by contributor git push
> access (who is probably multiple persons under a single account too). I
> have no idea why you'd even consider that.

If you or any other developer is against someone receiving git write access
you only need to object to the patch adding him to the MAINTAINERS file.

Thats one of the reasons why there is a MAINTAINERs file.

It would be ideal IMO if for each part of teh codebase at least one person 
with write access cares/"Maintains" it. Is there someone who already has
write access who wants to take care of opensrt.c ?
(it seemed there is little interrest from teh lack of replies in the thread so
far)

Also i belive there already is a developer from nablet who is in the
MAINTAINERs file and has write access.

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In a rich man's house there is no place to spit but his face.
-- Diogenes of Sinope


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-09 Thread wm4
On Fri, 9 Feb 2018 03:08:26 +0100
Michael Niedermayer  wrote:

> On Tue, Jan 30, 2018 at 04:11:03PM -0500, Nablet Developer wrote:
> > protocol requires libsrt (https://github.com/Haivision/srt) to be
> > installed
> > 
> > Signed-off-by: Nablet Developer 
> > ---
> >  MAINTAINERS |   1 +
> >  configure   |   9 +
> >  doc/protocols.texi  | 116 +
> >  libavformat/Makefile|   1 +
> >  libavformat/opensrt.c   | 621 
> > 
> >  libavformat/protocols.c |   1 +
> >  6 files changed, 749 insertions(+)
> >  create mode 100644 libavformat/opensrt.c
> > 
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index ba7a728..0317f24 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -498,6 +498,7 @@ Protocols:
> >http.cRonald S. Bultje
> >libssh.c  Lukasz Marek
> >mms*.cRonald S. Bultje
> > +  opensrt.c Nablet Developer
> >udp.c Luca Abeni
> >icecast.c Marvin Scholz  
> 
> Is "Nablet Developer" identifying a single person ?
> if not this is not ok as the MAINTAINERS files gives one also the right to
> have git write access and that would not work with a unspecified group

I'd assume this is under the copyright of that nablet company. I'd
advise against just giving some drive-by contributor git push
access (who is probably multiple persons under a single account too). I
have no idea why you'd even consider that.

Also, the irony of the situation is that the whole diff context in this
patch consists of outdated entries. Ronald basically doesn't care
about HTTP or MMS anymore, Lukasz didn't post here for 2 years, Luca
didn't post here for at least 5 years, and refused my mpv relicensing
request because he has utterly negative memories of ffmpeg & co, and
Marvin didn't post here for about 4 years.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-08 Thread Michael Niedermayer
On Tue, Jan 30, 2018 at 04:11:03PM -0500, Nablet Developer wrote:
> protocol requires libsrt (https://github.com/Haivision/srt) to be
> installed
> 
> Signed-off-by: Nablet Developer 
> ---
>  MAINTAINERS |   1 +
>  configure   |   9 +
>  doc/protocols.texi  | 116 +
>  libavformat/Makefile|   1 +
>  libavformat/opensrt.c   | 621 
> 
>  libavformat/protocols.c |   1 +
>  6 files changed, 749 insertions(+)
>  create mode 100644 libavformat/opensrt.c
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ba7a728..0317f24 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -498,6 +498,7 @@ Protocols:
>http.cRonald S. Bultje
>libssh.c  Lukasz Marek
>mms*.cRonald S. Bultje
> +  opensrt.c Nablet Developer
>udp.c Luca Abeni
>icecast.c Marvin Scholz

Is "Nablet Developer" identifying a single person ?
if not this is not ok as the MAINTAINERS files gives one also the right to
have git write access and that would not work with a unspecified group


[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I am the wisest man alive, for I know one thing, and that is that I know
nothing. -- Socrates


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-02-08 Thread Nablet Developer


On 1/31/2018 4:11 AM, Nablet Developer wrote:

protocol requires libsrt (https://github.com/Haivision/srt) to be
installed

Signed-off-by: Nablet Developer 
---

ping
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-01-30 Thread Nablet Developer
protocol requires libsrt (https://github.com/Haivision/srt) to be
installed

Signed-off-by: Nablet Developer 
---
 MAINTAINERS |   1 +
 configure   |   9 +
 doc/protocols.texi  | 116 +
 libavformat/Makefile|   1 +
 libavformat/opensrt.c   | 621 
 libavformat/protocols.c |   1 +
 6 files changed, 749 insertions(+)
 create mode 100644 libavformat/opensrt.c

diff --git a/MAINTAINERS b/MAINTAINERS
index ba7a728..0317f24 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -498,6 +498,7 @@ Protocols:
   http.cRonald S. Bultje
   libssh.c  Lukasz Marek
   mms*.cRonald S. Bultje
+  opensrt.c Nablet Developer
   udp.c Luca Abeni
   icecast.c Marvin Scholz
 
diff --git a/configure b/configure
index fcfa7aa..57705ee 100755
--- a/configure
+++ b/configure
@@ -294,6 +294,7 @@ External library support:
   --enable-opengl  enable OpenGL rendering [no]
   --enable-openssl enable openssl, needed for https support
if gnutls or libtls is not used [no]
+  --enable-opensrt enable Haivision Open SRT protocol [no]
   --disable-sndio  disable sndio support [autodetect]
   --disable-schannel   disable SChannel SSP, needed for TLS support on
Windows if openssl and gnutls are not used 
[autodetect]
@@ -1641,6 +1642,7 @@ EXTERNAL_LIBRARY_LIST="
 mediacodec
 openal
 opengl
+opensrt
 "
 
 HWACCEL_AUTODETECT_LIBRARY_LIST="
@@ -3148,6 +3150,8 @@ libssh_protocol_deps="libssh"
 libtls_conflict="openssl gnutls"
 mmsh_protocol_select="http_protocol"
 mmst_protocol_select="network"
+opensrt_protocol_select="network"
+opensrt_protocol_deps="opensrt"
 rtmp_protocol_conflict="librtmp_protocol"
 rtmp_protocol_select="tcp_protocol"
 rtmp_protocol_suggest="zlib"
@@ -5986,6 +5990,7 @@ enabled omx   && require_header OMX_Core.h
 enabled omx_rpi   && { check_header OMX_Core.h ||
{ ! enabled cross_compile && add_cflags 
-isystem/opt/vc/include/IL && check_header OMX_Core.h ; } ||
die "ERROR: OpenMAX IL headers not found"; } && 
enable omx
+enabled opensrt   && require_pkg_config libsrt "srt >= 1.2.0" 
srt/srt.h srt_socket
 enabled openssl   && { check_pkg_config openssl openssl openssl/ssl.h 
OPENSSL_init_ssl ||
check_pkg_config openssl openssl openssl/ssl.h 
SSL_library_init ||
check_lib openssl openssl/ssl.h 
SSL_library_init -lssl -lcrypto ||
@@ -6036,6 +6041,10 @@ if enabled decklink; then
 esac
 fi
 
+if enabled opensrt; then
+opensrt_protocol_extralibs="$opensrt_protocol_extralibs -lsrt"
+fi
+
 enabled securetransport &&
 check_func SecIdentityCreate "-Wl,-framework,CoreFoundation 
-Wl,-framework,Security" &&
 check_lib securetransport "Security/SecureTransport.h Security/Security.h" 
"SSLCreateContext" "-Wl,-framework,CoreFoundation -Wl,-framework,Security" ||
diff --git a/doc/protocols.texi b/doc/protocols.texi
index 98deb73..2e5e630 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -755,6 +755,122 @@ Set the workgroup used for making connections. By default 
workgroup is not speci
 
 For more information see: @url{http://www.samba.org/}.
 
+@section srt
+
+Haivision Secure Reliable Transport Protocol via libsrt.
+
+The required syntax for a SRT url is:
+@example
+srt://@var{hostname}:@var{port}[?@var{options}]
+@end example
+
+@var{options} contains a list of &-separated options of the form
+@var{key}=@var{val}.
+
+This protocol accepts the following options.
+
+@table @option
+@item conntimeo
+Connection timeout. SRT cannot connect for RTT > 1500 msec
+(2 handshake exchanges) with the default connect timeout of 3 seconds. This 
option
+applies to the caller and rendezvous connection modes. The connect timeout is 
10 times
+the value set for the rendezvous mode (which can be used as a workaround for 
this
+connection problem with earlier versions).
+
+@item fc=@var{bytes}
+Flight Flag Size (Window Size), in bytes. FC is actually an internal parameter 
and
+you should set it to not less than @option{recv_buffer_size} and @option{mss}.
+The default value is relatively large, therefore unless you set a very large
+receiver buffer, you do not need to change this option. Default value is 25600.
+
+@item inputbw=@var{bytes/seconds}
+Sender nominal input rate, in bytes per seconds. Used along with 
@option{oheadbw},
+when @option{maxbw} is set to relative (0), to calculate maximum sending rate 
when
+recovery packets are sent along with main media stream:
+@option{inputbw} * (100 + @option{oheadbw}) / 100
+if @option{inputbw} is not set while @option{maxbw} is set to relative (0), 

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-01-26 Thread Michael Niedermayer
On Mon, Jan 15, 2018 at 09:02:01AM -0500, Nablet Developer wrote:
> protocol requires libsrt (https://github.com/Haivision/srt) to be
> installed

This overall looks good, a few issues/suggestions i spoted are below:

[...]

> +@table @option
> +@item conntimeo=@var{milliseconds}
> +Connection timeout, in milliseconds. SRT cannot connect for RTT > 1500 msec
> +(2 handshake exchanges) with the default connect timeout of 3 seconds. This 
> option
> +applies to the caller and rendezvous connection modes. The connect timeout 
> is 10 times
> +the value set for the rendezvous mode (which can be used as a workaround for 
> this
> +connection problem with earlier versions).

newly added time based options should be in seconds
the user can achive micro or milli seconds by using suffixes
also see AV_OPT_TYPE_DURATION, it may fit here


> +
> +@item fc=@var{bytes}
> +Flight Flag Size (Window Size), in bytes. FC is actually an internal 
> parameter and
> +you should set it to not less than @option{recv_buffer_size} and 
> @option{mss}.
> +The default value is relatively large, therefore unless you set a very large
> +receiver buffer, you do not need to change this option. Default value is 
> 25600.
> +
> +@item inputbw=@var{bytes/seconds}
> +Sender nominal input rate, in bytes per seconds. Used along with 
> @option{oheadbw},
> +when @option{maxbw} is set to relative (0), to calculate maximum sending 
> rate when
> +recovery packets are sent along with main media stream:
> +@option{inputbw} * (100 + @option{oheadbw}) / 100
> +if @option{inputbw} is not set while @option{maxbw} is set to relative (0), 
> the actual
> +ctual input rate is evaluated inside the library. Default value is 0.
> +
> +@item iptos=@var{tos}
> +IP Type of Service. Applies to sender only. Default value is 0xB8.
> +
> +@item ipttl=@var{ttl}
> +IP Time To Live. Applies to sender only. Default value is 64.
> +
> +@item listen_timeout=@var{milliseconds}
> +Set listen timeout, expressed in milliseconds.
> +
> +@item maxbw=@var{bytes/seconds}
> +Maximum sending bandwidth, in bytes per seconds.
> +-1 infinite (CSRTCC limit is 30mbps)
> +0 relative to input rate (see @option{inputbw})
> +>0 absolute limit value
> +Default value is 0 (relative)
> +

> +@item mode=@var{0|1|2}
> +Connection mode.
> +0 (caller) opens client connection.
> +1 (listener) starts server to listen for incoming connections.
> +2 (rendezvous) use Rendez-Vous connection mode.
> +Default valus is 0 (caller).

This looks like the user would have to use litteral integers
teh code supports the named identifers in brackets directly.


> +
> +@item mss=@var{bytes}
> +Maximum Segment Size, in bytes. Used for buffer allocation and rate 
> calculation using
> +packet counter assuming fully filled packets. The smallest MSS between the 
> peers is
> +used. This is 1500 by default in the overall internet. This is the maximum 
> size of the
> +UDP packet and can be only decreased, unless you have some unusual dedicated 
> network
> +settings. Default value is 1500.
> +
> +@item nakreport=@var{1|0}
> +If set to 1, Receiver will send `UMSG_LOSSREPORT` messages periodically 
> until the
> +lost packet is retransmitted or intentionally dropped. Default value is 1.
> +
> +@item oheadbw=@var{percents}
> +Recovery bandwidth overhead above input rate, in percents. See 
> @option{inputbw}.
> +Default value is 25%.
> +
> +@item passphrase=@var{string}
> +HaiCrypt Encryption/Decryption Passphrase string, length from 10 to 79 
> characters.
> +The passphrase is the shared secret between the sender and the receiver.
> +It is used to generate the Key Encrypting Key using PBKDF2 (Password-Based
> +Key Deriviation Function). It is used only if @option{pbkeylen} is non-zero.
> +t is used on the receiver only if the received data is encrypted.
> +The configured passphrase cannot be get back (write-only).
> +
> +@item pbkeylen=@var{bytes}
> +Sender encryption key length, in bytes. Only can be set to 0, 16, 24 and 32.
> +Enable sender encryption if not 0. Not required on receiver (set to 0),
> +key size obtained from sender in HaiCrypt handshake. Default value is 0.
> +
> +@item recv_buffer_size=@var{bytes}
> +Set receive buffer size, expressed bytes.
> +
> +@item send_buffer_size=@var{bytes}
> +Set send buffer size, expressed bytes.
> +
> +@item timeout=@var{microseconds}
> +Set raise error timeout, expressed in microseconds.
> +
> +This option is only relevant in read mode: if no data arrived in more
> +than this time interval, raise error.
> +
> +@item tlpktdrop=@var{1|0}
> +Too-late Packet Drop. When enabled on receiver, it skips missing packets that
> +have not been delivered in time and deliver the following packets to the 
> application
> +when their time-to-play has come. It also send a fake ACK to sender. When 
> enabled on
> +sender and enabled on the receiving peer, sender drops the older packets 
> that have no
> +chance to be delivered in time. It was automatically enabled in sender if 
> receiver
> 

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-01-24 Thread nablet developer

On 16-Jan-18 09:43, Michael Niedermayer wrote:

if you will maintain this code then you may want to include a
change to the MAINTAINERs file

also does anyone have any more comments on this patch ?
it seems to have not gotten much attention recently. There where
reviews/comments a few months ago but the recent versions received little
attention.
Once/If everyone is done with reviewing/commenting (i assume all requests for
changes have been made?) then it should be applied, thus if i see no more
comments from anyone and spot no obvious issue myself then i will apply
seems like no comments so far. is anything else preventing patch to be 
applied now?

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-01-15 Thread Michael Niedermayer
On Mon, Jan 15, 2018 at 09:02:01AM -0500, Nablet Developer wrote:
> protocol requires libsrt (https://github.com/Haivision/srt) to be
> installed
> 
> Signed-off-by: Nablet Developer 
> ---
>  configure   |   9 +
>  doc/protocols.texi  | 116 +
>  libavformat/Makefile|   1 +
>  libavformat/opensrt.c   | 622 
> 
>  libavformat/protocols.c |   1 +
>  5 files changed, 749 insertions(+)
>  create mode 100644 libavformat/opensrt.c

if you will maintain this code then you may want to include a
change to the MAINTAINERs file

also does anyone have any more comments on this patch ?
it seems to have not gotten much attention recently. There where
reviews/comments a few months ago but the recent versions received little
attention.
Once/If everyone is done with reviewing/commenting (i assume all requests for
changes have been made?) then it should be applied, thus if i see no more
comments from anyone and spot no obvious issue myself then i will apply

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The worst form of inequality is to try to make unequal things equal.
-- Aristotle


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-01-14 Thread Nablet Developer
protocol requires libsrt (https://github.com/Haivision/srt) to be
installed

Signed-off-by: Nablet Developer 
---
 configure   |   9 +
 doc/protocols.texi  | 116 +
 libavformat/Makefile|   1 +
 libavformat/opensrt.c   | 622 
 libavformat/protocols.c |   1 +
 5 files changed, 749 insertions(+)
 create mode 100644 libavformat/opensrt.c

diff --git a/configure b/configure
index 5d53362..8b925a8 100755
--- a/configure
+++ b/configure
@@ -294,6 +294,7 @@ External library support:
   --enable-opengl  enable OpenGL rendering [no]
   --enable-openssl enable openssl, needed for https support
if gnutls or libtls is not used [no]
+  --enable-opensrt enable Haivision Open SRT protocol [no]
   --disable-sndio  disable sndio support [autodetect]
   --disable-schannel   disable SChannel SSP, needed for TLS support on
Windows if openssl and gnutls are not used 
[autodetect]
@@ -1641,6 +1642,7 @@ EXTERNAL_LIBRARY_LIST="
 mediacodec
 openal
 opengl
+opensrt
 "
 
 HWACCEL_AUTODETECT_LIBRARY_LIST="
@@ -3148,6 +3150,8 @@ libssh_protocol_deps="libssh"
 libtls_conflict="openssl gnutls"
 mmsh_protocol_select="http_protocol"
 mmst_protocol_select="network"
+opensrt_protocol_select="network"
+opensrt_protocol_deps="opensrt"
 rtmp_protocol_conflict="librtmp_protocol"
 rtmp_protocol_select="tcp_protocol"
 rtmp_protocol_suggest="zlib"
@@ -5983,6 +5987,7 @@ enabled omx   && require_header OMX_Core.h
 enabled omx_rpi   && { check_header OMX_Core.h ||
{ ! enabled cross_compile && add_cflags 
-isystem/opt/vc/include/IL && check_header OMX_Core.h ; } ||
die "ERROR: OpenMAX IL headers not found"; } && 
enable omx
+enabled opensrt   && require_pkg_config libsrt "srt >= 1.2.0" 
srt/srt.h srt_socket
 enabled openssl   && { check_pkg_config openssl openssl openssl/ssl.h 
OPENSSL_init_ssl ||
check_pkg_config openssl openssl openssl/ssl.h 
SSL_library_init ||
check_lib openssl openssl/ssl.h 
SSL_library_init -lssl -lcrypto ||
@@ -6033,6 +6038,10 @@ if enabled decklink; then
 esac
 fi
 
+if enabled opensrt; then
+opensrt_protocol_extralibs="$opensrt_protocol_extralibs -lsrt"
+fi
+
 enabled securetransport &&
 check_func SecIdentityCreate "-Wl,-framework,CoreFoundation 
-Wl,-framework,Security" &&
 check_lib securetransport "Security/SecureTransport.h Security/Security.h" 
"SSLCreateContext" "-Wl,-framework,CoreFoundation -Wl,-framework,Security" ||
diff --git a/doc/protocols.texi b/doc/protocols.texi
index 98deb73..a923749 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -755,6 +755,122 @@ Set the workgroup used for making connections. By default 
workgroup is not speci
 
 For more information see: @url{http://www.samba.org/}.
 
+@section srt
+
+Haivision Secure Reliable Transport Protocol via libsrt.
+
+The required syntax for a SRT url is:
+@example
+srt://@var{hostname}:@var{port}[?@var{options}]
+@end example
+
+@var{options} contains a list of &-separated options of the form
+@var{key}=@var{val}.
+
+This protocol accepts the following options.
+
+@table @option
+@item conntimeo=@var{milliseconds}
+Connection timeout, in milliseconds. SRT cannot connect for RTT > 1500 msec
+(2 handshake exchanges) with the default connect timeout of 3 seconds. This 
option
+applies to the caller and rendezvous connection modes. The connect timeout is 
10 times
+the value set for the rendezvous mode (which can be used as a workaround for 
this
+connection problem with earlier versions).
+
+@item fc=@var{bytes}
+Flight Flag Size (Window Size), in bytes. FC is actually an internal parameter 
and
+you should set it to not less than @option{recv_buffer_size} and @option{mss}.
+The default value is relatively large, therefore unless you set a very large
+receiver buffer, you do not need to change this option. Default value is 25600.
+
+@item inputbw=@var{bytes/seconds}
+Sender nominal input rate, in bytes per seconds. Used along with 
@option{oheadbw},
+when @option{maxbw} is set to relative (0), to calculate maximum sending rate 
when
+recovery packets are sent along with main media stream:
+@option{inputbw} * (100 + @option{oheadbw}) / 100
+if @option{inputbw} is not set while @option{maxbw} is set to relative (0), 
the actual
+ctual input rate is evaluated inside the library. Default value is 0.
+
+@item iptos=@var{tos}
+IP Type of Service. Applies to sender only. Default value is 0xB8.
+
+@item ipttl=@var{ttl}
+IP Time To Live. Applies to sender only. Default value is 64.
+
+@item listen_timeout=@var{milliseconds}
+Set listen timeout, expressed in milliseconds.
+
+@item maxbw=@var{bytes/seconds}
+Maximum sending bandwidth, in bytes per seconds.
+-1 infinite (CSRTCC limit is 

Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-01-14 Thread Nablet Developer


On 1/13/2018 4:40 AM, Michael Niedermayer wrote:

On Wed, Dec 13, 2017 at 03:31:04PM +0700, Nablet Developer wrote:
[...]
this is commented out ?


yes, looks like leftover, thanks for pointing. will send updated patch soon.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2018-01-12 Thread Michael Niedermayer
On Wed, Dec 13, 2017 at 03:31:04PM +0700, Nablet Developer wrote:
[...]

> @@ -3145,6 +3147,8 @@ libsmbclient_protocol_deps="libsmbclient gplv3"
>  libssh_protocol_deps="libssh"
>  mmsh_protocol_select="http_protocol"
>  mmst_protocol_select="network"
> +opensrt_protocol_select="network"
> +opensrt_protocol_deps="opensrt"
>  rtmp_protocol_conflict="librtmp_protocol"
>  rtmp_protocol_select="tcp_protocol"
>  rtmp_protocol_suggest="zlib"
> @@ -5972,6 +5976,8 @@ enabled omx   && require_header OMX_Core.h
>  enabled omx_rpi   && { check_header OMX_Core.h ||
> { ! enabled cross_compile && add_cflags 
> -isystem/opt/vc/include/IL && check_header OMX_Core.h ; } ||
> die "ERROR: OpenMAX IL headers not found"; } 
> && enable omx
> +#enabled opensrt   && check_lib srt srt/srt.h srt_socket -lsrt

this is commented out ?

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The misfortune of the wise is better than the prosperity of the fool.
-- Epicurus


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avformat/opensrt: add Haivision Open SRT protocol

2017-12-13 Thread Nablet Developer
protocol requires libsrt (https://github.com/Haivision/srt) to be
installed

Signed-off-by: Nablet Developer 
---
 configure   |  10 +
 doc/protocols.texi  | 116 +
 libavformat/Makefile|   1 +
 libavformat/opensrt.c   | 622 
 libavformat/protocols.c |   1 +
 5 files changed, 750 insertions(+)
 create mode 100644 libavformat/opensrt.c

diff --git a/configure b/configure
index d5bbb5b..b26c60f 100755
--- a/configure
+++ b/configure
@@ -293,6 +293,7 @@ External library support:
   --enable-opengl  enable OpenGL rendering [no]
   --enable-openssl enable openssl, needed for https support
if gnutls is not used [no]
+  --enable-opensrt enable Haivision Open SRT protocol [no]
   --disable-sndio  disable sndio support [autodetect]
   --disable-schannel   disable SChannel SSP, needed for TLS support on
Windows if openssl and gnutls are not used 
[autodetect]
@@ -1638,6 +1639,7 @@ EXTERNAL_LIBRARY_LIST="
 mediacodec
 openal
 opengl
+opensrt
 "
 
 HWACCEL_AUTODETECT_LIBRARY_LIST="
@@ -3145,6 +3147,8 @@ libsmbclient_protocol_deps="libsmbclient gplv3"
 libssh_protocol_deps="libssh"
 mmsh_protocol_select="http_protocol"
 mmst_protocol_select="network"
+opensrt_protocol_select="network"
+opensrt_protocol_deps="opensrt"
 rtmp_protocol_conflict="librtmp_protocol"
 rtmp_protocol_select="tcp_protocol"
 rtmp_protocol_suggest="zlib"
@@ -5972,6 +5976,8 @@ enabled omx   && require_header OMX_Core.h
 enabled omx_rpi   && { check_header OMX_Core.h ||
{ ! enabled cross_compile && add_cflags 
-isystem/opt/vc/include/IL && check_header OMX_Core.h ; } ||
die "ERROR: OpenMAX IL headers not found"; } && 
enable omx
+#enabled opensrt   && check_lib srt srt/srt.h srt_socket -lsrt
+enabled opensrt   && require_pkg_config libsrt "srt >= 1.2.0" 
srt/srt.h srt_socket
 enabled openssl   && { check_pkg_config openssl openssl openssl/ssl.h 
OPENSSL_init_ssl ||
check_pkg_config openssl openssl openssl/ssl.h 
SSL_library_init ||
check_lib openssl openssl/ssl.h 
SSL_library_init -lssl -lcrypto ||
@@ -6026,6 +6032,10 @@ if enabled decklink; then
 esac
 fi
 
+if enabled opensrt; then
+opensrt_protocol_extralibs="$opensrt_protocol_extralibs -lsrt"
+fi
+
 enabled securetransport &&
 check_func SecIdentityCreate "-Wl,-framework,CoreFoundation 
-Wl,-framework,Security" &&
 check_lib securetransport "Security/SecureTransport.h Security/Security.h" 
"SSLCreateContext" "-Wl,-framework,CoreFoundation -Wl,-framework,Security" ||
diff --git a/doc/protocols.texi b/doc/protocols.texi
index 8661aea..358366e 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -752,6 +752,122 @@ Set the workgroup used for making connections. By default 
workgroup is not speci
 
 For more information see: @url{http://www.samba.org/}.
 
+@section srt
+
+Haivision Secure Reliable Transport Protocol via libsrt.
+
+The required syntax for a SRT url is:
+@example
+srt://@var{hostname}:@var{port}[?@var{options}]
+@end example
+
+@var{options} contains a list of &-separated options of the form
+@var{key}=@var{val}.
+
+This protocol accepts the following options.
+
+@table @option
+@item conntimeo=@var{milliseconds}
+Connection timeout, in milliseconds. SRT cannot connect for RTT > 1500 msec
+(2 handshake exchanges) with the default connect timeout of 3 seconds. This 
option
+applies to the caller and rendezvous connection modes. The connect timeout is 
10 times
+the value set for the rendezvous mode (which can be used as a workaround for 
this
+connection problem with earlier versions).
+
+@item fc=@var{bytes}
+Flight Flag Size (Window Size), in bytes. FC is actually an internal parameter 
and
+you should set it to not less than @option{recv_buffer_size} and @option{mss}.
+The default value is relatively large, therefore unless you set a very large
+receiver buffer, you do not need to change this option. Default value is 25600.
+
+@item inputbw=@var{bytes/seconds}
+Sender nominal input rate, in bytes per seconds. Used along with 
@option{oheadbw},
+when @option{maxbw} is set to relative (0), to calculate maximum sending rate 
when
+recovery packets are sent along with main media stream:
+@option{inputbw} * (100 + @option{oheadbw}) / 100
+if @option{inputbw} is not set while @option{maxbw} is set to relative (0), 
the actual
+ctual input rate is evaluated inside the library. Default value is 0.
+
+@item iptos=@var{tos}
+IP Type of Service. Applies to sender only. Default value is 0xB8.
+
+@item ipttl=@var{ttl}
+IP Time To Live. Applies to sender only. Default value is 64.
+
+@item listen_timeout=@var{milliseconds}
+Set listen timeout, expressed in milliseconds.
+
+@item maxbw=@var{bytes/seconds}