Add AVClass to URLContext at next major version bump

Patch by Björn Axelsson (bjorn axelsson intinor se)

Originally committed as revision 12411 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Björn Axelsson 17 years ago committed by Robert Swain
parent 7ce6892373
commit 5acef35f57
  1. 19
      libavformat/avio.c
  2. 3
      libavformat/avio.h

@ -20,6 +20,22 @@
*/
#include "avformat.h"
#include "avstring.h"
#include "opt.h"
#if LIBAVFORMAT_VERSION_MAJOR >= 53
/** @name Logging context. */
/*@{*/
static const char *urlcontext_to_name(void *ptr)
{
URLContext *h = (URLContext *)ptr;
if(h->prot) return h->prot->name;
else return "NULL";
}
static const AVOption options[] = {{NULL}};
static const AVClass urlcontext_class =
{ "URLContext", urlcontext_to_name, options };
/*@}*/
#endif
static int default_interrupt_cb(void);
@ -82,6 +98,9 @@ int url_open(URLContext **puc, const char *filename, int flags)
err = AVERROR(ENOMEM);
goto fail;
}
#if LIBAVFORMAT_VERSION_MAJOR >= 53
uc->av_class = &urlcontext_class;
#endif
uc->filename = (char *) &uc[1];
strcpy(uc->filename, filename);
uc->prot = up;

@ -37,6 +37,9 @@ typedef int64_t offset_t;
* sizeof(URLContext) must not be used outside libav*.
*/
struct URLContext {
#if LIBAVFORMAT_VERSION_MAJOR >= 53
const AVClass *av_class; ///< information for av_log(). Set by url_open().
#endif
struct URLProtocol *prot;
int flags;
int is_streamed; /**< true if streamed (no seek possible), default = false */

Loading…
Cancel
Save