avio: Mark the old interrupt callback mechanism as deprecated

Prepare for removing it at an upcoming major bump.
pull/2/head
Martin Storsjö 13 years ago committed by Anton Khirnov
parent 40972f7c54
commit 45f511ece7
  1. 10
      libavformat/avio.c
  2. 6
      libavformat/avio.h
  3. 3
      libavformat/version.h

@ -83,9 +83,11 @@ const AVClass ffurl_context_class = {
}; };
/*@}*/ /*@}*/
static int default_interrupt_cb(void);
#if FF_API_OLD_INTERRUPT_CB
static int default_interrupt_cb(void);
int (*url_interrupt_cb)(void) = default_interrupt_cb; int (*url_interrupt_cb)(void) = default_interrupt_cb;
#endif
#if FF_API_OLD_AVIO #if FF_API_OLD_AVIO
URLProtocol *av_protocol_next(URLProtocol *p) URLProtocol *av_protocol_next(URLProtocol *p)
@ -441,6 +443,7 @@ int ffurl_get_file_handle(URLContext *h)
return h->prot->url_get_file_handle(h); return h->prot->url_get_file_handle(h);
} }
#if FF_API_OLD_INTERRUPT_CB
static int default_interrupt_cb(void) static int default_interrupt_cb(void)
{ {
return 0; return 0;
@ -452,13 +455,18 @@ void avio_set_interrupt_cb(int (*interrupt_cb)(void))
interrupt_cb = default_interrupt_cb; interrupt_cb = default_interrupt_cb;
url_interrupt_cb = interrupt_cb; url_interrupt_cb = interrupt_cb;
} }
#endif
int ff_check_interrupt(AVIOInterruptCB *cb) int ff_check_interrupt(AVIOInterruptCB *cb)
{ {
int ret; int ret;
if (cb && cb->callback && (ret = cb->callback(cb->opaque))) if (cb && cb->callback && (ret = cb->callback(cb->opaque)))
return ret; return ret;
#if FF_API_OLD_INTERRUPT_CB
return url_interrupt_cb(); return url_interrupt_cb();
#else
return 0;
#endif
} }
#if FF_API_OLD_AVIO #if FF_API_OLD_AVIO

@ -389,13 +389,17 @@ attribute_deprecated int url_exist(const char *url);
*/ */
int avio_check(const char *url, int flags); int avio_check(const char *url, int flags);
#if FF_API_OLD_INTERRUPT_CB
/** /**
* The callback is called in blocking functions to test regulary if * The callback is called in blocking functions to test regulary if
* asynchronous interruption is needed. AVERROR_EXIT is returned * asynchronous interruption is needed. AVERROR_EXIT is returned
* in this case by the interrupted function. 'NULL' means no interrupt * in this case by the interrupted function. 'NULL' means no interrupt
* callback is given. * callback is given.
* @deprecated Use interrupt_callback in AVFormatContext/avio_open2
* instead.
*/ */
void avio_set_interrupt_cb(int (*interrupt_cb)(void)); attribute_deprecated void avio_set_interrupt_cb(int (*interrupt_cb)(void));
#endif
/** /**
* Allocate and initialize an AVIOContext for buffered I/O. It must be later * Allocate and initialize an AVIOContext for buffered I/O. It must be later

@ -110,5 +110,8 @@
#ifndef FF_API_REORDER_PRIVATE #ifndef FF_API_REORDER_PRIVATE
#define FF_API_REORDER_PRIVATE (LIBAVFORMAT_VERSION_MAJOR < 54) #define FF_API_REORDER_PRIVATE (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif #endif
#ifndef FF_API_OLD_INTERRUPT_CB
#define FF_API_OLD_INTERRUPT_CB (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#endif /* AVFORMAT_VERSION_H */ #endif /* AVFORMAT_VERSION_H */

Loading…
Cancel
Save