Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/aviobuf.c5
-rw-r--r--libavformat/file.c4
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;