Mercurial > mplayer.hg
annotate stream/url.h @ 24589:9118be6575da
demux_audio.c: Fix timestamp handling
The code calculated the pts values of audio packets by adding the length
of the current packet to the pts of the previous one. The length of the
previous packet should be added instead. This broke WAV timestamps near
the end of the stream where a short packet occurs.
Change the code to store the pts of the next packet instead of the last
one. This fixes the WAV timestamps and allows some simplifications.
MP3 timestamps are not affected as packets are always treated as
constant decoded length, and FLAC timestamps still have worse problems
(FLAC is treated as as if it was constant bitrate even though it isn't).
Also store the timestamps as double instead of float.
author | uau |
---|---|
date | Mon, 24 Sep 2007 21:49:56 +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 */ |