You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
1.7 KiB
93 lines
1.7 KiB
/*
|
|
class for managing byte positions and associated time positions
|
|
Copyright (C) 1999 Martin Vogt
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU Library General Public License as published by
|
|
the Free Software Foundation.
|
|
|
|
For more information look at the file COPYRIGHT in this package
|
|
|
|
*/
|
|
|
|
|
|
#ifndef __TIMESTAMP_H
|
|
#define __TIMESTAMP_H
|
|
|
|
|
|
#include "syncClock.h"
|
|
|
|
|
|
class TimeStamp {
|
|
|
|
long key;
|
|
int keylen;
|
|
|
|
int videoFrameCounter;
|
|
|
|
timeval_t time;
|
|
|
|
int lPTSFlag;
|
|
|
|
double ptsTimeStamp;
|
|
double scrTimeStamp;
|
|
double dtsTimeStamp;
|
|
|
|
class SyncClock* syncClock;
|
|
|
|
public:
|
|
TimeStamp();
|
|
~TimeStamp();
|
|
|
|
void gettimeofday();
|
|
void set(long sec,long usec);
|
|
|
|
void addOffset(TimeStamp* stamp);
|
|
void addOffset(int sec,long usec);
|
|
void copyTo(TimeStamp* dest);
|
|
|
|
long getKey();
|
|
int getKeyLen();
|
|
void setKey(long key,int keylen);
|
|
|
|
int getPTSFlag();
|
|
void setPTSFlag(int lPTSFlag);
|
|
|
|
|
|
double getPTSTimeStamp();
|
|
void setPTSTimeStamp(double ptsTimeStamp);
|
|
|
|
double getDTSTimeStamp();
|
|
void setDTSTimeStamp(double dtsTimeStamp);
|
|
|
|
double getSCRTimeStamp();
|
|
void setSCRTimeStamp(double scrTimeStamp);
|
|
|
|
int getVideoFrameCounter();
|
|
void setVideoFrameCounter(int nr);
|
|
|
|
SyncClock* getSyncClock();
|
|
void setSyncClock(class SyncClock* syncClock);
|
|
|
|
|
|
void print(const char* name);
|
|
void minus(TimeStamp* stamp,TimeStamp* dest);
|
|
void minus(int sec,long usec);
|
|
int lessThan(TimeStamp* stamp);
|
|
int lessThan(int sec,long usec);
|
|
double getAsSeconds();
|
|
|
|
void waitForIt();
|
|
timeval_t* getTime();
|
|
|
|
int isPositive();
|
|
int isNegative();
|
|
|
|
private:
|
|
void setTime(timeval_t* newTime);
|
|
void normalize();
|
|
|
|
|
|
};
|
|
#endif
|