Message ID | 20161010025051.8160-1-lq@chinaffmpeg.org |
---|---|
State | Superseded |
Headers | show |
ping 2016-10-10 10:50 GMT+08:00 Steven Liu <lq@chinaffmpeg.org>: > > Signed-off-by: Steven Liu <lq@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. > > +@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..71c03ef 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 < 59) > +#endif > > #ifndef FF_API_R_FRAME_RATE > #define FF_API_R_FRAME_RATE 1 > -- > 1.7.1 > > > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >
On 10/10/2016 03:50, Steven Liu wrote: > > Signed-off-by: Steven Liu <lq@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. > > +@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"); is deprecated > + 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"); again > + s->local_port = s->local_port_deprecated; > + } > +#endif > return s->local_port; > } > > diff --git a/libavformat/version.h b/libavformat/version.h > index 92801b4..71c03ef 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 < 59) > +#endif > > #ifndef FF_API_R_FRAME_RATE > #define FF_API_R_FRAME_RATE 1 > Other than that LGTM, no need for two options which do the same thing.
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. +@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..71c03ef 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 < 59) +#endif #ifndef FF_API_R_FRAME_RATE #define FF_API_R_FRAME_RATE 1
Signed-off-by: Steven Liu <lq@chinaffmpeg.org> --- doc/protocols.texi | 3 +++ libavformat/udp.c | 19 ++++++++++++++++++- libavformat/version.h | 3 +++ 3 files changed, 24 insertions(+), 1 deletions(-)