diff mbox

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

Message ID CADxeRwmgqp1A6BZcfRH0ebsZ9+PFQ0j7dz3frb+2jL_ZnVgnUA@mail.gmail.com
State Superseded
Headers show

Commit Message

Steven Liu Oct. 9, 2016, 11:18 a.m. UTC
2016-10-09 19:00 GMT+08:00 Michael Niedermayer <michael@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@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@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>

paste patch context to test patchwork pick up.


Signed-off-by: Steven Liu <lingjiujianke@gmail.com>
---
 libavformat/udp.c     | 19 ++++++++++++++++++-
 libavformat/version.h |  3 +++
 2 files changed, 21 insertions(+), 1 deletion(-)

Comments

Steven Liu Oct. 9, 2016, 11:27 a.m. UTC | #1
2016-10-09 19:18 GMT+08:00 Steven Liu <lingjiujianke@gmail.com>:

>
>
> 2016-10-09 19:00 GMT+08:00 Michael Niedermayer <michael@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@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@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>>
>
> paste patch context to test patchwork pick up.
>
>
> Signed-off-by: Steven Liu <lingjiujianke@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.
Michael Niedermayer Oct. 9, 2016, 11:54 a.m. UTC | #2
On Sun, Oct 09, 2016 at 07:18:48PM +0800, Steven Liu wrote:
> 2016-10-09 19:00 GMT+08:00 Michael Niedermayer <michael@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@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@ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> >
> 
> paste patch context to test patchwork pick up.
> 
> 
> Signed-off-by: Steven Liu <lingjiujianke@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 },

this is corruptd by newlines

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

> On Sun, Oct 09, 2016 at 07:18:48PM +0800, Steven Liu wrote:
> > 2016-10-09 19:00 GMT+08:00 Michael Niedermayer <michael@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@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: 9FF2128B147EF6730BADF133611EC7
> 87040B0FAB
> > >
> > > 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@ffmpeg.org
> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > >
> > >
> >
> > paste patch context to test patchwork pick up.
> >
> >
> > Signed-off-by: Steven Liu <lingjiujianke@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 },
>
> this is corruptd by newlines
>

I promise there have no newline, the captrue picture is atteched.

>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> I have often repented speaking, but never of holding my tongue.
> -- Xenocrates
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
Nicolas George Oct. 9, 2016, 12:19 p.m. UTC | #4
L'octidi 18 vendémiaire, an CCXXV, Steven Liu a écrit :
> I promise there have no newline, the captrue picture is atteched.

You can see for yourself there are:
http://ffmpeg.org/pipermail/ffmpeg-devel/2016-October/200799.html

Your MUA is lying to you.

Also, why do you send JPEG screenshots disguised as PNGs?

Regards,
Steven Liu Oct. 9, 2016, 12:19 p.m. UTC | #5
2016-10-09 20:09 GMT+08:00 Steven Liu <lingjiujianke@gmail.com>:

>
>
> 2016-10-09 19:54 GMT+08:00 Michael Niedermayer <michael@niedermayer.cc>:
>
>> On Sun, Oct 09, 2016 at 07:18:48PM +0800, Steven Liu wrote:
>> > 2016-10-09 19:00 GMT+08:00 Michael Niedermayer <michael@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@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: 9FF2128B147EF6730BADF133611EC7
>> 87040B0FAB
>> > >
>> > > 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@ffmpeg.org
>> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> > >
>> > >
>> >
>> > paste patch context to test patchwork pick up.
>> >
>> >
>> > Signed-off-by: Steven Liu <lingjiujianke@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 },
>>
>> this is corruptd by newlines
>>
>
> I promise there have no newline, the captrue picture is atteched.
>
>>
>> [...]
>> --
>> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>>
>> I have often repented speaking, but never of holding my tongue.
>> -- Xenocrates
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>>
>
I have a question:

the patch is maked by command "git format-patch -s -1", but the patchwork
can not pick up it,
my git version is:

localhost:ffmpeg StevenLiu$ git version
git version 2.8.4 (Apple Git-73)
localhost:ffmpeg StevenLiu$
Steven Liu Oct. 9, 2016, 12:22 p.m. UTC | #6
2016-10-09 20:19 GMT+08:00 Nicolas George <george@nsup.org>:

> L'octidi 18 vendémiaire, an CCXXV, Steven Liu a écrit :
> > I promise there have no newline, the captrue picture is atteched.
>
> You can see for yourself there are:
> http://ffmpeg.org/pipermail/ffmpeg-devel/2016-October/200799.html
>
> Your MUA is lying to you.
>
Thanks, let me try again.


>
> Also, why do you send JPEG screenshots disguised as PNGs?
>
Perhaps this is my screenshots tools problem.  This is a mistake.

>
> Regards,
>
> --
>   Nicolas George
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
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