[FFmpeg-devel] [PATCH] avformat/udp: deprecate local_port option

刘歧 lq at chinaffmpeg.org
Mon Oct 10 05:36:21 EEST 2016


> 在 2016年10月10日,上午10:30,Steven Liu <lingjiujianke at gmail.com> 写道:
> 
> 2016-10-10 10:27 GMT+08:00 James Almer <jamrial at gmail.com>:
> 
>> On 10/9/2016 11:24 PM, Steven Liu wrote:
>>> 
>>> Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
>>> ---
>>> doc/protocols.texi    |    3 +++
>>> libavformat/udp.c     |   19 ++++++++++++++++++-
>>> libavformat/version.h |    3 +++
>>> 3 files changed, 24 insertions(+), 1 deletions(-)
>>> 
>>> diff --git a/doc/protocols.texi b/doc/protocols.texi
>>> index 3abc5f3..85a3f56 100644
>>> --- a/doc/protocols.texi
>>> +++ b/doc/protocols.texi
>>> @@ -1304,6 +1304,9 @@ input has enough packets to sustain it.
>>> When using @var{bitrate} this specifies the maximum number of bits in
>>> packet bursts.
>>> 
>>> + at item local_port=@var{port}
>>> +This is a deprecated option, you can use localport instead it.
>>> +
>>> @item localport=@var{port}
>>> Override the local UDP port to bind with.
>>> 
>>> diff --git a/libavformat/udp.c b/libavformat/udp.c
>>> index 3835f98..af06b89 100644
>>> --- a/libavformat/udp.c
>>> +++ b/libavformat/udp.c
>>> @@ -86,6 +86,9 @@ typedef struct UDPContext {
>>>     int pkt_size;
>>>     int is_multicast;
>>>     int is_broadcast;
>>> +#if FF_API_UDP_LOCAL_PORT
>>> +    int local_port_deprecated;
>>> +#endif
>>>     int local_port;
>>>     int reuse_socket;
>>>     int overrun_nonfatal;
>>> @@ -123,7 +126,9 @@ static const AVOption options[] = {
>>>     { "bitrate",        "Bits to send per second",
>>   OFFSET(bitrate),        AV_OPT_TYPE_INT64,  { .i64 = 0  },     0,
>> INT64_MAX, .flags = E },
>>>     { "burst_bits",     "Max length of bursts in bits (when using
>> bitrate)", OFFSET(burst_bits),   AV_OPT_TYPE_INT64,  { .i64 = 0  },     0,
>> INT64_MAX, .flags = E },
>>>     { "localport",      "Local port",
>>    OFFSET(local_port),     AV_OPT_TYPE_INT,    { .i64 = -1 },    -1,
>> INT_MAX, D|E },
>>> -    { "local_port",     "Local port",
>>    OFFSET(local_port),     AV_OPT_TYPE_INT,    { .i64 = -1 },    -1,
>> INT_MAX, .flags = D|E },
>>> +#if FF_API_UDP_LOCAL_PORT
>>> +    { "local_port",     "Local port",
>>    OFFSET(local_port_deprecated),     AV_OPT_TYPE_INT,    { .i64 = -1 },
>>  -1, INT_MAX, .flags = D|E },
>>> +#endif
>>>     { "localaddr",      "Local address",
>>   OFFSET(localaddr),      AV_OPT_TYPE_STRING, { .str = NULL },
>>   .flags = D|E },
>>>     { "udplite_coverage", "choose UDPLite head size which should be
>> validated by checksum", OFFSET(udplite_coverage), AV_OPT_TYPE_INT, {.i64 =
>> 0}, 0, INT_MAX, D|E },
>>>     { "pkt_size",       "Maximum UDP packet size",
>>   OFFSET(pkt_size),       AV_OPT_TYPE_INT,    { .i64 = 1472 },  -1,
>> INT_MAX, .flags = D|E },
>>> @@ -377,6 +382,12 @@ static int udp_socket_create(URLContext *h, struct
>> sockaddr_storage *addr,
>>> 
>>>     if (((struct sockaddr *) &s->dest_addr)->sa_family)
>>>         family = ((struct sockaddr *) &s->dest_addr)->sa_family;
>>> +#if FF_API_UDP_LOCAL_PORT
>>> +    if (s->local_port_deprecated >= 0) {
>>> +        av_log(s, AV_LOG_WARNING, "the local_port option will be
>> deprecated, please use localport option\n");
>>> +        s->local_port = s->local_port_deprecated;
>>> +    }
>>> +#endif
>>>     res0 = udp_resolve_host(h, (localaddr && localaddr[0]) ? localaddr
>> : NULL,
>>>                             s->local_port,
>>>                             SOCK_DGRAM, family, AI_PASSIVE);
>>> @@ -481,6 +492,12 @@ int ff_udp_set_remote_url(URLContext *h, const
>> char *uri)
>>> int ff_udp_get_local_port(URLContext *h)
>>> {
>>>     UDPContext *s = h->priv_data;
>>> +#if FF_API_UDP_LOCAL_PORT
>>> +    if (s->local_port_deprecated >= 0) {
>>> +        av_log(s, AV_LOG_WARNING, "the local_port option will be
>> deprecated, please use localport option\n");
>>> +        s->local_port = s->local_port_deprecated;
>>> +    }
>>> +#endif
>>>     return s->local_port;
>>> }
>>> 
>>> diff --git a/libavformat/version.h b/libavformat/version.h
>>> index 92801b4..8606efe 100644
>>> --- a/libavformat/version.h
>>> +++ b/libavformat/version.h
>>> @@ -85,6 +85,9 @@
>>> #ifndef FF_API_HTTP_USER_AGENT
>>> #define FF_API_HTTP_USER_AGENT          (LIBAVFORMAT_VERSION_MAJOR < 58)
>>> #endif
>>> +#ifndef FF_API_UDP_LOCAL_PORT
>>> +#define FF_API_UDP_LOCAL_PORT           (LIBAVFORMAT_VERSION_MAJOR < 68)
>> 
>> 59 is enough. Major bumps usually take place once per year or so, and
>> 
> Ok, Change to 59
> Thanks
> 
>> deprecated features are normally removed after two years.
>> 
>>> +#endif
>>> 
>>> #ifndef FF_API_R_FRAME_RATE
>>> #define FF_API_R_FRAME_RATE            1
>>> 
>> 
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
patch update
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-avformat-udp-deprecate-local_port-option.patch
Type: application/octet-stream
Size: 4252 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20161010/8524486e/attachment.obj>
-------------- next part --------------




More information about the ffmpeg-devel mailing list