21#ifndef _DV_VIDEO_STREAM_FRAMER_HH
22#define _DV_VIDEO_STREAM_FRAMER_HH
24#ifndef _FRAMED_FILTER_HH
28#define DV_DIF_BLOCK_SIZE 80
29#define DV_NUM_BLOCKS_PER_SEQUENCE 150
30#define DV_SAVED_INITIAL_BLOCKS_SIZE ((DV_NUM_BLOCKS_PER_SEQUENCE+6-1)*DV_DIF_BLOCK_SIZE)
45 Boolean sourceIsSeekable,
Boolean leavePresentationTimesUnmodified);
57 unsigned numTruncatedBytes,
58 struct timeval presentationTime,
59 unsigned durationInMicroseconds);
60 void afterGettingFrame(
unsigned frameSize,
unsigned numTruncatedBytes,
struct timeval presentationTime);
#define DV_SAVED_INITIAL_BLOCKS_SIZE
virtual void doGetNextFrame()
Boolean fLeavePresentationTimesUnmodified
char fInitialBlocksPresent
static void afterGettingFrame(void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
char const * profileName()
static DVVideoStreamFramer * createNew(UsageEnvironment &env, FramedSource *inputSource, Boolean sourceIsSeekable=False, Boolean leavePresentationTimesUnmodified=False)
Boolean fSourceIsSeekable
struct timeval fNextFramePresentationTime
unsigned char fSavedInitialBlocks[DV_SAVED_INITIAL_BLOCKS_SIZE]
Boolean getFrameParameters(unsigned &frameSize, double &frameDuration)
virtual Boolean isDVVideoStreamFramer() const
virtual ~DVVideoStreamFramer()
void afterGettingFrame(unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime)
DVVideoStreamFramer(UsageEnvironment &env, FramedSource *inputSource, Boolean sourceIsSeekable, Boolean leavePresentationTimesUnmodified)
FramedSource * inputSource() const