diff mbox

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

Message ID 20161009154808.7119-1-lq@chinaffmpeg.org
State Superseded
Headers show

Commit Message

Liu Steven Oct. 9, 2016, 3:48 p.m. UTC
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
---
 libavformat/udp.c     | 19 ++++++++++++++++++-
 libavformat/version.h |  3 +++
 2 files changed, 21 insertions(+), 1 deletion(-)

Comments

Steven Liu Oct. 9, 2016, 3:51 p.m. UTC | #1
ok, this is sent by git send-email :)
there have no newline ,and i'll always use git send-email to send patch


2016-10-09 23:48 GMT+08:00 Steven Liu <lq@chinaffmpeg.org>:

> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
> ---
>  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.10.1.382.ga23ca1b.dirty
>
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
Michael Niedermayer Oct. 9, 2016, 6:11 p.m. UTC | #2
On Sun, Oct 09, 2016 at 11:48:08PM +0800, Steven Liu wrote:
> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
> ---
>  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

i think this should be kept for quite a bit longer
only my oppinion

[...]
Steven Liu Oct. 9, 2016, 9:53 p.m. UTC | #3
2016-10-10 2:11 GMT+08:00 Michael Niedermayer <michael@niedermayer.cc>:

> On Sun, Oct 09, 2016 at 11:48:08PM +0800, Steven Liu wrote:
> > Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
> > ---
> >  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
>
> i think this should be kept for quite a bit longer
> only my oppinion

The local_port is duplicate to localport.
Perhaps we need choose one of them.
Will increase users if it kept longer, then deprecated it will damage more
user.
So i think, one version of the cycle maybe better.

>
>
[...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> You can kill me, but you cannot change the truth.
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
Steven Liu Oct. 10, 2016, 12:52 a.m. UTC | #4
2016-10-10 5:53 GMT+08:00 Steven Liu <lingjiujianke@gmail.com>:

>
>
> 2016-10-10 2:11 GMT+08:00 Michael Niedermayer <michael@niedermayer.cc>:
>
>> On Sun, Oct 09, 2016 at 11:48:08PM +0800, Steven Liu wrote:
>> > Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
>> > ---
>> >  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
>>
>> i think this should be kept for quite a bit longer
>> only my oppinion
>
> The local_port is duplicate to localport.
> Perhaps we need choose one of them.
> Will increase users if it kept longer, then deprecated it will damage more
> user.
> So i think, one version of the cycle maybe better.
>
>>
>>
> [...]
>> --
>> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>>
>> You can kill me, but you cannot change the truth.
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>>
>
Okay, i see, ignore this patch please!
diff mbox

Patch

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