24#ifndef _MPEG1or2_VIDEO_STREAM_DISCRETE_FRAMER_HH
25#define _MPEG1or2_VIDEO_STREAM_DISCRETE_FRAMER_HH
27#ifndef _MPEG1or2_VIDEO_STREAM_FRAMER_HH
31#define VSH_MAX_SIZE 1000
38 double vshPeriod = 5.0,
44 Boolean iFramesOnly,
double vshPeriod,
Boolean leavePresentationTimesUnmodified);
54 unsigned numTruncatedBytes,
55 struct timeval presentationTime,
56 unsigned durationInMicroseconds);
58 unsigned numTruncatedBytes,
59 struct timeval presentationTime,
60 unsigned durationInMicroseconds);
FramedSource * inputSource() const
Boolean fLeavePresentationTimesUnmodified
void afterGettingFrame1(unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
unsigned fLastNonBFrameTemporal_reference
struct timeval fLastNonBFramePresentationTime
unsigned char fSavedVSHBuffer[VSH_MAX_SIZE]
static void afterGettingFrame(void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
virtual void doGetNextFrame()
MPEG1or2VideoStreamDiscreteFramer(UsageEnvironment &env, FramedSource *inputSource, Boolean iFramesOnly, double vshPeriod, Boolean leavePresentationTimesUnmodified)
double fSavedVSHTimestamp
static MPEG1or2VideoStreamDiscreteFramer * createNew(UsageEnvironment &env, FramedSource *inputSource, Boolean iFramesOnly=False, double vshPeriod=5.0, Boolean leavePresentationTimesUnmodified=False)
virtual ~MPEG1or2VideoStreamDiscreteFramer()