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
0af7fe1f
Commit
0af7fe1f
authored
Feb 25, 2013
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
af_aformat: switch to an AVOptions-based system.
parent
d28cb849
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
25 deletions
+17
-25
filters.texi
doc/filters.texi
+4
-4
af_aformat.c
libavfilter/af_aformat.c
+13
-21
No files found.
doc/filters.texi
View file @
0af7fe1f
...
...
@@ -133,13 +133,13 @@ The filter accepts the following named parameters:
@table @option
@item sample_fmts
A
comma
-separated list of requested sample formats.
A
'|'
-separated list of requested sample formats.
@item sample_rates
A
comma
-separated list of requested sample rates.
A
'|'
-separated list of requested sample rates.
@item channel_layouts
A
comma
-separated list of requested channel layouts.
A
'|'
-separated list of requested channel layouts.
@end table
...
...
@@ -147,7 +147,7 @@ If a parameter is omitted, all values are allowed.
For example to force the output to either unsigned 8-bit or signed 16-bit stereo:
@example
aformat=sample_fmts
\=u8\,s16:channel_layouts\
=stereo
aformat=sample_fmts
=u8|s16:channel_layouts
=stereo
@end example
@section amix
...
...
libavfilter/af_aformat.c
View file @
0af7fe1f
...
...
@@ -63,17 +63,24 @@ static const AVClass aformat_class = {
#define PARSE_FORMATS(str, type, list, add_to_list, get_fmt, none, desc) \
do { \
char *next, *cur = str; \
char *next, *cur = str, sep; \
\
if (str && strchr(str, ',')) { \
av_log(ctx, AV_LOG_WARNING, "This syntax is deprecated, use '|' to "\
"separate %s.\n", desc); \
sep = ','; \
} else \
sep = '|'; \
\
while (cur) { \
type fmt; \
next = strchr(cur,
','
); \
next = strchr(cur,
sep
); \
if (next) \
*next++ = 0; \
\
if ((fmt = get_fmt(cur)) == none) { \
av_log(ctx, AV_LOG_ERROR, "Error parsing " desc ": %s.\n", cur);\
ret = AVERROR(EINVAL); \
goto fail; \
return AVERROR(EINVAL); \
} \
add_to_list(&list, fmt); \
\
...
...
@@ -90,20 +97,6 @@ static int get_sample_rate(const char *samplerate)
static
av_cold
int
init
(
AVFilterContext
*
ctx
,
const
char
*
args
)
{
AFormatContext
*
s
=
ctx
->
priv
;
int
ret
;
if
(
!
args
)
{
av_log
(
ctx
,
AV_LOG_ERROR
,
"No parameters supplied.
\n
"
);
return
AVERROR
(
EINVAL
);
}
s
->
class
=
&
aformat_class
;
av_opt_set_defaults
(
s
);
if
((
ret
=
av_set_options_string
(
s
,
args
,
"="
,
":"
))
<
0
)
{
av_log
(
ctx
,
AV_LOG_ERROR
,
"Error parsing options string '%s'.
\n
"
,
args
);
return
ret
;
}
PARSE_FORMATS
(
s
->
formats_str
,
enum
AVSampleFormat
,
s
->
formats
,
ff_add_format
,
av_get_sample_fmt
,
AV_SAMPLE_FMT_NONE
,
"sample format"
);
...
...
@@ -113,9 +106,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
ff_add_channel_layout
,
av_get_channel_layout
,
0
,
"channel layout"
);
fail:
av_opt_free
(
s
);
return
ret
;
return
0
;
}
static
int
query_formats
(
AVFilterContext
*
ctx
)
...
...
@@ -154,6 +145,7 @@ AVFilter avfilter_af_aformat = {
.
init
=
init
,
.
query_formats
=
query_formats
,
.
priv_size
=
sizeof
(
AFormatContext
),
.
priv_class
=
&
aformat_class
,
.
inputs
=
avfilter_af_aformat_inputs
,
.
outputs
=
avfilter_af_aformat_outputs
,
...
...
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