annotate av_opts.c @ 30754:dff9ee89b7c1

Move stream_read_line implementation from stream.h to stream.c, it is not speed critical and the function call overhead is not relevant for its overall speed anyway.
author reimar
date Sun, 28 Feb 2010 13:54:55 +0000
parents 321e9ea69b9f
children 203789464176
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>
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
24 #include "libavcodec/opt.h"
30554
321e9ea69b9f #include corresponding .h files in .c files.
diego
parents: 26706
diff changeset
25 #include "av_opts.h"
26691
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
26
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
27 int parse_avopts(void *v, char *str){
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
28 char *start;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
29 start= str= strdup(str);
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
30
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
31 while(str && *str){
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
32 char *next_opt, *arg;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
33
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
34 next_opt= strchr(str, ',');
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
35 if(next_opt) *next_opt++= 0;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
36
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
37 arg = strchr(str, '=');
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
38 if(arg) *arg++= 0;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
39
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
40 if(!av_set_string(v, str, arg)){
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
41 free(start);
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
42 return -1;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
43 }
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
44 str= next_opt;
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
45 }
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
46
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
47 free(start);
e456af9908f8 AVOptions support.
michael
parents:
diff changeset
48 return 0;
26699
f64717dfd9d5 Add newlines at end of file, this is required for text files and gcc
reimar
parents: 26691
diff changeset
49 }