Mercurial > mplayer.hg
annotate av_opts.c @ 37117:f996bcd28c23
subreader: Check the %n result variable.
This ensures we had an actual match against the
full string.
Ideally this would be possible by checking for a one larger
return value, but unfortunately the standard is unclear if
%n arguments should be counted or not...
author | reimar |
---|---|
date | Tue, 27 May 2014 19:22:12 +0000 |
parents | 8a3aa3aee319 |
children |
rev | line source |
---|---|
26704 | 1 /* |
2 * AVOption parsing helper | |
3 * Copyright (C) 2008 Michael Niedermayer | |
4 * | |
5 * This file is part of MPlayer. | |
6 * | |
7 * MPlayer is free software; you can redistribute it and/or modify | |
8 * it under the terms of the GNU General Public License as published by | |
9 * the Free Software Foundation; either version 2 of the License, or | |
10 * (at your option) any later version. | |
11 * | |
12 * MPlayer is distributed in the hope that it will be useful, | |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 * GNU General Public License for more details. | |
16 * | |
26706 | 17 * You should have received a copy of the GNU General Public License along |
18 * with MPlayer; if not, write to the Free Software Foundation, Inc., | |
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
26704 | 20 */ |
21 | |
26691 | 22 #include <stdlib.h> |
23 #include <string.h> | |
31201
203789464176
misc cosmetics: K&R style nits, #include placement, indentation
diego
parents:
30554
diff
changeset
|
24 |
203789464176
misc cosmetics: K&R style nits, #include placement, indentation
diego
parents:
30554
diff
changeset
|
25 #include "av_opts.h" |
34545 | 26 #include "libavutil/opt.h" |
26691 | 27 |
28 int parse_avopts(void *v, char *str){ | |
29 char *start; | |
33255
54faee206150
Command Line Options: Support FFmpeg per-codec AVOptions.
philipl
parents:
32769
diff
changeset
|
30 |
54faee206150
Command Line Options: Support FFmpeg per-codec AVOptions.
philipl
parents:
32769
diff
changeset
|
31 if (!v) |
54faee206150
Command Line Options: Support FFmpeg per-codec AVOptions.
philipl
parents:
32769
diff
changeset
|
32 return -1; |
54faee206150
Command Line Options: Support FFmpeg per-codec AVOptions.
philipl
parents:
32769
diff
changeset
|
33 |
26691 | 34 start= str= strdup(str); |
35 | |
36 while(str && *str){ | |
37 char *next_opt, *arg; | |
38 | |
39 next_opt= strchr(str, ','); | |
40 if(next_opt) *next_opt++= 0; | |
41 | |
42 arg = strchr(str, '='); | |
43 if(arg) *arg++= 0; | |
44 | |
35711
8a3aa3aee319
av_opts: Replace deprecated av_set_string3() by av_opt_set()
diego
parents:
34545
diff
changeset
|
45 if (av_opt_set(v, str, arg, 0) < 0) { |
26691 | 46 free(start); |
47 return -1; | |
48 } | |
49 str= next_opt; | |
50 } | |
51 | |
52 free(start); | |
53 return 0; | |
26699
f64717dfd9d5
Add newlines at end of file, this is required for text files and gcc
reimar
parents:
26691
diff
changeset
|
54 } |