21#ifndef _H264_OR_5_VIDEO_STREAM_FRAMER_HH
22#define _H264_OR_5_VIDEO_STREAM_FRAMER_HH
24#ifndef _MPEG_VIDEO_STREAM_FRAMER_HH
31 u_int8_t*& sps,
unsigned& spsSize,
32 u_int8_t*& pps,
unsigned& ppsSize)
const {
42 u_int8_t* sps,
unsigned spsSize,
43 u_int8_t* pps,
unsigned ppsSize) {
55 Boolean includeStartCodeInOutput,
Boolean insertAccessUnitDelimiters);
89 u_int8_t
const* from,
unsigned fromSize);
unsigned removeH264or5EmulationBytes(u_int8_t *to, unsigned toMaxSize, u_int8_t const *from, unsigned fromSize)
FramedSource * inputSource() const
Boolean isVPS(u_int8_t nal_unit_type)
Boolean isPPS(u_int8_t nal_unit_type)
Boolean fIncludeStartCodeInOutput
void saveCopyOfSPS(u_int8_t *from, unsigned size)
friend class H264or5VideoStreamParser
unsigned fLastSeenPPSSize
void setPresentationTime()
void getVPSandSPSandPPS(u_int8_t *&vps, unsigned &vpsSize, u_int8_t *&sps, unsigned &spsSize, u_int8_t *&pps, unsigned &ppsSize) const
Boolean fInsertAccessUnitDelimiters
Boolean isSPS(u_int8_t nal_unit_type)
unsigned fLastSeenSPSSize
unsigned fLastSeenVPSSize
virtual void doGetNextFrame()
Boolean isVCL(u_int8_t nal_unit_type)
void saveCopyOfPPS(u_int8_t *from, unsigned size)
void setVPSandSPSandPPS(u_int8_t *vps, unsigned vpsSize, u_int8_t *sps, unsigned spsSize, u_int8_t *pps, unsigned ppsSize)
void saveCopyOfVPS(u_int8_t *from, unsigned size)
virtual ~H264or5VideoStreamFramer()
struct timeval fNextPresentationTime
H264or5VideoStreamFramer(int hNumber, UsageEnvironment &env, FramedSource *inputSource, Boolean createParser, Boolean includeStartCodeInOutput, Boolean insertAccessUnitDelimiters)