Mercurial > mplayer.hg
annotate stream/stream_nemesi.c @ 28511:db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
which part of the video source must be scaled onto which part of the window.
Direct3D and (future) VDPAU need this, for XvMC it makes it easier to add
cropping support and Xv is changed to keep the diff to XvMC small.
author | reimar |
---|---|
date | Thu, 12 Feb 2009 17:40:53 +0000 |
parents | a26e50cae389 |
children | 32725ca88fed |
rev | line source |
---|---|
24564 | 1 /* |
26737
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
2 * based on previous RTSP support from Benjamin Zores. |
24564 | 3 * |
26737
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
4 * Copyright (C) 2007 Alessandro Molina <amol.wrk@gmail.com> |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
5 * |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
6 * This file is part of MPlayer. |
24564 | 7 * |
26737
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
8 * MPlayer is free software; you can redistribute it and/or modify |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
10 * the Free Software Foundation; either version 2 of the License, or |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
11 * (at your option) any later version. |
24564 | 12 * |
26737
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
13 * MPlayer is distributed in the hope that it will be useful, |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
16 * GNU General Public License for more details. |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
17 * |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
18 * You should have received a copy of the GNU General Public License along |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
19 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
a26e50cae389
Use standard license headers with standard formatting.
diego
parents:
25268
diff
changeset
|
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
24564 | 21 */ |
22 | |
23 #define HAVE_STRUCT_SOCKADDR_STORAGE | |
24 | |
25 #include <stdlib.h> | |
26 #include <string.h> | |
27 #include <stdlib.h> | |
28 #include <stdio.h> | |
29 #include <ctype.h> | |
30 #include "config.h" | |
31 #include "nemesi/rtsp.h" | |
32 | |
33 #include <errno.h> | |
34 | |
35 #include "stream.h" | |
25268 | 36 #include "libmpdemux/demuxer.h" |
37 | |
24564 | 38 #include "tcp.h" |
39 | |
40 extern int network_bandwidth; | |
41 char *rtsp_destination = NULL; | |
42 | |
43 static int rtsp_streaming_seek(int fd, off_t pos, | |
44 streaming_ctrl_t* streaming_ctrl) { | |
45 return -1; | |
46 } | |
47 | |
48 static int rtsp_streaming_open (stream_t *stream, int mode, void *opts, | |
49 int *file_format) | |
50 { | |
51 rtsp_ctrl * ctl; | |
52 URL_t *url; | |
53 stream->fd = -1; | |
54 | |
55 mp_msg (MSGT_OPEN, MSGL_V, "STREAM_RTSP, URL: %s\n", stream->url); | |
56 stream->streaming_ctrl = streaming_ctrl_new (); | |
57 if (!stream->streaming_ctrl) | |
58 return STREAM_ERROR; | |
59 | |
60 stream->streaming_ctrl->bandwidth = network_bandwidth; | |
61 url = url_new(stream->url); | |
62 stream->streaming_ctrl->url = check4proxies(url); | |
63 stream->streaming_ctrl->streaming_seek = rtsp_streaming_seek; | |
64 | |
25266
239330301b33
Make libnemesi use specific struct and DEMUXER_TYPE
lu_zero
parents:
25211
diff
changeset
|
65 *file_format = DEMUXER_TYPE_RTP_NEMESI; |
24564 | 66 stream->type = STREAMTYPE_STREAM; |
67 return STREAM_OK; | |
68 } | |
69 | |
25211 | 70 const stream_info_t stream_info_rtsp = { |
24564 | 71 "RTSP streaming", |
72 "rtsp", | |
73 "Alessandro Molina", | |
74 "implemented over libnemesi", | |
75 rtsp_streaming_open, | |
76 {"rtsp", NULL}, | |
77 NULL, | |
78 0 /* Urls are an option string */ | |
79 }; | |
80 |