diff options
author | Gildas Bazin <gbazi@altern.org> | 2004-02-14 19:25:32 +0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2004-02-14 19:25:32 +0300 |
commit | ac9fe33d0ee55372b75fbae93d2954cff9974bf0 (patch) | |
tree | b62cef6c29c15c31310b091d74248a7cc333f8d6 /libavformat | |
parent | d4c3c5a6f6658732b2b6e569cd243df4ec409f87 (diff) |
avio patch by (Gildas Bazin <gbazin at altern dot org>)
Originally committed as revision 2783 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/aviobuf.c | 5 | ||||
-rw-r--r-- | libavformat/file.c | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 12760a857e..de140966c6 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -429,7 +429,7 @@ int url_fdopen(ByteIOContext *s, URLContext *h) return -ENOMEM; if (init_put_byte(s, buffer, buffer_size, - (h->flags & URL_WRONLY) != 0, h, + (h->flags & URL_WRONLY || h->flags & URL_RDWR), h, url_read_packet, url_write_packet, url_seek_packet) < 0) { av_free(buffer); return -EIO; @@ -547,7 +547,8 @@ int url_fget_max_packet_size(ByteIOContext *s) int url_open_buf(ByteIOContext *s, uint8_t *buf, int buf_size, int flags) { return init_put_byte(s, buf, buf_size, - (flags & URL_WRONLY) != 0, NULL, NULL, NULL, NULL); + (flags & URL_WRONLY || flags & URL_RDWR), + NULL, NULL, NULL, NULL); } /* return the written or read size */ diff --git a/libavformat/file.c b/libavformat/file.c index ee1f72a00c..b1d61caf89 100644 --- a/libavformat/file.c +++ b/libavformat/file.c @@ -37,7 +37,9 @@ static int file_open(URLContext *h, const char *filename, int flags) strstart(filename, "file:", &filename); - if (flags & URL_WRONLY) { + if (flags & URL_RDWR) { + access = O_CREAT | O_TRUNC | O_RDWR; + } else if (flags & URL_WRONLY) { access = O_CREAT | O_TRUNC | O_WRONLY; } else { access = O_RDONLY; |