Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
5e3f9979
Commit
5e3f9979
authored
Sep 05, 2012
by
Diego Elio Pettenò
Committed by
Derek Buitenhuis
Oct 01, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use atexit() instead of defining a custom exit_program() interface.
parent
bd680c7b
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
115 additions
and
130 deletions
+115
-130
avconv.c
avconv.c
+28
-28
avconv_filter.c
avconv_filter.c
+11
-11
avconv_opt.c
avconv_opt.c
+65
-65
avplay.c
avplay.c
+0
-5
avprobe.c
avprobe.c
+3
-2
avserver.c
avserver.c
+0
-5
cmdutils.c
cmdutils.c
+7
-7
cmdutils.h
cmdutils.h
+1
-7
No files found.
avconv.c
View file @
5e3f9979
...
...
@@ -143,7 +143,7 @@ static int decode_interrupt_cb(void *ctx)
const
AVIOInterruptCB
int_cb
=
{
decode_interrupt_cb
,
NULL
};
void
exit_program
(
int
ret
)
static
void
exit_program
(
)
{
int
i
,
j
;
...
...
@@ -218,8 +218,6 @@ void exit_program(int ret)
(
int
)
received_sigterm
);
exit
(
255
);
}
exit
(
ret
);
}
void
assert_avoptions
(
AVDictionary
*
m
)
...
...
@@ -227,7 +225,7 @@ void assert_avoptions(AVDictionary *m)
AVDictionaryEntry
*
t
;
if
((
t
=
av_dict_get
(
m
,
""
,
NULL
,
AV_DICT_IGNORE_SUFFIX
)))
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Option %s not found.
\n
"
,
t
->
key
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -244,7 +242,7 @@ static void assert_codec_experimental(AVCodecContext *c, int encoder)
if
(
!
(
codec
->
capabilities
&
CODEC_CAP_EXPERIMENTAL
))
av_log
(
NULL
,
AV_LOG_FATAL
,
"Or use the non experimental %s '%s'.
\n
"
,
codec_string
,
codec
->
name
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -343,7 +341,7 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
avctx
->
codec
?
avctx
->
codec
->
name
:
"copy"
);
print_error
(
""
,
a
);
if
(
exit_on_error
)
exit
_program
(
1
);
exit
(
1
);
}
*
pkt
=
new_pkt
;
...
...
@@ -354,7 +352,7 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
ret
=
av_interleaved_write_frame
(
s
,
pkt
);
if
(
ret
<
0
)
{
print_error
(
"av_interleaved_write_frame()"
,
ret
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -391,7 +389,7 @@ static void do_audio_out(AVFormatContext *s, OutputStream *ost,
if
(
avcodec_encode_audio2
(
enc
,
&
pkt
,
frame
,
&
got_packet
)
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Audio encoding failed
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
got_packet
)
{
...
...
@@ -462,7 +460,7 @@ static void do_subtitle_out(AVFormatContext *s,
if
(
pts
==
AV_NOPTS_VALUE
)
{
av_log
(
NULL
,
AV_LOG_ERROR
,
"Subtitle packets must have a pts
\n
"
);
if
(
exit_on_error
)
exit
_program
(
1
);
exit
(
1
);
return
;
}
...
...
@@ -494,7 +492,7 @@ static void do_subtitle_out(AVFormatContext *s,
subtitle_out_max_size
,
sub
);
if
(
subtitle_out_size
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Subtitle encoding failed
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
av_init_packet
(
&
pkt
);
...
...
@@ -594,7 +592,7 @@ static void do_video_out(AVFormatContext *s,
ret
=
avcodec_encode_video2
(
enc
,
&
pkt
,
&
big_picture
,
&
got_packet
);
if
(
ret
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Video encoding failed
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
got_packet
)
{
...
...
@@ -639,7 +637,7 @@ static void do_video_stats(AVFormatContext *os, OutputStream *ost,
vstats_file
=
fopen
(
vstats_filename
,
"w"
);
if
(
!
vstats_file
)
{
perror
(
"fopen"
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -952,7 +950,7 @@ static void flush_encoders(void)
ret
=
encode
(
enc
,
&
pkt
,
NULL
,
&
got_packet
);
if
(
ret
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"%s encoding failed
\n
"
,
desc
);
exit
_program
(
1
);
exit
(
1
);
}
*
size
+=
ret
;
if
(
ost
->
logfile
&&
enc
->
stats_out
)
{
...
...
@@ -1163,7 +1161,7 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
av_log
(
NULL
,
AV_LOG_FATAL
,
"Audio volume adjustment on sample format %s is not supported.
\n
"
,
av_get_sample_fmt_name
(
ist
->
st
->
codec
->
sample_fmt
));
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -1180,7 +1178,7 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
av_log
(
NULL
,
AV_LOG_FATAL
,
"Unable to find default channel "
"layout for Input Stream #%d.%d
\n
"
,
ist
->
file_index
,
ist
->
st
->
index
);
exit
_program
(
1
);
exit
(
1
);
}
decoded_frame
->
channel_layout
=
avctx
->
channel_layout
;
...
...
@@ -1206,7 +1204,7 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
if
(
ist_in_filtergraph
(
filtergraphs
[
i
],
ist
)
&&
configure_filtergraph
(
filtergraphs
[
i
])
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Error reinitializing filters!
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -1276,7 +1274,7 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
if
(
ist_in_filtergraph
(
filtergraphs
[
i
],
ist
)
&&
configure_filtergraph
(
filtergraphs
[
i
])
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Error reinitializing filters!
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -1442,7 +1440,7 @@ static void print_sdp(void)
AVFormatContext
**
avc
=
av_malloc
(
sizeof
(
*
avc
)
*
nb_output_files
);
if
(
!
avc
)
exit
_program
(
1
);
exit
(
1
);
for
(
i
=
0
;
i
<
nb_output_files
;
i
++
)
avc
[
i
]
=
output_files
[
i
]
->
ctx
;
...
...
@@ -1530,7 +1528,7 @@ static void parse_forced_key_frames(char *kf, OutputStream *ost,
ost
->
forced_kf_pts
=
av_malloc
(
sizeof
(
*
ost
->
forced_kf_pts
)
*
n
);
if
(
!
ost
->
forced_kf_pts
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Could not allocate forced key frames array.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
p
=
kf
;
...
...
@@ -1644,7 +1642,7 @@ static int transcode_init(void)
case
AVMEDIA_TYPE_AUDIO
:
if
(
audio_volume
!=
256
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"-acodec copy and -vol are incompatible (frames are not decoded)
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
codec
->
channel_layout
=
icodec
->
channel_layout
;
codec
->
sample_rate
=
icodec
->
sample_rate
;
...
...
@@ -1782,7 +1780,7 @@ static int transcode_init(void)
if
(
!
f
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Cannot write log file '%s' for pass-1 encoding: %s
\n
"
,
logfilename
,
strerror
(
errno
));
exit
_program
(
1
);
exit
(
1
);
}
ost
->
logfile
=
f
;
}
else
{
...
...
@@ -1791,7 +1789,7 @@ static int transcode_init(void)
if
(
cmdutils_read_file
(
logfilename
,
&
logbuffer
,
&
logbuffer_size
)
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Error reading log file '%s' for pass-2 encoding
\n
"
,
logfilename
);
exit
_program
(
1
);
exit
(
1
);
}
codec
->
stats_in
=
logbuffer
;
}
...
...
@@ -2184,7 +2182,7 @@ static int process_input(void)
if
(
ret
!=
AVERROR_EOF
)
{
print_error
(
is
->
filename
,
ret
);
if
(
exit_on_error
)
exit
_program
(
1
);
exit
(
1
);
}
ifile
->
eof_reached
=
1
;
...
...
@@ -2252,7 +2250,7 @@ static int process_input(void)
av_log
(
NULL
,
AV_LOG_ERROR
,
"Error while decoding stream #%d:%d
\n
"
,
ist
->
file_index
,
ist
->
st
->
index
);
if
(
exit_on_error
)
exit
_program
(
1
);
exit
(
1
);
}
discard_packet:
...
...
@@ -2429,6 +2427,8 @@ int main(int argc, char **argv)
OptionsContext
o
=
{
0
};
int64_t
ti
;
atexit
(
exit_program
);
reset_options
(
&
o
);
av_log_set_flags
(
AV_LOG_SKIP_REPEATED
);
...
...
@@ -2452,24 +2452,24 @@ int main(int argc, char **argv)
if
(
nb_output_files
<=
0
&&
nb_input_files
==
0
)
{
show_usage
();
av_log
(
NULL
,
AV_LOG_WARNING
,
"Use -h to get full help or, even better, run 'man %s'
\n
"
,
program_name
);
exit
_program
(
1
);
exit
(
1
);
}
/* file converter / grab */
if
(
nb_output_files
<=
0
)
{
fprintf
(
stderr
,
"At least one output file must be specified
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
ti
=
getutime
();
if
(
transcode
()
<
0
)
exit
_program
(
1
);
exit
(
1
);
ti
=
getutime
()
-
ti
;
if
(
do_benchmark
)
{
int
maxrss
=
getmaxrss
()
/
1024
;
printf
(
"bench: utime=%0.3fs maxrss=%ikB
\n
"
,
ti
/
1000000
.
0
,
maxrss
);
}
exit
_program
(
0
);
exit
(
0
);
return
0
;
}
avconv_filter.c
View file @
5e3f9979
...
...
@@ -46,7 +46,7 @@ static char *choose_ ## var ## s(OutputStream *ost) \
int len; \
\
if (avio_open_dyn_buf(&s) < 0) \
exit
_program(1);
\
exit
(1);
\
\
for (p = ost->enc->supported_list; *p != none; p++) { \
get_name(*p); \
...
...
@@ -76,13 +76,13 @@ FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost)
FilterGraph
*
fg
=
av_mallocz
(
sizeof
(
*
fg
));
if
(
!
fg
)
exit
_program
(
1
);
exit
(
1
);
fg
->
index
=
nb_filtergraphs
;
fg
->
outputs
=
grow_array
(
fg
->
outputs
,
sizeof
(
*
fg
->
outputs
),
&
fg
->
nb_outputs
,
fg
->
nb_outputs
+
1
);
if
(
!
(
fg
->
outputs
[
0
]
=
av_mallocz
(
sizeof
(
*
fg
->
outputs
[
0
]))))
exit
_program
(
1
);
exit
(
1
);
fg
->
outputs
[
0
]
->
ost
=
ost
;
fg
->
outputs
[
0
]
->
graph
=
fg
;
...
...
@@ -91,7 +91,7 @@ FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost)
fg
->
inputs
=
grow_array
(
fg
->
inputs
,
sizeof
(
*
fg
->
inputs
),
&
fg
->
nb_inputs
,
fg
->
nb_inputs
+
1
);
if
(
!
(
fg
->
inputs
[
0
]
=
av_mallocz
(
sizeof
(
*
fg
->
inputs
[
0
]))))
exit
_program
(
1
);
exit
(
1
);
fg
->
inputs
[
0
]
->
ist
=
ist
;
fg
->
inputs
[
0
]
->
graph
=
fg
;
...
...
@@ -116,7 +116,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
if
(
type
!=
AVMEDIA_TYPE_VIDEO
&&
type
!=
AVMEDIA_TYPE_AUDIO
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Only video and audio filters supported "
"currently.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
in
->
name
)
{
...
...
@@ -128,7 +128,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
if
(
file_idx
<
0
||
file_idx
>=
nb_input_files
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid file index %d in filtegraph description %s.
\n
"
,
file_idx
,
fg
->
graph_desc
);
exit
_program
(
1
);
exit
(
1
);
}
s
=
input_files
[
file_idx
]
->
ctx
;
...
...
@@ -143,7 +143,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
if
(
!
st
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Stream specifier '%s' in filtergraph description %s "
"matches no streams.
\n
"
,
p
,
fg
->
graph_desc
);
exit
_program
(
1
);
exit
(
1
);
}
ist
=
input_streams
[
input_files
[
file_idx
]
->
ist_index
+
st
->
index
];
}
else
{
...
...
@@ -157,7 +157,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
av_log
(
NULL
,
AV_LOG_FATAL
,
"Cannot find a matching stream for "
"unlabeled input pad %d on filter %s"
,
in
->
pad_idx
,
in
->
filter_ctx
->
name
);
exit
_program
(
1
);
exit
(
1
);
}
}
av_assert0
(
ist
);
...
...
@@ -169,7 +169,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
fg
->
inputs
=
grow_array
(
fg
->
inputs
,
sizeof
(
*
fg
->
inputs
),
&
fg
->
nb_inputs
,
fg
->
nb_inputs
+
1
);
if
(
!
(
fg
->
inputs
[
fg
->
nb_inputs
-
1
]
=
av_mallocz
(
sizeof
(
*
fg
->
inputs
[
0
]))))
exit
_program
(
1
);
exit
(
1
);
fg
->
inputs
[
fg
->
nb_inputs
-
1
]
->
ist
=
ist
;
fg
->
inputs
[
fg
->
nb_inputs
-
1
]
->
graph
=
fg
;
...
...
@@ -332,7 +332,7 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
AVIOContext *pb; \
\
if (avio_open_dyn_buf(&pb) < 0) \
exit
_program(1);
\
exit
(1);
\
\
avio_printf(pb, "%s", ctx->filter->name); \
if (nb_pads > 1) \
...
...
@@ -524,7 +524,7 @@ int configure_filtergraph(FilterGraph *fg)
fg
->
outputs
=
grow_array
(
fg
->
outputs
,
sizeof
(
*
fg
->
outputs
),
&
fg
->
nb_outputs
,
fg
->
nb_outputs
+
1
);
if
(
!
(
fg
->
outputs
[
fg
->
nb_outputs
-
1
]
=
av_mallocz
(
sizeof
(
*
fg
->
outputs
[
0
]))))
exit
_program
(
1
);
exit
(
1
);
fg
->
outputs
[
fg
->
nb_outputs
-
1
]
->
graph
=
fg
;
fg
->
outputs
[
fg
->
nb_outputs
-
1
]
->
out_tmp
=
cur
;
cur
=
cur
->
next
;
...
...
avconv_opt.c
View file @
5e3f9979
...
...
@@ -50,7 +50,7 @@
if ((ret = check_stream_specifier(fmtctx, st, spec)) > 0)\
outvar = o->name[i].u.type;\
else if (ret < 0)\
exit
_program
(1);\
exit(1);\
}\
}
...
...
@@ -140,7 +140,7 @@ static double parse_frame_aspect_ratio(const char *arg)
if
(
!
ar
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Incorrect aspect ratio specification.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
return
ar
;
}
...
...
@@ -190,7 +190,7 @@ static int opt_map(void *optctx, const char *opt, const char *arg)
sync_file_idx
=
strtol
(
sync
+
1
,
&
sync
,
0
);
if
(
sync_file_idx
>=
nb_input_files
||
sync_file_idx
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid sync file index: %d.
\n
"
,
sync_file_idx
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
*
sync
)
sync
++
;
...
...
@@ -203,7 +203,7 @@ static int opt_map(void *optctx, const char *opt, const char *arg)
if
(
i
==
input_files
[
sync_file_idx
]
->
nb_streams
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Sync stream specification in map %s does not "
"match any streams.
\n
"
,
arg
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -217,13 +217,13 @@ static int opt_map(void *optctx, const char *opt, const char *arg)
m
->
linklabel
=
av_get_token
(
&
c
,
"]"
);
if
(
!
m
->
linklabel
)
{
av_log
(
NULL
,
AV_LOG_ERROR
,
"Invalid output link label: %s.
\n
"
,
map
);
exit
_program
(
1
);
exit
(
1
);
}
}
else
{
file_idx
=
strtol
(
map
,
&
p
,
0
);
if
(
file_idx
>=
nb_input_files
||
file_idx
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid input file index: %d.
\n
"
,
file_idx
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
negative
)
/* disable some already defined maps */
...
...
@@ -259,7 +259,7 @@ static int opt_map(void *optctx, const char *opt, const char *arg)
if
(
!
m
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Stream map '%s' matches no streams.
\n
"
,
arg
);
exit
_program
(
1
);
exit
(
1
);
}
av_freep
(
&
map
);
...
...
@@ -291,7 +291,7 @@ static void parse_meta_type(char *arg, char *type, int *index, const char **stre
case
's'
:
if
(
*
(
++
arg
)
&&
*
arg
!=
':'
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid metadata specifier %s.
\n
"
,
arg
);
exit
_program
(
1
);
exit
(
1
);
}
*
stream_spec
=
*
arg
==
':'
?
arg
+
1
:
""
;
break
;
...
...
@@ -302,7 +302,7 @@ static void parse_meta_type(char *arg, char *type, int *index, const char **stre
break
;
default:
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid metadata type %c.
\n
"
,
*
arg
);
exit
_program
(
1
);
exit
(
1
);
}
}
else
*
type
=
'g'
;
...
...
@@ -331,7 +331,7 @@ static int copy_metadata(char *outspec, char *inspec, AVFormatContext *oc, AVFor
if ((index) < 0 || (index) >= (nb_elems)) {\
av_log(NULL, AV_LOG_FATAL, "Invalid %s index %d while processing metadata maps.\n",\
(desc), (index));\
exit
_program
(1);\
exit(1);\
}
#define SET_DICT(type, meta, context, index)\
...
...
@@ -360,11 +360,11 @@ static int copy_metadata(char *outspec, char *inspec, AVFormatContext *oc, AVFor
meta_in
=
&
ic
->
streams
[
i
]
->
metadata
;
break
;
}
else
if
(
ret
<
0
)
exit
_program
(
1
);
exit
(
1
);
}
if
(
!
meta_in
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Stream specifier %s does not match any streams.
\n
"
,
istream_spec
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -374,7 +374,7 @@ static int copy_metadata(char *outspec, char *inspec, AVFormatContext *oc, AVFor
meta_out
=
&
oc
->
streams
[
i
]
->
metadata
;
av_dict_copy
(
meta_out
,
*
meta_in
,
AV_DICT_DONT_OVERWRITE
);
}
else
if
(
ret
<
0
)
exit
_program
(
1
);
exit
(
1
);
}
}
else
av_dict_copy
(
meta_out
,
*
meta_in
,
AV_DICT_DONT_OVERWRITE
);
...
...
@@ -402,11 +402,11 @@ static AVCodec *find_codec_or_die(const char *name, enum AVMediaType type, int e
if
(
!
codec
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Unknown %s '%s'
\n
"
,
codec_string
,
name
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
codec
->
type
!=
type
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid %s type '%s'
\n
"
,
codec_string
,
name
);
exit
_program
(
1
);
exit
(
1
);
}
return
codec
;
}
...
...
@@ -439,7 +439,7 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
char
*
framerate
=
NULL
;
if
(
!
ist
)
exit
_program
(
1
);
exit
(
1
);
input_streams
=
grow_array
(
input_streams
,
sizeof
(
*
input_streams
),
&
nb_input_streams
,
nb_input_streams
+
1
);
input_streams
[
nb_input_streams
-
1
]
=
ist
;
...
...
@@ -466,7 +466,7 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
framerate
)
<
0
)
{
av_log
(
NULL
,
AV_LOG_ERROR
,
"Error parsing framerate %s.
\n
"
,
framerate
);
exit
_program
(
1
);
exit
(
1
);
}
break
;
...
...
@@ -501,12 +501,12 @@ static void assert_file_overwrite(const char *filename)
fflush
(
stderr
);
if
(
!
read_yesno
())
{
fprintf
(
stderr
,
"Not overwriting - exiting
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
}
else
{
fprintf
(
stderr
,
"File '%s' already exists. Exiting.
\n
"
,
filename
);
exit
_program
(
1
);
exit
(
1
);
}
}
}
...
...
@@ -528,7 +528,7 @@ static void dump_attachment(AVStream *st, const char *filename)
if
(
!*
filename
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"No filename specified and no 'filename' tag"
"in stream #%d:%d.
\n
"
,
nb_input_files
-
1
,
st
->
index
);
exit
_program
(
1
);
exit
(
1
);
}
assert_file_overwrite
(
filename
);
...
...
@@ -536,7 +536,7 @@ static void dump_attachment(AVStream *st, const char *filename)
if
((
ret
=
avio_open2
(
&
out
,
filename
,
AVIO_FLAG_WRITE
,
&
int_cb
,
NULL
))
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Could not open file %s for writing.
\n
"
,
filename
);
exit
_program
(
1
);
exit
(
1
);
}
avio_write
(
out
,
st
->
codec
->
extradata
,
st
->
codec
->
extradata_size
);
...
...
@@ -558,7 +558,7 @@ static int opt_input_file(void *optctx, const char *opt, const char *filename)
if
(
o
->
format
)
{
if
(
!
(
file_iformat
=
av_find_input_format
(
o
->
format
)))
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Unknown input format: '%s'
\n
"
,
o
->
format
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -572,7 +572,7 @@ static int opt_input_file(void *optctx, const char *opt, const char *filename)
ic
=
avformat_alloc_context
();
if
(
!
ic
)
{
print_error
(
filename
,
AVERROR
(
ENOMEM
));
exit
_program
(
1
);
exit
(
1
);
}
if
(
o
->
nb_audio_sample_rate
)
{
snprintf
(
buf
,
sizeof
(
buf
),
"%d"
,
o
->
audio_sample_rate
[
o
->
nb_audio_sample_rate
-
1
].
u
.
i
);
...
...
@@ -613,7 +613,7 @@ static int opt_input_file(void *optctx, const char *opt, const char *filename)
err
=
avformat_open_input
(
&
ic
,
filename
,
file_iformat
,
&
format_opts
);
if
(
err
<
0
)
{
print_error
(
filename
,
err
);
exit
_program
(
1
);
exit
(
1
);
}
assert_avoptions
(
format_opts
);
...
...
@@ -631,7 +631,7 @@ static int opt_input_file(void *optctx, const char *opt, const char *filename)
if
(
ret
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"%s: could not find codec parameters
\n
"
,
filename
);
avformat_close_input
(
&
ic
);
exit
_program
(
1
);
exit
(
1
);
}
timestamp
=
o
->
start_time
;
...
...
@@ -656,7 +656,7 @@ static int opt_input_file(void *optctx, const char *opt, const char *filename)
input_files
=
grow_array
(
input_files
,
sizeof
(
*
input_files
),
&
nb_input_files
,
nb_input_files
+
1
);
if
(
!
(
input_files
[
nb_input_files
-
1
]
=
av_mallocz
(
sizeof
(
*
input_files
[
0
]))))
exit
_program
(
1
);
exit
(
1
);
input_files
[
nb_input_files
-
1
]
->
ctx
=
ic
;
input_files
[
nb_input_files
-
1
]
->
ist_index
=
nb_input_streams
-
ic
->
nb_streams
;
...
...
@@ -691,7 +691,7 @@ static uint8_t *get_line(AVIOContext *s)
if
(
avio_open_dyn_buf
(
&
line
)
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Could not alloc buffer for reading preset.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
while
((
c
=
avio_r8
(
s
))
&&
c
!=
'\n'
)
...
...
@@ -758,7 +758,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
if
(
!
st
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Could not alloc stream.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
oc
->
nb_streams
-
1
<
o
->
nb_streamid_map
)
...
...
@@ -767,7 +767,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
output_streams
=
grow_array
(
output_streams
,
sizeof
(
*
output_streams
),
&
nb_output_streams
,
nb_output_streams
+
1
);
if
(
!
(
ost
=
av_mallocz
(
sizeof
(
*
ost
))))
exit
_program
(
1
);
exit
(
1
);
output_streams
[
nb_output_streams
-
1
]
=
ost
;
ost
->
file_index
=
nb_output_files
;
...
...
@@ -792,7 +792,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
}
if
(
!
(
arg
=
strchr
(
buf
,
'='
)))
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid line found in the preset file.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
*
arg
++
=
0
;
av_dict_set
(
&
ost
->
opts
,
buf
,
arg
,
AV_DICT_DONT_OVERWRITE
);
...
...
@@ -804,7 +804,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
av_log
(
NULL
,
AV_LOG_FATAL
,
"Preset %s specified for stream %d:%d, but could not be opened.
\n
"
,
preset
,
ost
->
file_index
,
ost
->
index
);
exit
_program
(
1
);
exit
(
1
);
}
ost
->
max_frames
=
INT64_MAX
;
...
...
@@ -816,7 +816,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
*
next
++
=
0
;
if
(
!
(
bsfc
=
av_bitstream_filter_init
(
bsf
)))
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Unknown bitstream filter %s
\n
"
,
bsf
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
bsfc_prev
)
bsfc_prev
->
next
=
bsfc
;
...
...
@@ -862,7 +862,7 @@ static void parse_matrix_coeffs(uint16_t *dest, const char *str)
p
=
strchr
(
p
,
','
);
if
(
!
p
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Syntax error in matrix
\"
%s
\"
at coeff %d
\n
"
,
str
,
i
);
exit
_program
(
1
);
exit
(
1
);
}
p
++
;
}
...
...
@@ -890,13 +890,13 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc)
MATCH_PER_STREAM_OPT
(
frame_rates
,
str
,
frame_rate
,
oc
,
st
);
if
(
frame_rate
&&
av_parse_video_rate
(
&
ost
->
frame_rate
,
frame_rate
)
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid framerate value: %s
\n
"
,
frame_rate
);
exit
_program
(
1
);
exit
(
1
);
}
MATCH_PER_STREAM_OPT
(
frame_sizes
,
str
,
frame_size
,
oc
,
st
);
if
(
frame_size
&&
av_parse_video_size
(
&
video_enc
->
width
,
&
video_enc
->
height
,
frame_size
)
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid frame size: %s.
\n
"
,
frame_size
);
exit
_program
(
1
);
exit
(
1
);
}
MATCH_PER_STREAM_OPT
(
frame_aspect_ratios
,
str
,
frame_aspect_ratio
,
oc
,
st
);
...
...
@@ -906,7 +906,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc)
MATCH_PER_STREAM_OPT
(
frame_pix_fmts
,
str
,
frame_pix_fmt
,
oc
,
st
);
if
(
frame_pix_fmt
&&
(
video_enc
->
pix_fmt
=
av_get_pix_fmt
(
frame_pix_fmt
))
==
PIX_FMT_NONE
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Unknown pixel format requested: %s.
\n
"
,
frame_pix_fmt
);
exit
_program
(
1
);
exit
(
1
);
}
st
->
sample_aspect_ratio
=
video_enc
->
sample_aspect_ratio
;
...
...
@@ -914,7 +914,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc)
if
(
intra_matrix
)
{
if
(
!
(
video_enc
->
intra_matrix
=
av_mallocz
(
sizeof
(
*
video_enc
->
intra_matrix
)
*
64
)))
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Could not allocate memory for intra matrix.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
parse_matrix_coeffs
(
video_enc
->
intra_matrix
,
intra_matrix
);
}
...
...
@@ -922,7 +922,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc)
if
(
inter_matrix
)
{
if
(
!
(
video_enc
->
inter_matrix
=
av_mallocz
(
sizeof
(
*
video_enc
->
inter_matrix
)
*
64
)))
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Could not allocate memory for inter matrix.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
parse_matrix_coeffs
(
video_enc
->
inter_matrix
,
inter_matrix
);
}
...
...
@@ -933,7 +933,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc)
int
e
=
sscanf
(
p
,
"%d,%d,%d"
,
&
start
,
&
end
,
&
q
);
if
(
e
!=
3
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"error parsing rc_override
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
video_enc
->
rc_override
=
av_realloc
(
video_enc
->
rc_override
,
...
...
@@ -969,7 +969,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc)
MATCH_PER_STREAM_OPT
(
passlogfiles
,
str
,
ost
->
logfile_prefix
,
oc
,
st
);
if
(
ost
->
logfile_prefix
&&
!
(
ost
->
logfile_prefix
=
av_strdup
(
ost
->
logfile_prefix
)))
exit
_program
(
1
);
exit
(
1
);
MATCH_PER_STREAM_OPT
(
forced_key_frames
,
str
,
ost
->
forced_keyframes
,
oc
,
st
);
if
(
ost
->
forced_keyframes
)
...
...
@@ -1011,7 +1011,7 @@ static OutputStream *new_audio_stream(OptionsContext *o, AVFormatContext *oc)
if
(
sample_fmt
&&
(
audio_enc
->
sample_fmt
=
av_get_sample_fmt
(
sample_fmt
))
==
AV_SAMPLE_FMT_NONE
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid sample format '%s'
\n
"
,
sample_fmt
);
exit
_program
(
1
);
exit
(
1
);
}
MATCH_PER_STREAM_OPT
(
audio_sample_rate
,
i
,
audio_enc
->
sample_rate
,
oc
,
st
);
...
...
@@ -1030,7 +1030,7 @@ static OutputStream *new_data_stream(OptionsContext *o, AVFormatContext *oc)
ost
=
new_output_stream
(
o
,
oc
,
AVMEDIA_TYPE_DATA
);
if
(
!
ost
->
stream_copy
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Data stream encoding not supported yet (only streamcopy)
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
return
ost
;
...
...
@@ -1072,7 +1072,7 @@ static int opt_streamid(void *optctx, const char *opt, const char *arg)
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid value '%s' for option '%s', required syntax is 'index:value'
\n
"
,
arg
,
opt
);
exit
_program
(
1
);
exit
(
1
);
}
*
p
++
=
'\0'
;
idx
=
parse_number_or_die
(
opt
,
idx_str
,
OPT_INT
,
0
,
INT_MAX
);
...
...
@@ -1133,7 +1133,7 @@ static void init_output_filter(OutputFilter *ofilter, OptionsContext *o,
default:
av_log
(
NULL
,
AV_LOG_FATAL
,
"Only video and audio filters are supported "
"currently.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
ost
->
source_index
=
-
1
;
...
...
@@ -1145,12 +1145,12 @@ static void init_output_filter(OutputFilter *ofilter, OptionsContext *o,
av_log
(
NULL
,
AV_LOG_ERROR
,
"Streamcopy requested for output stream %d:%d, "
"which is fed from a complex filtergraph. Filtering and streamcopy "
"cannot be used together.
\n
"
,
ost
->
file_index
,
ost
->
index
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
configure_output_filter
(
ofilter
->
graph
,
ofilter
,
ofilter
->
out_tmp
)
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Error configuring filter.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
avfilter_inout_free
(
&
ofilter
->
out_tmp
);
}
...
...
@@ -1177,7 +1177,7 @@ void opt_output_file(void *optctx, const char *filename)
if
(
configure_complex_filters
()
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Error configuring filters.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
!
strcmp
(
filename
,
"-"
))
...
...
@@ -1186,21 +1186,21 @@ void opt_output_file(void *optctx, const char *filename)
oc
=
avformat_alloc_context
();
if
(
!
oc
)
{
print_error
(
filename
,
AVERROR
(
ENOMEM
));
exit
_program
(
1
);
exit
(
1
);
}
if
(
o
->
format
)
{
file_oformat
=
av_guess_format
(
o
->
format
,
NULL
,
NULL
);
if
(
!
file_oformat
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Requested output format '%s' is not a suitable output format
\n
"
,
o
->
format
);
exit
_program
(
1
);
exit
(
1
);
}
}
else
{
file_oformat
=
av_guess_format
(
NULL
,
filename
,
NULL
);
if
(
!
file_oformat
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Unable to find a suitable output format for '%s'
\n
"
,
filename
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -1301,7 +1301,7 @@ loop_end:
if
(
!
ofilter
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Output with label '%s' does not exist "
"in any defined filter graph.
\n
"
,
map
->
linklabel
);
exit
_program
(
1
);
exit
(
1
);
}
init_output_filter
(
ofilter
,
o
,
oc
);
}
else
{
...
...
@@ -1315,7 +1315,7 @@ loop_end:
default:
av_log
(
NULL
,
AV_LOG_FATAL
,
"Cannot map stream #%d:%d - unsupported type.
\n
"
,
map
->
file_index
,
map
->
stream_index
);
exit
_program
(
1
);
exit
(
1
);
}
ost
->
source_index
=
input_files
[
map
->
file_index
]
->
ist_index
+
map
->
stream_index
;
...
...
@@ -1337,17 +1337,17 @@ loop_end:
if
((
err
=
avio_open2
(
&
pb
,
o
->
attachments
[
i
],
AVIO_FLAG_READ
,
&
int_cb
,
NULL
))
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Could not open attachment file %s.
\n
"
,
o
->
attachments
[
i
]);
exit
_program
(
1
);
exit
(
1
);
}
if
((
len
=
avio_size
(
pb
))
<=
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Could not get size of the attachment %s.
\n
"
,
o
->
attachments
[
i
]);
exit
_program
(
1
);
exit
(
1
);
}
if
(
!
(
attachment
=
av_malloc
(
len
)))
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Attachment %s too large to fit into memory.
\n
"
,
o
->
attachments
[
i
]);
exit
_program
(
1
);
exit
(
1
);
}
avio_read
(
pb
,
attachment
,
len
);
...
...
@@ -1365,7 +1365,7 @@ loop_end:
output_files
=
grow_array
(
output_files
,
sizeof
(
*
output_files
),
&
nb_output_files
,
nb_output_files
+
1
);
if
(
!
(
output_files
[
nb_output_files
-
1
]
=
av_mallocz
(
sizeof
(
*
output_files
[
0
]))))
exit
_program
(
1
);
exit
(
1
);
output_files
[
nb_output_files
-
1
]
->
ctx
=
oc
;
output_files
[
nb_output_files
-
1
]
->
ost_index
=
nb_output_streams
-
oc
->
nb_streams
;
...
...
@@ -1381,7 +1381,7 @@ loop_end:
if
(
oc
->
oformat
->
flags
&
AVFMT_NEEDNUMBER
)
{
if
(
!
av_filename_number_test
(
oc
->
filename
))
{
print_error
(
oc
->
filename
,
AVERROR
(
EINVAL
));
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -1394,7 +1394,7 @@ loop_end:
&
oc
->
interrupt_callback
,
&
output_files
[
nb_output_files
-
1
]
->
opts
))
<
0
)
{
print_error
(
filename
,
err
);
exit
_program
(
1
);
exit
(
1
);
}
}
...
...
@@ -1415,7 +1415,7 @@ loop_end:
continue
;
if
(
in_file_index
>=
nb_input_files
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid input file index %d while processing metadata maps
\n
"
,
in_file_index
);
exit
_program
(
1
);
exit
(
1
);
}
copy_metadata
(
o
->
metadata_map
[
i
].
specifier
,
*
p
?
p
+
1
:
p
,
oc
,
input_files
[
in_file_index
]
->
ctx
,
o
);
}
...
...
@@ -1433,7 +1433,7 @@ loop_end:
}
else
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid input file index %d in chapter mapping.
\n
"
,
o
->
chapters_input_file
);
exit
_program
(
1
);
exit
(
1
);
}
}
if
(
o
->
chapters_input_file
>=
0
)
...
...
@@ -1464,7 +1464,7 @@ loop_end:
if
(
!
val
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"No '=' character in metadata string %s.
\n
"
,
o
->
metadata
[
i
].
u
.
str
);
exit
_program
(
1
);
exit
(
1
);
}
*
val
++
=
0
;
...
...
@@ -1474,7 +1474,7 @@ loop_end:
if
((
ret
=
check_stream_specifier
(
oc
,
oc
->
streams
[
j
],
stream_spec
))
>
0
)
{
av_dict_set
(
&
oc
->
streams
[
j
]
->
metadata
,
o
->
metadata
[
i
].
u
.
str
,
*
val
?
val
:
NULL
,
0
);
}
else
if
(
ret
<
0
)
exit
_program
(
1
);
exit
(
1
);
}
}
else
{
...
...
@@ -1485,13 +1485,13 @@ loop_end:
case
'c'
:
if
(
index
<
0
||
index
>=
oc
->
nb_chapters
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid chapter index %d in metadata specifier.
\n
"
,
index
);
exit
_program
(
1
);
exit
(
1
);
}
m
=
&
oc
->
chapters
[
index
]
->
metadata
;
break
;
default:
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid metadata specifier %s.
\n
"
,
o
->
metadata
[
i
].
specifier
);
exit
_program
(
1
);
exit
(
1
);
}
av_dict_set
(
m
,
o
->
metadata
[
i
].
u
.
str
,
*
val
?
val
:
NULL
,
0
);
}
...
...
@@ -1545,7 +1545,7 @@ static int opt_target(void *optctx, const char *opt, const char *arg)
av_log
(
NULL
,
AV_LOG_FATAL
,
"Could not determine norm (PAL/NTSC/NTSC-Film) for target.
\n
"
);
av_log
(
NULL
,
AV_LOG_FATAL
,
"Please prefix target with
\"
pal-
\"
,
\"
ntsc-
\"
or
\"
film-
\"
,
\n
"
);
av_log
(
NULL
,
AV_LOG_FATAL
,
"or set a framerate with
\"
-r xxx
\"
.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
!
strcmp
(
arg
,
"vcd"
))
{
...
...
avplay.c
View file @
5e3f9979
...
...
@@ -282,11 +282,6 @@ static AVPacket flush_pkt;
static
SDL_Surface
*
screen
;
void
exit_program
(
int
ret
)
{
exit
(
ret
);
}
static
int
packet_queue_put
(
PacketQueue
*
q
,
AVPacket
*
pkt
);
/* packet queue handling */
...
...
avprobe.c
View file @
5e3f9979
...
...
@@ -59,10 +59,9 @@ static const char unit_hertz_str[] = "Hz" ;
static
const
char
unit_byte_str
[]
=
"byte"
;
static
const
char
unit_bit_per_second_str
[]
=
"bit/s"
;
void
exit_program
(
int
ret
)
static
void
exit_program
(
)
{
av_dict_free
(
&
fmt_entries_to_show
);
exit
(
ret
);
}
/*
...
...
@@ -926,6 +925,8 @@ int main(int argc, char **argv)
if
(
!
buffer
)
exit
(
1
);
atexit
(
exit_program
);
options
=
real_options
;
parse_loglevel
(
argc
,
argv
,
options
);
av_register_all
();
...
...
avserver.c
View file @
5e3f9979
...
...
@@ -323,11 +323,6 @@ static AVLFG random_state;
static
FILE
*
logfile
=
NULL
;
void
exit_program
(
int
ret
)
{
exit
(
ret
);
}
/* FIXME: make avserver work with IPv6 */
/* resolve host with also IP address parsing */
static
int
resolve_host
(
struct
in_addr
*
sin_addr
,
const
char
*
hostname
)
...
...
cmdutils.c
View file @
5e3f9979
...
...
@@ -97,7 +97,7 @@ double parse_number_or_die(const char *context, const char *numstr, int type,
else
return
d
;
av_log
(
NULL
,
AV_LOG_FATAL
,
error
,
context
,
numstr
,
min
,
max
);
exit
_program
(
1
);
exit
(
1
);
return
0
;
}
...
...
@@ -108,7 +108,7 @@ int64_t parse_time_or_die(const char *context, const char *timestr,
if
(
av_parse_time
(
&
us
,
timestr
,
is_duration
)
<
0
)
{
av_log
(
NULL
,
AV_LOG_FATAL
,
"Invalid %s specification for %s: %s
\n
"
,
is_duration
?
"duration"
:
"date"
,
context
,
timestr
);
exit
_program
(
1
);
exit
(
1
);
}
return
us
;
}
...
...
@@ -294,7 +294,7 @@ int parse_option(void *optctx, const char *opt, const char *arg,
}
}
if
(
po
->
flags
&
OPT_EXIT
)
exit
_program
(
0
);
exit
(
0
);
return
!!
(
po
->
flags
&
HAS_ARG
);
}
...
...
@@ -320,7 +320,7 @@ void parse_options(void *optctx, int argc, char **argv, const OptionDef *options
opt
++
;
if
((
ret
=
parse_option
(
optctx
,
opt
,
argv
[
optindex
],
options
))
<
0
)
exit
_program
(
1
);
exit
(
1
);
optindex
+=
ret
;
}
else
{
if
(
parse_arg_function
)
...
...
@@ -429,7 +429,7 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg)
"Possible levels are numbers or:
\n
"
,
arg
);
for
(
i
=
0
;
i
<
FF_ARRAY_ELEMS
(
log_levels
);
i
++
)
av_log
(
NULL
,
AV_LOG_FATAL
,
"
\"
%s
\"\n
"
,
log_levels
[
i
].
name
);
exit
_program
(
1
);
exit
(
1
);
}
av_log_set_level
(
level
);
return
0
;
...
...
@@ -1265,13 +1265,13 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
{
if
(
new_size
>=
INT_MAX
/
elem_size
)
{
av_log
(
NULL
,
AV_LOG_ERROR
,
"Array too big.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
if
(
*
size
<
new_size
)
{
uint8_t
*
tmp
=
av_realloc
(
array
,
new_size
*
elem_size
);
if
(
!
tmp
)
{
av_log
(
NULL
,
AV_LOG_ERROR
,
"Could not alloc buffer.
\n
"
);
exit
_program
(
1
);
exit
(
1
);
}
memset
(
tmp
+
*
size
*
elem_size
,
0
,
(
new_size
-*
size
)
*
elem_size
);
*
size
=
new_size
;
...
...
cmdutils.h
View file @
5e3f9979
...
...
@@ -400,15 +400,9 @@ int64_t guess_correct_pts(PtsCorrectionContext *ctx, int64_t pts, int64_t dts);
FILE
*
get_preset_file
(
char
*
filename
,
size_t
filename_size
,
const
char
*
preset_name
,
int
is_path
,
const
char
*
codec_name
);
/**
* Do all the necessary cleanup and abort.
* This function is implemented in the avtools, not cmdutils.
*/
av_noreturn
void
exit_program
(
int
ret
);
/**
* Realloc array to hold new_size elements of elem_size.
* Calls exit
_program
() on failure.
* Calls exit() on failure.
*
* @param elem_size size in bytes of each element
* @param size new element count will be written here
...
...
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