subreader.c: fix excessive memory use with some external subtitles
[mplayer/glamo.git] / libmpdemux / demux_rtp_internal.h
blob77f0364918e4d3b53d087b7b8c7c6ec0daec21d7
1 /*
2 * This file is part of MPlayer.
4 * MPlayer is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * MPlayer is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #ifndef MPLAYER_DEMUX_RTP_INTERNAL_H
20 #define MPLAYER_DEMUX_RTP_INTERNAL_H
22 #include <stdlib.h>
24 extern "C" {
25 #ifndef STREAM_H
26 #include "stream/stream.h"
27 #endif
28 #ifndef DEMUXER_H
29 #include "demuxer.h"
30 #endif
31 #ifdef CONFIG_LIBAVCODEC
32 #include "libavcodec/avcodec.h"
33 #endif
36 #ifndef _LIVEMEDIA_HH
37 #undef STREAM_SEEK
38 #include <liveMedia.hh>
39 #endif
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);
47 // Flags that may be set by the above routines:
48 #define RTPSTATE_IS_MPEG12_VIDEO 0x1 // is a MPEG-1 or 2 video stream
49 #define RTPSTATE_IS_MULTIPLEXED 0x2 // is a combined audio+video stream
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.)
54 Boolean awaitRTPPacket(demuxer_t* demuxer, demux_stream_t* ds,
55 unsigned char*& packetData, unsigned& packetDataLen,
56 float& pts);
57 // "streamType": 0 => video; 1 => audio
58 // This routine returns False if the input stream has closed
60 #endif /* MPLAYER_DEMUX_RTP_INTERNAL_H */