Mercurial > mplayer.hg
changeset 21656:32c50eb3ff18
in STREAM_WRITE mode open the stream with O_RDWR|O_CREAT, S_IRUSR|S_IWUSR and disable seek_forward for pipes
author | nicodvb |
---|---|
date | Mon, 18 Dec 2006 20:53:40 +0000 |
parents | b7e2f8fd263e |
children | 5f5ed194b54b |
files | stream/stream_file.c |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/stream/stream_file.c Mon Dec 18 20:50:31 2006 +0000 +++ b/stream/stream_file.c Mon Dec 18 20:53:40 2006 +0000 @@ -78,7 +78,7 @@ if(mode == STREAM_READ) m = O_RDONLY; else if(mode == STREAM_WRITE) - m = O_WRONLY; + m = O_RDWR|O_CREAT; else { mp_msg(MSGT_OPEN,MSGL_ERR, "[file] Unknown open mode %d\n",mode); m_struct_free(&stream_opts,opts); @@ -117,7 +117,10 @@ #endif } } else { - f=open(filename,m); + if(mode == STREAM_READ) + f=open(filename,m); + else + f=open(filename,m, S_IRUSR|S_IWUSR); if(f<0) { mp_msg(MSGT_OPEN,MSGL_ERR,MSGTR_FileNotFound,filename); m_struct_free(&stream_opts,opts); @@ -131,7 +134,7 @@ #else if(len == -1) { #endif - stream->seek = seek_forward; + if(mode == STREAM_READ) stream->seek = seek_forward; stream->type = STREAMTYPE_STREAM; // Must be move to STREAMTYPE_FILE stream->flags |= STREAM_SEEK_FW; } else if(len >= 0) {