Mercurial > mplayer.hg
annotate av_opts.c @ 33033:1aed51b973fa
Ensure we always pass a buffer of at least sector size to the read function.
This is never an issue with streams that have actual sectors, the reads
will always return a multiple of sector size and the cache is always used
in blocks of sector size.
However the rtp protocol misuses this so it can just assume it always has
a sufficiently large buffer available and thus fails without this extra hack.
author | reimar |
---|---|
date | Sat, 26 Mar 2011 20:04:47 +0000 |
parents | 833b0eb23585 |
children | 54faee206150 |
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" |
26691 | 26 #include "libavcodec/opt.h" |
27 | |
28 int parse_avopts(void *v, char *str){ | |
29 char *start; | |
30 start= str= strdup(str); | |
31 | |
32 while(str && *str){ | |
33 char *next_opt, *arg; | |
34 | |
35 next_opt= strchr(str, ','); | |
36 if(next_opt) *next_opt++= 0; | |
37 | |
38 arg = strchr(str, '='); | |
39 if(arg) *arg++= 0; | |
40 | |
32769
833b0eb23585
Use av_set_string3 instead of deprecated av_set_string.
reimar
parents:
31201
diff
changeset
|
41 if(av_set_string3(v, str, arg, 0, NULL) < 0){ |
26691 | 42 free(start); |
43 return -1; | |
44 } | |
45 str= next_opt; | |
46 } | |
47 | |
48 free(start); | |
49 return 0; | |
26699
f64717dfd9d5
Add newlines at end of file, this is required for text files and gcc
reimar
parents:
26691
diff
changeset
|
50 } |