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