#include "libavutil/avstring.h"
#include "libavcodec/opt.h"
+#include "os_support.h"
#include "avformat.h"
#if LIBAVFORMAT_VERSION_MAJOR >= 53
else return first_protocol;
}
-int register_protocol(URLProtocol *protocol)
+int av_register_protocol(URLProtocol *protocol)
{
URLProtocol **p;
p = &first_protocol;
return 0;
}
+#if LIBAVFORMAT_VERSION_MAJOR < 53
+int register_protocol(URLProtocol *protocol)
+{
+ return av_register_protocol(protocol);
+}
+#endif
+
int url_open_protocol (URLContext **puc, struct URLProtocol *up,
const char *filename, int flags)
{
p++;
}
/* if the protocol has length 1, we consider it is a dos drive */
- if (*p == '\0' || (q - proto_str) <= 1) {
+ if (*p == '\0' || is_dos_path(filename)) {
file_proto:
strcpy(proto_str, "file");
} else {
return ret;
}
+int url_read_complete(URLContext *h, unsigned char *buf, int size)
+{
+ int ret, len;
+
+ len = 0;
+ while (len < size) {
+ ret = url_read(h, buf+len, size-len);
+ if (ret < 1)
+ return ret;
+ len += ret;
+ }
+ return len;
+}
+
int url_write(URLContext *h, unsigned char *buf, int size)
{
int ret;
return ret;
}
-offset_t url_seek(URLContext *h, offset_t pos, int whence)
+int64_t url_seek(URLContext *h, int64_t pos, int whence)
{
- offset_t ret;
+ int64_t ret;
if (!h->prot->url_seek)
return AVERROR(EPIPE);
return 1;
}
-offset_t url_filesize(URLContext *h)
+int64_t url_filesize(URLContext *h)
{
- offset_t pos, size;
+ int64_t pos, size;
size= url_seek(h, 0, AVSEEK_SIZE);
if(size<0){
return size;
}
+int url_get_file_handle(URLContext *h)
+{
+ if (!h->prot->url_get_file_handle)
+ return -1;
+ return h->prot->url_get_file_handle(h);
+}
+
int url_get_max_packet_size(URLContext *h)
{
return h->max_packet_size;
return h->prot->url_read_pause(h, pause);
}
-offset_t av_url_read_seek(URLContext *h,
+int64_t av_url_read_seek(URLContext *h,
int stream_index, int64_t timestamp, int flags)
{
if (!h->prot->url_read_seek)