#ifndef DEMUX_RTP_INTERNAL_H #define DEMUX_RTP_INTERNAL_H #include extern "C" { #ifndef STREAM_H #include "stream/stream.h" #endif #ifndef DEMUXER_H #include "demuxer.h" #endif #ifdef USE_LIBAVCODEC_SO #include #elif defined(USE_LIBAVCODEC) #include "libavcodec/avcodec.h" #endif } #ifndef _LIVEMEDIA_HH #undef STREAM_SEEK #include #endif // Codec-specific initialization routines: void rtpCodecInitialize_video(demuxer_t* demuxer, MediaSubsession* subsession, unsigned& flags); void rtpCodecInitialize_audio(demuxer_t* demuxer, MediaSubsession* subsession, unsigned& flags); // Flags that may be set by the above routines: #define RTPSTATE_IS_MPEG12_VIDEO 0x1 // is a MPEG-1 or 2 video stream #define RTPSTATE_IS_MULTIPLEXED 0x2 // is a combined audio+video stream // A routine to wait for the first packet of a RTP stream to arrive. // (For some RTP payload formats, codecs cannot be fully initialized until // we've started receiving data.) Boolean awaitRTPPacket(demuxer_t* demuxer, demux_stream_t* ds, unsigned char*& packetData, unsigned& packetDataLen, float& pts); // "streamType": 0 => video; 1 => audio // This routine returns False if the input stream has closed #endif