generic telemetry
This commit is contained in:
@@ -18,6 +18,20 @@
|
||||
|
||||
class OpenGLComposite;
|
||||
|
||||
struct DeckLinkSessionTelemetry
|
||||
{
|
||||
bool actualBufferedFramesAvailable = false;
|
||||
uint64_t actualBufferedFrames = 0;
|
||||
double scheduleCallMilliseconds = 0.0;
|
||||
uint64_t scheduleFailureCount = 0;
|
||||
bool scheduleLeadAvailable = false;
|
||||
int64_t playbackStreamTime = 0;
|
||||
uint64_t playbackFrameIndex = 0;
|
||||
uint64_t nextScheduleFrameIndex = 0;
|
||||
int64_t scheduleLeadFrames = 0;
|
||||
uint64_t scheduleRealignmentCount = 0;
|
||||
};
|
||||
|
||||
class DeckLinkSession
|
||||
{
|
||||
public:
|
||||
@@ -63,6 +77,7 @@ public:
|
||||
void SetStatusMessage(const std::string& message) { mState.statusMessage = message; }
|
||||
const VideoIOState& State() const { return mState; }
|
||||
VideoIOState& MutableState() { return mState; }
|
||||
const DeckLinkSessionTelemetry& Telemetry() const { return mTelemetry; }
|
||||
double FrameBudgetMilliseconds() const;
|
||||
VideoPlayoutRecoveryDecision AccountForCompletionResult(VideoIOCompletionResult completionResult, uint64_t readyQueueDepth);
|
||||
bool BeginOutputFrame(VideoIOOutputFrame& frame);
|
||||
@@ -89,6 +104,7 @@ private:
|
||||
std::mutex mScheduledSystemFrameMutex;
|
||||
std::unordered_map<IDeckLinkVideoFrame*, void*> mScheduledSystemFrameBuffers;
|
||||
VideoIOState mState;
|
||||
DeckLinkSessionTelemetry mTelemetry;
|
||||
VideoPlayoutPolicy mPlayoutPolicy;
|
||||
VideoPlayoutScheduler mScheduler;
|
||||
bool mScheduleRealignmentPending = false;
|
||||
|
||||
Reference in New Issue
Block a user