Mercurial > mplayer.hg
annotate stream/network.h @ 30930:0f14ab03ec98
Fix crash with incomplete yuv2 frames.
author | reimar |
---|---|
date | Sun, 28 Mar 2010 00:08:28 +0000 |
parents | 11eebd7c8879 |
children | 496c8a6d045b |
rev | line source |
---|---|
903 | 1 /* |
2 * Network layer for MPlayer | |
30426
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
3 * |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
4 * Copyright (C) 2001 Bertrand Baudet <bertrand_baudet@yahoo.com> |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
5 * |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
6 * This file is part of MPlayer. |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
7 * |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
8 * MPlayer is free software; you can redistribute it and/or modify |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
10 * the Free Software Foundation; either version 2 of the License, or |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
11 * (at your option) any later version. |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
12 * |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
13 * MPlayer is distributed in the hope that it will be useful, |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
16 * GNU General Public License for more details. |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
17 * |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
18 * You should have received a copy of the GNU General Public License along |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
19 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
28402
diff
changeset
|
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
903 | 21 */ |
22 | |
26029 | 23 #ifndef MPLAYER_NETWORK_H |
24 #define MPLAYER_NETWORK_H | |
903 | 25 |
3424
1c2fb4764745
Moved the network related include files from network.c to network.h
bertrand
parents:
3042
diff
changeset
|
26 #include <fcntl.h> |
10281 | 27 #include <sys/time.h> |
28 #include <sys/types.h> | |
29 | |
30 #include "config.h" | |
28402 | 31 #if !HAVE_WINSOCK2_H |
3424
1c2fb4764745
Moved the network related include files from network.c to network.h
bertrand
parents:
3042
diff
changeset
|
32 #include <netdb.h> |
1c2fb4764745
Moved the network related include files from network.c to network.h
bertrand
parents:
3042
diff
changeset
|
33 #include <netinet/in.h> |
1c2fb4764745
Moved the network related include files from network.c to network.h
bertrand
parents:
3042
diff
changeset
|
34 #include <sys/socket.h> |
1c2fb4764745
Moved the network related include files from network.c to network.h
bertrand
parents:
3042
diff
changeset
|
35 #include <arpa/inet.h> |
10281 | 36 #endif |
3424
1c2fb4764745
Moved the network related include files from network.c to network.h
bertrand
parents:
3042
diff
changeset
|
37 |
30655
73d7c7884b0c
Move struct streaming_control from network.h to stream.h, where it is used.
diego
parents:
30654
diff
changeset
|
38 #include "stream.h" |
903 | 39 #include "url.h" |
6455
c4078c1f9d53
Added a function prototype for reuse outside of network.c
bertrand
parents:
4729
diff
changeset
|
40 #include "http.h" |
903 | 41 |
28399
28406057a982
Convert HAVE_CLOSESOCKET and HAVE_SOCKLEN_T into 0/1 definitions.
diego
parents:
27712
diff
changeset
|
42 #if !HAVE_CLOSESOCKET |
27473
ae5da477539e
Move '#define closesocket close' preprocessor directive to a common place
diego
parents:
27472
diff
changeset
|
43 #define closesocket close |
ae5da477539e
Move '#define closesocket close' preprocessor directive to a common place
diego
parents:
27472
diff
changeset
|
44 #endif |
28399
28406057a982
Convert HAVE_CLOSESOCKET and HAVE_SOCKLEN_T into 0/1 definitions.
diego
parents:
27712
diff
changeset
|
45 #if !HAVE_SOCKLEN_T |
27712
daff903e23e2
Move socklen_t typedef from config.h to stream/network.h.
diego
parents:
27473
diff
changeset
|
46 typedef int socklen_t; |
daff903e23e2
Move socklen_t typedef from config.h to stream/network.h.
diego
parents:
27473
diff
changeset
|
47 #endif |
27473
ae5da477539e
Move '#define closesocket close' preprocessor directive to a common place
diego
parents:
27472
diff
changeset
|
48 |
999
92833c9472e8
Continue implementation of the network streaming part.
bertrand
parents:
903
diff
changeset
|
49 #define BUFFER_SIZE 2048 |
92833c9472e8
Continue implementation of the network streaming part.
bertrand
parents:
903
diff
changeset
|
50 |
15585 | 51 typedef struct { |
19194
5949a654e2d4
marks some read-only char* inside structs as const, patch by Stefan Huehner, stefan At huehner-org
reynaldo
parents:
17566
diff
changeset
|
52 const char *mime_type; |
15585 | 53 int demuxer_type; |
54 } mime_struct_t; | |
55 | |
17566
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
15585
diff
changeset
|
56 streaming_ctrl_t *streaming_ctrl_new(void); |
3042 | 57 int streaming_bufferize( streaming_ctrl_t *streaming_ctrl, char *buffer, int size); |
999
92833c9472e8
Continue implementation of the network streaming part.
bertrand
parents:
903
diff
changeset
|
58 |
3042 | 59 int nop_streaming_read( int fd, char *buffer, int size, streaming_ctrl_t *stream_ctrl ); |
60 int nop_streaming_seek( int fd, off_t pos, streaming_ctrl_t *stream_ctrl ); | |
15585 | 61 void streaming_ctrl_free( streaming_ctrl_t *streaming_ctrl ); |
841 | 62 |
11965 | 63 int http_send_request(URL_t *url, off_t pos); |
6455
c4078c1f9d53
Added a function prototype for reuse outside of network.c
bertrand
parents:
4729
diff
changeset
|
64 HTTP_header_t *http_read_response(int fd); |
c4078c1f9d53
Added a function prototype for reuse outside of network.c
bertrand
parents:
4729
diff
changeset
|
65 |
7953 | 66 int http_authenticate(HTTP_header_t *http_hdr, URL_t *url, int *auth_retry); |
15585 | 67 URL_t* check4proxies(URL_t *url); |
7953 | 68 |
30656 | 69 void fixup_network_stream_cache(stream_t *stream); |
70 int http_seek(stream_t *stream, off_t pos); | |
71 | |
26029 | 72 #endif /* MPLAYER_NETWORK_H */ |