annotate av_opts.c @ 34175:a345e7162d0a

Move TranslateFilename() to util/string.c. Now that the Win32 GUI uses symbolic constants for its messages, the code of TranslateFilename() both GUIs use is almost identical. So, share the code.
author ib
date Wed, 26 Oct 2011 15:14:06 +0000
parents 54faee206150
children d1f195e84b9e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26704
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
1 /*
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
2 * AVOption parsing helper
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
3 * Copyright (C) 2008 Michael Niedermayer
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
4 *
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
5 * This file is part of MPlayer.
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
6 *
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
7 * MPlayer is free software; you can redistribute it and/or modify
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
8 * it under the terms of the GNU General Public License as published by
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
10 * (at your option) any later version.
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
11 *
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
12 * MPlayer is distributed in the hope that it will be useful,
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
15 * GNU General Public License for more details.
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
16 *
26706
e37323667348 Use standard license header.
diego
parents: 26704
diff changeset
17 * You should have received a copy of the GNU General Public License along
e37323667348 Use standard license header.
diego
parents: 26704
diff changeset
18 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
e37323667348 Use standard license header.
diego
parents: 26704
diff changeset
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26704
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
20 */
41f8ba327cf5 Add license headers to av_opts
reimar
parents: 26699
diff changeset
21
26691
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
22 #include <stdlib.h>
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
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"
26691
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
26 #include "libavcodec/opt.h"
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
27
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
28 int parse_avopts(void *v, char *str){
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
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
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
34 start= str= strdup(str);
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
35
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
36 while(str && *str){
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
37 char *next_opt, *arg;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
38
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
39 next_opt= strchr(str, ',');
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
40 if(next_opt) *next_opt++= 0;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
41
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
42 arg = strchr(str, '=');
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
43 if(arg) *arg++= 0;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
44
32769
833b0eb23585 Use av_set_string3 instead of deprecated av_set_string.
reimar
parents: 31201
diff changeset
45 if(av_set_string3(v, str, arg, 0, NULL) < 0){
26691
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
46 free(start);
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
47 return -1;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
48 }
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
49 str= next_opt;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
50 }
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
51
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
52 free(start);
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
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 }