> 在 2016年10月10日,上午10:30,Steven Liu <lingjiujia...@gmail.com> 写道: > > 2016-10-10 10:27 GMT+08:00 James Almer <jamr...@gmail.com>: > >> On 10/9/2016 11:24 PM, Steven Liu wrote: >>> >>> Signed-off-by: Steven Liu <l...@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..8606efe 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 < 68) >> >> 59 is enough. Major bumps usually take place once per year or so, and >> > Ok, Change to 59 > Thanks > >> deprecated features are normally removed after two years. >> >>> +#endif >>> >>> #ifndef FF_API_R_FRAME_RATE >>> #define FF_API_R_FRAME_RATE 1 >>> >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel patch update
0001-avformat-udp-deprecate-local_port-option.patch
Description: Binary data
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel