diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-04-20 04:48:23 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-04-20 04:48:23 +0200 |
commit | efb5fa79f5ca34140db357a00c999286097ab53e (patch) | |
tree | 16cc9f34b25abc571f7a9915ff98ff2bb787203c /libavformat/avio.c | |
parent | f92b0084c0e02b3c816a9eb234c548487acadae8 (diff) | |
parent | 31d76ec2883c04d29d1f173ea99e605a6936613a (diff) | |
download | ffmpeg-efb5fa79f5ca34140db357a00c999286097ab53e.tar.gz |
Merge remote branch 'qatar/master'
* qatar/master: (37 commits)
In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
lavc: remove reference to opt.h from Makefile.
prefer avio_check() over url_exist()
avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
lavu: remove misc disabled cruft
lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED lavu: remove FF_API_OLD_EVAL_NAMES cruft
lavc: remove misc disabled cruft.
lavc: remove the FF_API_INOFFICIAL cruft.
lavc: remove the FF_API_SET_STRING_OLD cruft.
lavc: remove the FF_API_USE_LPC cruft.
lavc: remove the FF_API_SUBTITLE_OLD cruft.
lavc: remove the FF_API_VIDEO_OLD cruft.
lavc: remove the FF_API_AUDIO_OLD cruft.
lavc: remove the FF_API_OPT_SHOW cruft.
lavc: remove the FF_API_MM_FLAGS cruft.
lavf: remove misc disabled cruft.
lavf: remove FF_API_INDEX_BUILT cruft
lavf: remove FF_API_URL_CLASS cruft.
lavf: remove FF_API_SYMVER cruft
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/avio.c')
-rw-r--r-- | libavformat/avio.c | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/libavformat/avio.c b/libavformat/avio.c index 725a95f768..0a09cf1c44 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -31,7 +31,6 @@ #endif #include "url.h" -#if FF_API_URL_CLASS /** @name Logging context. */ /*@{*/ static const char *urlcontext_to_name(void *ptr) @@ -44,7 +43,6 @@ static const AVOption options[] = {{NULL}}; static const AVClass urlcontext_class = { "URLContext", urlcontext_to_name, options, LIBAVUTIL_VERSION_INT }; /*@}*/ -#endif static int default_interrupt_cb(void); @@ -82,29 +80,6 @@ int ffurl_register_protocol(URLProtocol *protocol, int size) return 0; } -#if FF_API_REGISTER_PROTOCOL -/* The layout of URLProtocol as of when major was bumped to 52 */ -struct URLProtocol_compat { - const char *name; - int (*url_open)(URLContext *h, const char *filename, int flags); - int (*url_read)(URLContext *h, unsigned char *buf, int size); - int (*url_write)(URLContext *h, unsigned char *buf, int size); - int64_t (*url_seek)(URLContext *h, int64_t pos, int whence); - int (*url_close)(URLContext *h); - struct URLProtocol *next; -}; - -int av_register_protocol(URLProtocol *protocol) -{ - return ffurl_register_protocol(protocol, sizeof(struct URLProtocol_compat)); -} - -int register_protocol(URLProtocol *protocol) -{ - return ffurl_register_protocol(protocol, sizeof(struct URLProtocol_compat)); -} -#endif - static int url_alloc_for_protocol (URLContext **puc, struct URLProtocol *up, const char *filename, int flags) { @@ -120,9 +95,7 @@ static int url_alloc_for_protocol (URLContext **puc, struct URLProtocol *up, err = AVERROR(ENOMEM); goto fail; } -#if FF_API_URL_CLASS uc->av_class = &urlcontext_class; -#endif uc->filename = (char *) &uc[1]; strcpy(uc->filename, filename); uc->prot = up; @@ -154,7 +127,7 @@ int ffurl_connect(URLContext* uc) return err; uc->is_connected = 1; //We must be careful here as ffurl_seek() could be slow, for example for http - if( (uc->flags & (AVIO_WRONLY | AVIO_RDWR)) + if( (uc->flags & AVIO_FLAG_WRITE) || !strcmp(uc->prot->name, "file")) if(!uc->is_streamed && ffurl_seek(uc, 0, SEEK_SET) < 0) uc->is_streamed= 1; @@ -314,21 +287,21 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int int ffurl_read(URLContext *h, unsigned char *buf, int size) { - if (h->flags & AVIO_WRONLY) + if (h->flags & AVIO_FLAG_WRITE) return AVERROR(EIO); return retry_transfer_wrapper(h, buf, size, 1, h->prot->url_read); } int ffurl_read_complete(URLContext *h, unsigned char *buf, int size) { - if (h->flags & AVIO_WRONLY) + if (h->flags & AVIO_FLAG_WRITE) return AVERROR(EIO); return retry_transfer_wrapper(h, buf, size, size, h->prot->url_read); } int ffurl_write(URLContext *h, const unsigned char *buf, int size) { - if (!(h->flags & (AVIO_WRONLY | AVIO_RDWR))) + if (!(h->flags & AVIO_FLAG_WRITE)) return AVERROR(EIO); /* avoid sending too big packets */ if (h->max_packet_size && size > h->max_packet_size) @@ -367,7 +340,7 @@ int ffurl_close(URLContext *h) int url_exist(const char *filename) { URLContext *h; - if (ffurl_open(&h, filename, AVIO_RDONLY) < 0) + if (ffurl_open(&h, filename, AVIO_FLAG_READ) < 0) return 0; ffurl_close(h); return 1; |