Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
external
ffmpeg
Commits
f87b1b37
Commit
f87b1b37
authored
Apr 04, 2011
by
Anton Khirnov
Browse files
avio: AVIO_ prefixes for URL_ open flags.
parent
3d42d493
Changes
26
Hide whitespace changes
Inline
Side-by-side
ffmpeg.c
View file @
f87b1b37
...
...
@@ -3750,7 +3750,7 @@ static void opt_output_file(const char *filename)
}
/* open the file */
if
((
err
=
avio_open
(
&
oc
->
pb
,
filename
,
URL
_WRONLY
))
<
0
)
{
if
((
err
=
avio_open
(
&
oc
->
pb
,
filename
,
AVIO
_WRONLY
))
<
0
)
{
print_error
(
filename
,
err
);
ffmpeg_exit
(
1
);
}
...
...
ffserver.c
View file @
f87b1b37
...
...
@@ -3427,7 +3427,7 @@ static int rtp_new_av_stream(HTTPContext *c,
"rtp://%s:%d"
,
ipaddr
,
ntohs
(
dest_addr
->
sin_port
));
}
if
(
url_open
(
&
h
,
ctx
->
filename
,
URL
_WRONLY
)
<
0
)
if
(
url_open
(
&
h
,
ctx
->
filename
,
AVIO
_WRONLY
)
<
0
)
goto
fail
;
c
->
rtp_handles
[
stream_index
]
=
h
;
max_packet_size
=
url_get_max_packet_size
(
h
);
...
...
@@ -3767,7 +3767,7 @@ static void build_feed_streams(void)
}
/* only write the header of the ffm file */
if
(
avio_open
(
&
s
->
pb
,
feed
->
feed_filename
,
URL
_WRONLY
)
<
0
)
{
if
(
avio_open
(
&
s
->
pb
,
feed
->
feed_filename
,
AVIO
_WRONLY
)
<
0
)
{
http_log
(
"Could not open output feed file '%s'
\n
"
,
feed
->
feed_filename
);
exit
(
1
);
...
...
libavformat/applehttp.c
View file @
f87b1b37
...
...
@@ -169,7 +169,7 @@ static int parse_playlist(AppleHTTPContext *c, const char *url,
if
(
!
in
)
{
close_in
=
1
;
if
((
ret
=
avio_open
(
&
in
,
url
,
URL
_RDONLY
))
<
0
)
if
((
ret
=
avio_open
(
&
in
,
url
,
AVIO
_RDONLY
))
<
0
)
return
ret
;
}
...
...
@@ -292,7 +292,7 @@ reload:
ret
=
url_open
(
&
v
->
input
,
v
->
segments
[
v
->
cur_seq_no
-
v
->
start_seq_no
]
->
url
,
URL
_RDONLY
);
AVIO
_RDONLY
);
if
(
ret
<
0
)
return
ret
;
}
...
...
libavformat/applehttpproto.c
View file @
f87b1b37
...
...
@@ -115,7 +115,7 @@ static int parse_playlist(URLContext *h, const char *url)
char
line
[
1024
];
const
char
*
ptr
;
if
((
ret
=
avio_open
(
&
in
,
url
,
URL
_RDONLY
))
<
0
)
if
((
ret
=
avio_open
(
&
in
,
url
,
AVIO
_RDONLY
))
<
0
)
return
ret
;
read_chomp_line
(
in
,
line
,
sizeof
(
line
));
...
...
@@ -180,7 +180,7 @@ static int applehttp_open(URLContext *h, const char *uri, int flags)
int
ret
,
i
;
const
char
*
nested_url
;
if
(
flags
&
(
URL
_WRONLY
|
URL
_RDWR
))
if
(
flags
&
(
AVIO
_WRONLY
|
AVIO
_RDWR
))
return
AVERROR
(
ENOSYS
);
s
=
av_mallocz
(
sizeof
(
AppleHTTPContext
));
...
...
@@ -275,7 +275,7 @@ retry:
}
url
=
s
->
segments
[
s
->
cur_seq_no
-
s
->
start_seq_no
]
->
url
,
av_log
(
NULL
,
AV_LOG_DEBUG
,
"opening %s
\n
"
,
url
);
ret
=
ffurl_open
(
&
s
->
seg_hd
,
url
,
URL
_RDONLY
);
ret
=
ffurl_open
(
&
s
->
seg_hd
,
url
,
AVIO
_RDONLY
);
if
(
ret
<
0
)
{
if
(
url_interrupt_cb
())
return
AVERROR_EXIT
;
...
...
libavformat/avio.c
View file @
f87b1b37
...
...
@@ -144,7 +144,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
&
(
URL
_WRONLY
|
URL
_RDWR
))
if
(
(
uc
->
flags
&
(
AVIO
_WRONLY
|
AVIO
_RDWR
))
||
!
strcmp
(
uc
->
prot
->
name
,
"file"
))
if
(
!
uc
->
is_streamed
&&
ffurl_seek
(
uc
,
0
,
SEEK_SET
)
<
0
)
uc
->
is_streamed
=
1
;
...
...
@@ -275,7 +275,7 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int
ret
=
transfer_func
(
h
,
buf
+
len
,
size
-
len
);
if
(
ret
==
AVERROR
(
EINTR
))
continue
;
if
(
h
->
flags
&
URL
_FLAG_NONBLOCK
)
if
(
h
->
flags
&
AVIO
_FLAG_NONBLOCK
)
return
ret
;
if
(
ret
==
AVERROR
(
EAGAIN
))
{
ret
=
0
;
...
...
@@ -296,21 +296,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
&
URL
_WRONLY
)
if
(
h
->
flags
&
AVIO
_WRONLY
)
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
&
URL
_WRONLY
)
if
(
h
->
flags
&
AVIO
_WRONLY
)
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
&
(
URL
_WRONLY
|
URL
_RDWR
)))
if
(
!
(
h
->
flags
&
(
AVIO
_WRONLY
|
AVIO
_RDWR
)))
return
AVERROR
(
EIO
);
/* avoid sending too big packets */
if
(
h
->
max_packet_size
&&
size
>
h
->
max_packet_size
)
...
...
@@ -348,7 +348,7 @@ int ffurl_close(URLContext *h)
int
url_exist
(
const
char
*
filename
)
{
URLContext
*
h
;
if
(
ffurl_open
(
&
h
,
filename
,
URL
_RDONLY
)
<
0
)
if
(
ffurl_open
(
&
h
,
filename
,
AVIO
_RDONLY
)
<
0
)
return
0
;
ffurl_close
(
h
);
return
1
;
...
...
libavformat/avio.h
View file @
f87b1b37
...
...
@@ -63,7 +63,6 @@ typedef struct URLPollEntry {
int
events
;
int
revents
;
}
URLPollEntry
;
#endif
/**
* @defgroup open_modes URL open modes
...
...
@@ -91,6 +90,7 @@ typedef struct URLPollEntry {
* silently ignored.
*/
#define URL_FLAG_NONBLOCK 4
#endif
typedef
int
URLInterruptCB
(
void
);
...
...
@@ -511,6 +511,33 @@ attribute_deprecated static inline int url_is_streamed(AVIOContext *s)
int
url_resetbuf
(
AVIOContext
*
s
,
int
flags
);
#endif
/**
* @defgroup open_modes URL open modes
* The flags argument to avio_open must be one of the following
* constants, optionally ORed with other flags.
* @{
*/
#define AVIO_RDONLY 0
/**< read-only */
#define AVIO_WRONLY 1
/**< write-only */
#define AVIO_RDWR 2
/**< read-write */
/**
* @}
*/
/**
* Use non-blocking mode.
* If this flag is set, operations on the context will return
* AVERROR(EAGAIN) if they can not be performed immediately.
* If this flag is not set, operations on the context will never return
* AVERROR(EAGAIN).
* Note that this flag does not affect the opening/connecting of the
* context. Connecting a protocol will always block if necessary (e.g. on
* network protocols) but never hang (e.g. on busy devices).
* Warning: non-blocking protocols is work-in-progress; this flag may be
* silently ignored.
*/
#define AVIO_FLAG_NONBLOCK 4
/**
* Create and initialize a AVIOContext for accessing the
* resource indicated by url.
...
...
libavformat/aviobuf.c
View file @
f87b1b37
...
...
@@ -55,7 +55,7 @@ int ffio_init_context(AVIOContext *s,
s
->
buffer_size
=
buffer_size
;
s
->
buf_ptr
=
buffer
;
s
->
opaque
=
opaque
;
url_resetbuf
(
s
,
write_flag
?
URL
_WRONLY
:
URL
_RDONLY
);
url_resetbuf
(
s
,
write_flag
?
AVIO
_WRONLY
:
AVIO
_RDONLY
);
s
->
write_packet
=
write_packet
;
s
->
read_packet
=
read_packet
;
s
->
seek
=
seek
;
...
...
@@ -845,7 +845,7 @@ int ffio_fdopen(AVIOContext **s, URLContext *h)
}
if
(
ffio_init_context
(
*
s
,
buffer
,
buffer_size
,
(
h
->
flags
&
URL
_WRONLY
||
h
->
flags
&
URL
_RDWR
),
h
,
(
h
->
flags
&
AVIO
_WRONLY
||
h
->
flags
&
AVIO
_RDWR
),
h
,
ffurl_read
,
ffurl_write
,
ffurl_seek
)
<
0
)
{
av_free
(
buffer
);
av_freep
(
s
);
...
...
@@ -874,7 +874,7 @@ int ffio_set_buf_size(AVIOContext *s, int buf_size)
s
->
buffer
=
buffer
;
s
->
buffer_size
=
buf_size
;
s
->
buf_ptr
=
buffer
;
url_resetbuf
(
s
,
s
->
write_flag
?
URL
_WRONLY
:
URL
_RDONLY
);
url_resetbuf
(
s
,
s
->
write_flag
?
AVIO
_WRONLY
:
AVIO
_RDONLY
);
return
0
;
}
...
...
@@ -885,13 +885,13 @@ static int url_resetbuf(AVIOContext *s, int flags)
#endif
{
#if FF_API_URL_RESETBUF
if
(
flags
&
URL
_RDWR
)
if
(
flags
&
AVIO
_RDWR
)
return
AVERROR
(
EINVAL
);
#else
assert
(
flags
==
URL
_WRONLY
||
flags
==
URL
_RDONLY
);
assert
(
flags
==
AVIO
_WRONLY
||
flags
==
AVIO
_RDONLY
);
#endif
if
(
flags
&
URL
_WRONLY
)
{
if
(
flags
&
AVIO
_WRONLY
)
{
s
->
buf_end
=
s
->
buffer
+
s
->
buffer_size
;
s
->
write_flag
=
1
;
}
else
{
...
...
@@ -1049,7 +1049,7 @@ int url_open_buf(AVIOContext **s, uint8_t *buf, int buf_size, int flags)
if
(
!*
s
)
return
AVERROR
(
ENOMEM
);
ret
=
ffio_init_context
(
*
s
,
buf
,
buf_size
,
(
flags
&
URL
_WRONLY
||
flags
&
URL
_RDWR
),
(
flags
&
AVIO
_WRONLY
||
flags
&
AVIO
_RDWR
),
NULL
,
NULL
,
NULL
,
NULL
);
if
(
ret
!=
0
)
av_freep
(
s
);
...
...
libavformat/file.c
View file @
f87b1b37
...
...
@@ -59,9 +59,9 @@ static int file_open(URLContext *h, const char *filename, int flags)
av_strstart
(
filename
,
"file:"
,
&
filename
);
if
(
flags
&
URL
_RDWR
)
{
if
(
flags
&
AVIO
_RDWR
)
{
access
=
O_CREAT
|
O_TRUNC
|
O_RDWR
;
}
else
if
(
flags
&
URL
_WRONLY
)
{
}
else
if
(
flags
&
AVIO
_WRONLY
)
{
access
=
O_CREAT
|
O_TRUNC
|
O_WRONLY
;
}
else
{
access
=
O_RDONLY
;
...
...
@@ -116,7 +116,7 @@ static int pipe_open(URLContext *h, const char *filename, int flags)
fd
=
strtol
(
filename
,
&
final
,
10
);
if
((
filename
==
final
)
||
*
final
)
{
/* No digits found, or something like 10ab */
if
(
flags
&
URL
_WRONLY
)
{
if
(
flags
&
AVIO
_WRONLY
)
{
fd
=
1
;
}
else
{
fd
=
0
;
...
...
libavformat/gopher.c
View file @
f87b1b37
...
...
@@ -100,7 +100,7 @@ static int gopher_open(URLContext *h, const char *uri, int flags)
ff_url_join
(
buf
,
sizeof
(
buf
),
"tcp"
,
NULL
,
hostname
,
port
,
NULL
);
s
->
hd
=
NULL
;
err
=
ffurl_open
(
&
s
->
hd
,
buf
,
URL
_RDWR
);
err
=
ffurl_open
(
&
s
->
hd
,
buf
,
AVIO
_RDWR
);
if
(
err
<
0
)
goto
fail
;
...
...
libavformat/http.c
View file @
f87b1b37
...
...
@@ -124,7 +124,7 @@ static int http_open_cnx(URLContext *h)
port
=
80
;
ff_url_join
(
buf
,
sizeof
(
buf
),
"tcp"
,
NULL
,
hostname
,
port
,
NULL
);
err
=
ffurl_open
(
&
hd
,
buf
,
URL
_RDWR
);
err
=
ffurl_open
(
&
hd
,
buf
,
AVIO
_RDWR
);
if
(
err
<
0
)
goto
fail
;
...
...
@@ -296,7 +296,7 @@ static int http_connect(URLContext *h, const char *path, const char *hoststr,
/* send http header */
post
=
h
->
flags
&
URL
_WRONLY
;
post
=
h
->
flags
&
AVIO
_WRONLY
;
authstr
=
ff_http_auth_create_response
(
&
s
->
auth_state
,
auth
,
path
,
post
?
"POST"
:
"GET"
);
...
...
@@ -451,7 +451,7 @@ static int http_close(URLContext *h)
HTTPContext
*
s
=
h
->
priv_data
;
/* signal end of chunked encoding if used */
if
((
h
->
flags
&
URL
_WRONLY
)
&&
s
->
chunksize
!=
-
1
)
{
if
((
h
->
flags
&
AVIO
_WRONLY
)
&&
s
->
chunksize
!=
-
1
)
{
ret
=
ffurl_write
(
s
->
hd
,
footer
,
sizeof
(
footer
)
-
1
);
ret
=
ret
>
0
?
0
:
ret
;
}
...
...
libavformat/img2.c
View file @
f87b1b37
...
...
@@ -270,7 +270,7 @@ static int read_packet(AVFormatContext *s1, AVPacket *pkt)
s
->
path
,
s
->
img_number
)
<
0
&&
s
->
img_number
>
1
)
return
AVERROR
(
EIO
);
for
(
i
=
0
;
i
<
3
;
i
++
){
if
(
avio_open
(
&
f
[
i
],
filename
,
URL
_RDONLY
)
<
0
)
{
if
(
avio_open
(
&
f
[
i
],
filename
,
AVIO
_RDONLY
)
<
0
)
{
if
(
i
==
1
)
break
;
av_log
(
s1
,
AV_LOG_ERROR
,
"Could not open file : %s
\n
"
,
filename
);
...
...
@@ -354,7 +354,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
return
AVERROR
(
EIO
);
}
for
(
i
=
0
;
i
<
3
;
i
++
){
if
(
avio_open
(
&
pb
[
i
],
filename
,
URL
_WRONLY
)
<
0
)
{
if
(
avio_open
(
&
pb
[
i
],
filename
,
AVIO
_WRONLY
)
<
0
)
{
av_log
(
s
,
AV_LOG_ERROR
,
"Could not open file : %s
\n
"
,
filename
);
return
AVERROR
(
EIO
);
}
...
...
libavformat/librtmp.c
View file @
f87b1b37
...
...
@@ -93,7 +93,7 @@ static int rtmp_open(URLContext *s, const char *uri, int flags)
goto
fail
;
}
if
(
flags
&
URL
_WRONLY
)
if
(
flags
&
AVIO
_WRONLY
)
RTMP_EnableWrite
(
r
);
if
(
!
RTMP_Connect
(
r
,
NULL
)
||
!
RTMP_ConnectStream
(
r
,
0
))
{
...
...
libavformat/matroskadec.c
View file @
f87b1b37
...
...
@@ -1330,7 +1330,7 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
&&
track
->
codec_priv
.
size
>=
14
&&
track
->
codec_priv
.
data
!=
NULL
)
{
ffio_init_context
(
&
b
,
track
->
codec_priv
.
data
,
track
->
codec_priv
.
size
,
URL
_RDONLY
,
NULL
,
NULL
,
NULL
,
NULL
);
AVIO
_RDONLY
,
NULL
,
NULL
,
NULL
,
NULL
);
ff_get_wav_header
(
&
b
,
st
->
codec
,
track
->
codec_priv
.
size
);
codec_id
=
st
->
codec
->
codec_id
;
extradata_offset
=
FFMIN
(
track
->
codec_priv
.
size
,
18
);
...
...
libavformat/md5proto.c
View file @
f87b1b37
...
...
@@ -36,7 +36,7 @@ static int md5_open(URLContext *h, const char *filename, int flags)
return
-
1
;
}
if
(
flags
!=
URL
_WRONLY
)
if
(
flags
!=
AVIO
_WRONLY
)
return
AVERROR
(
EINVAL
);
av_md5_init
(
h
->
priv_data
);
...
...
@@ -65,7 +65,7 @@ static int md5_close(URLContext *h)
av_strstart
(
filename
,
"md5:"
,
&
filename
);
if
(
*
filename
)
{
err
=
ffurl_open
(
&
out
,
filename
,
URL
_WRONLY
);
err
=
ffurl_open
(
&
out
,
filename
,
AVIO
_WRONLY
);
if
(
err
)
return
err
;
err
=
ffurl_write
(
out
,
buf
,
i
*
2
+
1
);
...
...
libavformat/mmsh.c
View file @
f87b1b37
...
...
@@ -233,7 +233,7 @@ static int mmsh_open(URLContext *h, const char *uri, int flags)
port
=
80
;
// default mmsh protocol port
ff_url_join
(
httpname
,
sizeof
(
httpname
),
"http"
,
NULL
,
host
,
port
,
path
);
if
(
ffurl_alloc
(
&
mms
->
mms_hd
,
httpname
,
URL
_RDONLY
)
<
0
)
{
if
(
ffurl_alloc
(
&
mms
->
mms_hd
,
httpname
,
AVIO
_RDONLY
)
<
0
)
{
return
AVERROR
(
EIO
);
}
...
...
@@ -261,7 +261,7 @@ static int mmsh_open(URLContext *h, const char *uri, int flags)
// close the socket and then reopen it for sending the second play request.
ffurl_close
(
mms
->
mms_hd
);
memset
(
headers
,
0
,
sizeof
(
headers
));
if
(
ffurl_alloc
(
&
mms
->
mms_hd
,
httpname
,
URL
_RDONLY
)
<
0
)
{
if
(
ffurl_alloc
(
&
mms
->
mms_hd
,
httpname
,
AVIO
_RDONLY
)
<
0
)
{
return
AVERROR
(
EIO
);
}
stream_selection
=
av_mallocz
(
mms
->
stream_num
*
19
+
1
);
...
...
libavformat/mmst.c
View file @
f87b1b37
...
...
@@ -523,7 +523,7 @@ static int mms_open(URLContext *h, const char *uri, int flags)
// establish tcp connection.
ff_url_join
(
tcpname
,
sizeof
(
tcpname
),
"tcp"
,
NULL
,
mmst
->
host
,
port
,
NULL
);
err
=
ffurl_open
(
&
mms
->
mms_hd
,
tcpname
,
URL
_RDWR
);
err
=
ffurl_open
(
&
mms
->
mms_hd
,
tcpname
,
AVIO
_RDWR
);
if
(
err
)
goto
fail
;
...
...
libavformat/mov.c
View file @
f87b1b37
...
...
@@ -1722,7 +1722,7 @@ static int mov_open_dref(AVIOContext **pb, char *src, MOVDref *ref)
av_strlcat
(
filename
,
ref
->
path
+
l
+
1
,
1024
);
if
(
!
avio_open
(
pb
,
filename
,
URL
_RDONLY
))
if
(
!
avio_open
(
pb
,
filename
,
AVIO
_RDONLY
))
return
0
;
}
}
...
...
libavformat/output-example.c
View file @
f87b1b37
...
...
@@ -492,7 +492,7 @@ int main(int argc, char **argv)
/* open the output file, if needed */
if
(
!
(
fmt
->
flags
&
AVFMT_NOFILE
))
{
if
(
avio_open
(
&
oc
->
pb
,
filename
,
URL
_WRONLY
)
<
0
)
{
if
(
avio_open
(
&
oc
->
pb
,
filename
,
AVIO
_WRONLY
)
<
0
)
{
fprintf
(
stderr
,
"Could not open '%s'
\n
"
,
filename
);
exit
(
1
);
}
...
...
libavformat/rtmpproto.c
View file @
f87b1b37
...
...
@@ -812,7 +812,7 @@ static int rtmp_open(URLContext *s, const char *uri, int flags)
if
(
!
rt
)
return
AVERROR
(
ENOMEM
);
s
->
priv_data
=
rt
;
rt
->
is_input
=
!
(
flags
&
URL
_WRONLY
);
rt
->
is_input
=
!
(
flags
&
AVIO
_WRONLY
);
av_url_split
(
proto
,
sizeof
(
proto
),
NULL
,
0
,
hostname
,
sizeof
(
hostname
),
&
port
,
path
,
sizeof
(
path
),
s
->
filename
);
...
...
@@ -821,7 +821,7 @@ static int rtmp_open(URLContext *s, const char *uri, int flags)
port
=
RTMP_DEFAULT_PORT
;
ff_url_join
(
buf
,
sizeof
(
buf
),
"tcp"
,
NULL
,
hostname
,
port
,
NULL
);
if
(
ffurl_open
(
&
rt
->
stream
,
buf
,
URL
_RDWR
)
<
0
)
{
if
(
ffurl_open
(
&
rt
->
stream
,
buf
,
AVIO
_RDWR
)
<
0
)
{
av_log
(
LOG_CONTEXT
,
AV_LOG_ERROR
,
"Cannot open connection %s
\n
"
,
buf
);
goto
fail
;
}
...
...
libavformat/rtpproto.c
View file @
f87b1b37
...
...
@@ -145,7 +145,7 @@ static int rtp_open(URLContext *h, const char *uri, int flags)
char
path
[
1024
];
const
char
*
p
;
is_output
=
(
flags
&
URL
_WRONLY
);
is_output
=
(
flags
&
AVIO
_WRONLY
);
s
=
av_mallocz
(
sizeof
(
RTPContext
));
if
(
!
s
)
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment