diff options
author | rsf <rsf@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-11 19:08:31 +0000 |
---|---|---|
committer | rsf <rsf@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-11 19:08:31 +0000 |
commit | 555b3f61fed249553250b4264260623127ade64e (patch) | |
tree | bd3617095c7de546efc8915c2ae820f8db81a599 /libmpdemux/demux_rtp_internal.h | |
parent | c9dd54daf92bb9a9aa71e832840cb1e1f38e6f41 (diff) | |
download | mpv-555b3f61fed249553250b4264260623127ade64e.tar.bz2 mpv-555b3f61fed249553250b4264260623127ade64e.tar.xz |
Improved RTP packet buffering, by relying on the underlying OS's UDP
socket buffering. Improve A/V sync by dropping packets when one stream
gets too far behind the other. Now tries to figure out the video frame
rate automatically (if "-fps" is not used). Added support for MPEG-4
Elementary Stream video and MPEG-4 Generic audio RTP streams.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9566 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_rtp_internal.h')
-rw-r--r-- | libmpdemux/demux_rtp_internal.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/libmpdemux/demux_rtp_internal.h b/libmpdemux/demux_rtp_internal.h index e9499bdb0f..cae40f1754 100644 --- a/libmpdemux/demux_rtp_internal.h +++ b/libmpdemux/demux_rtp_internal.h @@ -16,6 +16,10 @@ extern "C" { #include <liveMedia.hh> #endif +#if (LIVEMEDIA_LIBRARY_VERSION_INT < 1046649600) +#error Please upgrade to version 2003.03.03 or later of the "LIVE.COM Streaming Media" libraries - available from <www.live.com/liveMedia/> +#endif + // Codec-specific initialization routines: void rtpCodecInitialize_video(demuxer_t* demuxer, MediaSubsession* subsession, unsigned& flags); @@ -23,14 +27,19 @@ void rtpCodecInitialize_audio(demuxer_t* demuxer, MediaSubsession* subsession, unsigned& flags); // Flags that may be set by the above routines: -#define RTPSTATE_IS_MPEG 0x1 // is an MPEG audio, video or transport stream +#define RTPSTATE_IS_MPEG12_VIDEO 0x1 // is a MPEG-1 or 2 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, unsigned streamType, - unsigned char*& packetData, unsigned& packetDataLen); +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 +// A routine for adding our own data to an incoming RTP data stream: +Boolean insertRTPData(demuxer_t* demuxer, demux_stream_t* ds, + unsigned char* data, unsigned dataLen); + #endif |