00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _JPEG_VIDEO_RTP_SOURCE_HH
00022 #define _JPEG_VIDEO_RTP_SOURCE_HH
00023
00024 #ifndef _MULTI_FRAMED_RTP_SOURCE_HH
00025 #include "MultiFramedRTPSource.hh"
00026 #endif
00027
00028 #define MAX_JPEG_HEADER_SIZE 1024
00029
00030 class JPEGVideoRTPSource: public MultiFramedRTPSource {
00031 public:
00032 static JPEGVideoRTPSource*
00033 createNew(UsageEnvironment& env, Groupsock* RTPgs,
00034 unsigned char rtpPayloadFormat = 26,
00035 unsigned rtpPayloadFrequency = 90000,
00036 unsigned defaultWidth = 0, unsigned defaultHeight = 0);
00037
00038 protected:
00039 virtual ~JPEGVideoRTPSource();
00040
00041 private:
00042 JPEGVideoRTPSource(UsageEnvironment& env, Groupsock* RTPgs,
00043 unsigned char rtpPayloadFormat,
00044 unsigned rtpTimestampFrequency,
00045 unsigned defaultWidth, unsigned defaultHeight);
00046
00047
00048
00049 unsigned fDefaultWidth, fDefaultHeight;
00050
00051 private:
00052
00053 virtual Boolean processSpecialHeader(BufferedPacket* packet,
00054 unsigned& resultSpecialHeaderSize);
00055
00056 virtual char const* MIMEtype() const;
00057 };
00058
00059 #endif