Mercurial > mplayer.hg
annotate stream/stream_nemesi.c @ 29385:f9ae25067fe0
Fix 24bit audio playback.
The reordering channels code had reoccurring bug
where in switch(samplesize) block the
case 3 (3 bytes) doesn't end with break;
leading to execution of the next case 4 too.
This mangles the already processed data and
causes massive memory corruption.
author | iive |
---|---|
date | Sun, 19 Jul 2009 09:55:29 +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 |