Mercurial > mplayer.hg
annotate libmpdemux/demux_rtp_internal.h @ 29881:5797dc687a8e
Add preliminary support for streaming via FFmpeg's URProtocol functions.
Basic playback tested for file and http protocols.
author | reimar |
---|---|
date | Tue, 17 Nov 2009 16:09:17 +0000 |
parents | d643e4643313 |
children | e4ad2582ca37 |
rev | line source |
---|---|
29238
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
1 /* |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
2 * This file is part of MPlayer. |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
3 * |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
7 * (at your option) any later version. |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
8 * |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
12 * GNU General Public License for more details. |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
13 * |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
17 */ |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
27341
diff
changeset
|
18 |
26029 | 19 #ifndef MPLAYER_DEMUX_RTP_INTERNAL_H |
20 #define MPLAYER_DEMUX_RTP_INTERNAL_H | |
9250 | 21 |
22 #include <stdlib.h> | |
23 | |
24 extern "C" { | |
23689
3f0d00abc073
Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents:
22852
diff
changeset
|
25 #ifndef STREAM_H |
22605
4d81dbdf46b9
Add explicit location for headers from the stream/ directory.
diego
parents:
22454
diff
changeset
|
26 #include "stream/stream.h" |
9250 | 27 #endif |
23689
3f0d00abc073
Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents:
22852
diff
changeset
|
28 #ifndef DEMUXER_H |
9250 | 29 #include "demuxer.h" |
30 #endif | |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26069
diff
changeset
|
31 #ifdef CONFIG_LIBAVCODEC |
22852 | 32 #include "libavcodec/avcodec.h" |
33 #endif | |
9250 | 34 } |
35 | |
36 #ifndef _LIVEMEDIA_HH | |
12530
773ad7374436
MinGW compilation fix, idea and approval by Sascha Sommer
diego
parents:
11754
diff
changeset
|
37 #undef STREAM_SEEK |
9250 | 38 #include <liveMedia.hh> |
39 #endif | |
40 | |
41 // Codec-specific initialization routines: | |
42 void rtpCodecInitialize_video(demuxer_t* demuxer, | |
43 MediaSubsession* subsession, unsigned& flags); | |
44 void rtpCodecInitialize_audio(demuxer_t* demuxer, | |
45 MediaSubsession* subsession, unsigned& flags); | |
46 | |
47 // Flags that may be set by the above routines: | |
9565
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
48 #define RTPSTATE_IS_MPEG12_VIDEO 0x1 // is a MPEG-1 or 2 video stream |
10476
1bc3ac054b08
Added support for checking whether a RTP demuxer had combined audio+video data.
rsf
parents:
9565
diff
changeset
|
49 #define RTPSTATE_IS_MULTIPLEXED 0x2 // is a combined audio+video stream |
9250 | 50 |
51 // A routine to wait for the first packet of a RTP stream to arrive. | |
52 // (For some RTP payload formats, codecs cannot be fully initialized until | |
53 // we've started receiving data.) | |
9565
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
54 Boolean awaitRTPPacket(demuxer_t* demuxer, demux_stream_t* ds, |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
55 unsigned char*& packetData, unsigned& packetDataLen, |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
56 float& pts); |
9250 | 57 // "streamType": 0 => video; 1 => audio |
58 // This routine returns False if the input stream has closed | |
59 | |
26029 | 60 #endif /* MPLAYER_DEMUX_RTP_INTERNAL_H */ |