[FFmpeg-devel] [PATCH] rtsp: rename certain options after a deprecation period

Michael Niedermayer michael at niedermayer.cc
Thu Jan 25 22:17:54 EET 2018


On Thu, Jan 25, 2018 at 08:54:51PM +0100, wm4 wrote:
> On Thu, 25 Jan 2018 20:46:13 +0100
> Michael Niedermayer <michael at niedermayer.cc> wrote:
> 
> > On Thu, Jan 25, 2018 at 07:00:43PM +0100, wm4 wrote:
> > > The names inherently clash with the meanings of the HTTP libavformat
> > > protocol options. Rename them after a deprecation period to make them
> > > compatible with the HTTP ones.
> > > ---
> > > I see no better way that wouldn't require more effort than justified.
> > > The incompatible semantics of the "timeout" option while still clashing
> > > with the HTTP one caused major problems to me as API user, and I'm
> > > hoping that this will solve itself in 2 years.
> > > ---
> > >  doc/APIchanges        | 5 +++++
> > >  libavformat/rtsp.c    | 9 +++++++++
> > >  libavformat/version.h | 5 ++++-
> > >  3 files changed, 18 insertions(+), 1 deletion(-)  
> > 
> > Make sure all newly added options are in standard SI units
> > that is seconds (not micro seconds for example)
> 
> 1. you can not use seconds if the option type is int because that would
>    not be fine grained enough
> 2. HTTP already uses microseconds and the whole point is making this
>    compatible with the HTTP impl. (as it establishes sort of a standard
>    being the most used protocol other than file)
> 3. Microsecond actually counts as SI unit
> 4. I'm not going to change the HTTP impl. as that would be a much
>    larger and intrusive change and would not solve the RTSP problem
>    either

if the user specifies "-whatever_timeout 500m" That should consistently be
interpreted as 500 milli seconds.
All new code should follow this consistently

The user always provides a string never an integer. That is parsed, it can
be parsed into a double representing seconds, or an integer representing 
micro/nano/milli/whatever.

If you want to use an integer there are many ways to achive this, adding
a
AV_OPT_TYPE_TIMEOUT with int64 in nano seconds would be one. Using a
double in seconds would be much easier though

If you do not want to change http, you can leave that to someone else
iam not asking you to do any extra work, just that we move toward
having timeouts handled consistently

thanks

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

Republics decline into democracies and democracies degenerate into
despotisms. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180125/c0602e28/attachment.sig>


More information about the ffmpeg-devel mailing list