Mercurial > mplayer.hg
annotate stream/url.h @ 24590:2c238fa777ff
ao_alsa: Fix get_space() return values larger than buffersize
After a buffer underrun the ALSA get_space() function sometimes returned
values larger than the ao had set in ao_data.buffersize. Fix this by
replacing the old check against MAX_OUTBURST by one against
ao_data.buffersize. There should be no need for the MAX_OUTBURST check;
the current MPlayer side should no longer have any constant limit on the
amount of data an ao can buffer or request at once.
The get_space() values larger than ao_data.buffersize triggered errors
in audio decoding causing the current attempt to fill audio buffers to
be aborted. I'm not sure how often that caused behavior noticeably worse
then an underrun already is.
author | uau |
---|---|
date | Mon, 24 Sep 2007 21:49:58 +0000 |
parents | 3f0d00abc073 |
children | 4129c8cfa742 |
rev | line source |
---|---|
902 | 1 /* |
2 * URL Helper | |
3 * by Bertrand Baudet <bertrand_baudet@yahoo.com> | |
4 * (C) 2001, MPlayer team. | |
5 */ | |
6 | |
23689
3f0d00abc073
Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents:
20784
diff
changeset
|
7 #ifndef URL_H |
3f0d00abc073
Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents:
20784
diff
changeset
|
8 #define URL_H |
833 | 9 |
23689
3f0d00abc073
Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents:
20784
diff
changeset
|
10 //#define URL_DEBUG |
4119
639b3b47b138
Added a debug function to print the struct's variables.
bertrand
parents:
3496
diff
changeset
|
11 |
833 | 12 typedef struct { |
13 char *url; | |
14 char *protocol; | |
15 char *hostname; | |
840 | 16 char *file; |
833 | 17 unsigned int port; |
902 | 18 char *username; |
19 char *password; | |
833 | 20 } URL_t; |
21 | |
20784
720206eef78b
Support URL redirections that do not specify full URL.
reimar
parents:
19271
diff
changeset
|
22 URL_t *url_redirect(URL_t **url, const char *redir); |
9690
a9b7b6055563
Added support for IPv6 numeric url like: http://[3ffe:400:100::1]:80/file
bertrand
parents:
7279
diff
changeset
|
23 URL_t* url_new(const char* url); |
902 | 24 void url_free(URL_t* url); |
833 | 25 |
9690
a9b7b6055563
Added support for IPv6 numeric url like: http://[3ffe:400:100::1]:80/file
bertrand
parents:
7279
diff
changeset
|
26 void url_unescape_string(char *outbuf, const char *inbuf); |
a9b7b6055563
Added support for IPv6 numeric url like: http://[3ffe:400:100::1]:80/file
bertrand
parents:
7279
diff
changeset
|
27 void url_escape_string(char *outbuf, const char *inbuf); |
3496
5c8a533dfa09
Added 2 functions to escape/unescape the url as described in the RFC 2396.
bertrand
parents:
3040
diff
changeset
|
28 |
23689
3f0d00abc073
Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents:
20784
diff
changeset
|
29 #ifdef URL_DEBUG |
9690
a9b7b6055563
Added support for IPv6 numeric url like: http://[3ffe:400:100::1]:80/file
bertrand
parents:
7279
diff
changeset
|
30 void url_debug(const URL_t* url); |
23689
3f0d00abc073
Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents:
20784
diff
changeset
|
31 #endif /* URL_DEBUG */ |
4119
639b3b47b138
Added a debug function to print the struct's variables.
bertrand
parents:
3496
diff
changeset
|
32 |
23689
3f0d00abc073
Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents:
20784
diff
changeset
|
33 #endif /* URL_H */ |