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

Mike Goins midicase at gmail.com
Fri Mar 9 07:44:59 EET 2018


On Thu, Mar 8, 2018 at 7:55 PM, Michael Niedermayer
<michael at 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-bounces at 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:sven at 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-bounces at 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.dueking at 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.c                                Ronald S. Bultje
> > > > > >    libssh.c                              Lukasz Marek
> > > > > >    mms*.c                                Ronald 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)


Just a cursory glance at the moment, I can functionally test tomorrow
(pretty familiar with SRT).

+    { "timeout",        "set timeout of socket I/O operations",
                          OFFSET(rw_timeout),
AV_OPT_TYPE_DURATION, { .i64 = -1 }, -1, INT_MAX,   .flags = D|E },
+    { "listen_timeout", "Connection awaiting timeout",
                          OFFSET(listen_timeout),
AV_OPT_TYPE_DURATION, { .i64 = -1 }, -1, INT_MAX,   .flags = D|E },

Is there guidance for option descriptions?  The capitalization is inconsistent.

+    { "mss",            "the Maximum Transfer Unit",
                          OFFSET(mss),              AV_OPT_TYPE_INT,
   { .i64 = -1 }, -1, 1500,      .flags = D|E },

mss -> maximum segment size?  Not sure why this is different than the
protocols.texi

+    { "connect_timeout", "Connect timeout. Ccaller default: 3000,
rendezvous (x 10)",           OFFSET(connect_timeout),
AV_OPT_TYPE_DURATION, { .i64 = -1 }, -1, INT64_MAX, .flags = D|E },

Spelling.


SRT has a dependency on openssl.  Not sure how that is accounted for
in the build/link process.



> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> While the State exists there can be no freedom; when there is freedom there
> will be no State. -- Vladimir Lenin
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list