Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: patched-ffmpeg-mt/libavformat/tcp.c

Issue 789004: ffmpeg roll of source to mar 9 version... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * TCP protocol 2 * TCP protocol
3 * Copyright (c) 2002 Fabrice Bellard 3 * Copyright (c) 2002 Fabrice Bellard
4 * 4 *
5 * This file is part of FFmpeg. 5 * This file is part of FFmpeg.
6 * 6 *
7 * FFmpeg is free software; you can redistribute it and/or 7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public 8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version. 10 * version 2.1 of the License, or (at your option) any later version.
(...skipping 26 matching lines...) Expand all
37 struct addrinfo hints, *ai, *cur_ai; 37 struct addrinfo hints, *ai, *cur_ai;
38 int port, fd = -1; 38 int port, fd = -1;
39 TCPContext *s = NULL; 39 TCPContext *s = NULL;
40 fd_set wfds; 40 fd_set wfds;
41 int fd_max, ret; 41 int fd_max, ret;
42 struct timeval tv; 42 struct timeval tv;
43 socklen_t optlen; 43 socklen_t optlen;
44 char hostname[1024],proto[1024],path[1024]; 44 char hostname[1024],proto[1024],path[1024];
45 char portstr[10]; 45 char portstr[10];
46 46
47 if(!ff_network_init()) 47 ff_url_split(proto, sizeof(proto), NULL, 0, hostname, sizeof(hostname),
48 return AVERROR(EIO);
49
50 url_split(proto, sizeof(proto), NULL, 0, hostname, sizeof(hostname),
51 &port, path, sizeof(path), uri); 48 &port, path, sizeof(path), uri);
52 if (strcmp(proto,"tcp") || port <= 0 || port >= 65536) 49 if (strcmp(proto,"tcp") || port <= 0 || port >= 65536)
53 return AVERROR(EINVAL); 50 return AVERROR(EINVAL);
54 51
55 memset(&hints, 0, sizeof(hints)); 52 memset(&hints, 0, sizeof(hints));
56 hints.ai_family = AF_UNSPEC; 53 hints.ai_family = AF_UNSPEC;
57 hints.ai_socktype = SOCK_STREAM; 54 hints.ai_socktype = SOCK_STREAM;
58 snprintf(portstr, sizeof(portstr), "%d", port); 55 snprintf(portstr, sizeof(portstr), "%d", port);
59 if (getaddrinfo(hostname, portstr, &hints, &ai)) 56 if (getaddrinfo(hostname, portstr, &hints, &ai))
60 return AVERROR(EIO); 57 return AVERROR(EIO);
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 return -1; 182 return -1;
186 } 183 }
187 } 184 }
188 return size1 - size; 185 return size1 - size;
189 } 186 }
190 187
191 static int tcp_close(URLContext *h) 188 static int tcp_close(URLContext *h)
192 { 189 {
193 TCPContext *s = h->priv_data; 190 TCPContext *s = h->priv_data;
194 closesocket(s->fd); 191 closesocket(s->fd);
195 ff_network_close();
196 av_free(s); 192 av_free(s);
197 return 0; 193 return 0;
198 } 194 }
199 195
200 static int tcp_get_file_handle(URLContext *h) 196 static int tcp_get_file_handle(URLContext *h)
201 { 197 {
202 TCPContext *s = h->priv_data; 198 TCPContext *s = h->priv_data;
203 return s->fd; 199 return s->fd;
204 } 200 }
205 201
206 URLProtocol tcp_protocol = { 202 URLProtocol tcp_protocol = {
207 "tcp", 203 "tcp",
208 tcp_open, 204 tcp_open,
209 tcp_read, 205 tcp_read,
210 tcp_write, 206 tcp_write,
211 NULL, /* seek */ 207 NULL, /* seek */
212 tcp_close, 208 tcp_close,
213 .url_get_file_handle = tcp_get_file_handle, 209 .url_get_file_handle = tcp_get_file_handle,
214 }; 210 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698