[FFmpeg-devel] [PATCH] avformat/udp: deprecate local_port option
Steven Liu
lq at chinaffmpeg.org
Mon Oct 10 05:50:51 EEST 2016
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..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
More information about the ffmpeg-devel
mailing list