*/
#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);
err = AVERROR(ENOMEM);
goto fail;
}
-#if LIBAVFORMAT_VERSION_INT >= (52<<16)
- uc->filename = (char *) &uc[1];
+#if LIBAVFORMAT_VERSION_MAJOR >= 53
+ uc->av_class = &urlcontext_class;
#endif
+ uc->filename = (char *) &uc[1];
strcpy(uc->filename, filename);
uc->prot = up;
uc->flags = flags;
return ret;
}
-#if defined(CONFIG_MUXERS) || defined(CONFIG_PROTOCOLS)
int url_write(URLContext *h, unsigned char *buf, int size)
{
int ret;
ret = h->prot->url_write(h, buf, size);
return ret;
}
-#endif //CONFIG_MUXERS || CONFIG_PROTOCOLS
offset_t url_seek(URLContext *h, offset_t pos, int whence)
{
url_interrupt_cb = interrupt_cb;
}
-int av_url_read_play(URLContext *h)
-{
- if (!h->prot->url_read_play)
- return AVERROR(ENOSYS);
- return h->prot->url_read_play(h);
-}
-
-int av_url_read_pause(URLContext *h)
+int av_url_read_pause(URLContext *h, int pause)
{
if (!h->prot->url_read_pause)
return AVERROR(ENOSYS);
- return h->prot->url_read_pause(h);
+ return h->prot->url_read_pause(h, pause);
}
-int av_url_read_seek(URLContext *h,
+offset_t av_url_read_seek(URLContext *h,
int stream_index, int64_t timestamp, int flags)
{
if (!h->prot->url_read_seek)