annotate libmpdemux/demux_rtp_internal.h @ 12903:80ddb6bac219

We support more than just DivX 5.01.
author diego
date Wed, 28 Jul 2004 00:02:18 +0000
parents 52138861a3c5
children 5b10f76f7a9d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9250
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
1 #ifndef _DEMUX_RTP_INTERNAL_H
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
2 #define _DEMUX_RTP_INTERNAL_H
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
3
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
4 #include <stdlib.h>
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
5
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
6 extern "C" {
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
7 #ifndef __STREAM_H
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
8 #include "stream.h"
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
9 #endif
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
10 #ifndef __DEMUXER_H
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
11 #include "demuxer.h"
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
12 #endif
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
13 }
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
14
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
15 #ifndef _LIVEMEDIA_HH
12530
773ad7374436 MinGW compilation fix, idea and approval by Sascha Sommer
diego
parents: 11754
diff changeset
16 #undef STREAM_SEEK
9250
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
17 #include <liveMedia.hh>
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
18 #endif
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
19
12865
52138861a3c5 Updated to cnform to a small change in the LIVE.COM API.
rsf
parents: 12530
diff changeset
20 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
52138861a3c5 Updated to cnform to a small change in the LIVE.COM API.
rsf
parents: 12530
diff changeset
21 #error Please upgrade to version 2004.07.19 or later of the "LIVE.COM Streaming Media" libraries - available from <www.live.com/liveMedia/>
9565
e74916774667 Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents: 9250
diff changeset
22 #endif
e74916774667 Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents: 9250
diff changeset
23
9250
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
24 // Codec-specific initialization routines:
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
25 void rtpCodecInitialize_video(demuxer_t* demuxer,
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
26 MediaSubsession* subsession, unsigned& flags);
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
27 void rtpCodecInitialize_audio(demuxer_t* demuxer,
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
28 MediaSubsession* subsession, unsigned& flags);
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
29
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
30 // 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
31 #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
32 #define RTPSTATE_IS_MULTIPLEXED 0x2 // is a combined audio+video stream
9250
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
33
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
34 // A routine to wait for the first packet of a RTP stream to arrive.
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
35 // (For some RTP payload formats, codecs cannot be fully initialized until
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
36 // we've started receiving data.)
9565
e74916774667 Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents: 9250
diff changeset
37 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
38 unsigned char*& packetData, unsigned& packetDataLen,
e74916774667 Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents: 9250
diff changeset
39 float& pts);
9250
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
40 // "streamType": 0 => video; 1 => audio
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
41 // This routine returns False if the input stream has closed
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
42
9565
e74916774667 Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents: 9250
diff changeset
43 // A routine for adding our own data to an incoming RTP data stream:
e74916774667 Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents: 9250
diff changeset
44 Boolean insertRTPData(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
45 unsigned char* data, unsigned dataLen);
e74916774667 Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents: 9250
diff changeset
46
9250
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
47 #endif