Hi,
this patchset implements:
1) New per-AVFormatContext/URLContext API for interrupt callbacks by
Martin.
2) Passing options from AVFormatContext or AVIOContext to protocols by
me. This will start working after the next major bump, because it needs
an AVClass to be added to the beginning of AVIOContext. You can
decrement FF_API_OLD_AVIO in libavformat/version.h to test it locally
(which will break avserver, we should fix that sometime).
The patchset is combined, because both features need to add a parameter
to avio_open().
Please comment.
Anton Khirnov (8):
AVOptions: don't return an invalid option when option list is empty
tls: use AVIO_FLAG_NONBLOCK instead of deprecated URL_FLAG_NONBLOCK
http: use different classes for http and https.
http: add encoding flag to chunksize option
crypto: add decoding flag to options.
avio: add and use ffurl_protocol_next().
avio: add support for passing options to protocols.
lavf: pass options from AVFormatContext to avio.
Martin Storsjö (10):
avio: Add AVIOInterruptCB
avio: Add an internal utility function for checking the new interrupt
callback
avformat: Use ff_check_interrupt
avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_alloc
avformat: Pass the interrupt callback on to chained muxers/demuxers
avio: add avio_open2, taking an interrupt callback and options
avformat: Use avio_open2, pass the AVFormatContext interrupt_callback
onwards
avconv: Set new interrupt callbacks for all AVFormatContexts, use
avio_open2() everywhere
avplay: Set the new interrupt callback
avio: Mark the old interrupt callback mechanism as deprecated
avconv.c | 24 +++++---
avplay.c | 5 +-
libavformat/applehttp.c | 19 +++++--
libavformat/applehttpproto.c | 10 ++--
libavformat/avformat.h | 11 ++++
libavformat/avio.c | 119 +++++++++++++++++++++++++++++++----------
libavformat/avio.h | 59 ++++++++++++++++++++-
libavformat/avio_internal.h | 4 ++
libavformat/aviobuf.c | 39 +++++++++++++-
libavformat/concat.c | 3 +-
libavformat/crypto.c | 8 ++-
libavformat/gopher.c | 3 +-
libavformat/http.c | 24 +++++---
libavformat/img2.c | 6 ++-
libavformat/md5proto.c | 3 +-
libavformat/mmsh.c | 10 ++--
libavformat/mmst.c | 3 +-
libavformat/mov.c | 7 ++-
libavformat/options.c | 17 +++++-
libavformat/rtmpproto.c | 3 +-
libavformat/rtpenc_chain.c | 2 +
libavformat/rtpproto.c | 6 +-
libavformat/rtsp.c | 27 ++++++----
libavformat/sapdec.c | 4 +-
libavformat/sapenc.c | 5 +-
libavformat/tcp.c | 4 +-
libavformat/tls.c | 7 ++-
libavformat/url.h | 45 +++++++++++++++-
libavformat/utils.c | 9 ++--
libavformat/version.h | 3 +
libavutil/opt.c | 7 ++-
31 files changed, 384 insertions(+), 112 deletions(-)
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel