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

Steven Liu lingjiujianke at gmail.com
Sun Oct 9 14:27:41 EEST 2016


2016-10-09 19:18 GMT+08:00 Steven Liu <lingjiujianke at gmail.com>:

>
>
> 2016-10-09 19:00 GMT+08:00 Michael Niedermayer <michael at niedermayer.cc>:
>
>> On Sat, Oct 08, 2016 at 03:35:02PM +0800, Steven Liu wrote:
>> >
>>
>> >  udp.c     |   19 ++++++++++++++++++-
>> >  version.h |    3 +++
>> >  2 files changed, 21 insertions(+), 1 deletion(-)
>> > bf9c64b4a0fd9a1d998c11376c5c5c2a90389caf
>> 0001-avformat-udp-deprecate-local_port-option.patch
>> > From 16a41c1e76fef082bf2a7238f940968238f573d5 Mon Sep 17 00:00:00 2001
>> > From: Steven Liu <lingjiujianke at gmail.com>
>> > Date: Sat, 8 Oct 2016 15:31:25 +0800
>> > Subject: [PATCH] avformat/udp: deprecate local_port option
>>
>> patchwork fails to pick up your recent patches
>> see: https://patchwork.ffmpeg.org/project/ffmpeg/list/?submitter=
>> 23&state=%2A&archive=both
>>
>> probably because "Type: application/octet-stream"
>> (this is the wrong mime type for patches)
>>
>> [...]
>>
>> --
>> 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 at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>>
>
> paste patch context to test patchwork pick up.
>
>
> Signed-off-by: Steven Liu <lingjiujianke at gmail.com>
> ---
>  libavformat/udp.c     | 19 ++++++++++++++++++-
>  libavformat/version.h |  3 +++
>  2 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/udp.c b/libavformat/udp.c
> index 3835f98..fd400c6 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 is 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 is 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..35cfc3b 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 < 58)
> +#endif
>
>  #ifndef FF_API_R_FRAME_RATE
>  #define FF_API_R_FRAME_RATE            1
> --
> 2.8.4 (Apple Git-73)
>
> Aha, :-D It's ok now.


More information about the ffmpeg-devel mailing list