chromium/third_party/blink/renderer/modules/mediastream/low_latency_video_renderer_algorithm.cc

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/modules/mediastream/low_latency_video_renderer_algorithm.h"

#include <algorithm>

#include "base/metrics/field_trial_params.h"
#include "base/metrics/histogram_functions.h"
#include "media/base/media_log.h"
#include "third_party/blink/public/common/features.h"

namespace blink {

namespace {

// Default maximum  post decode queue size to trigger max queue size reduction.
constexpr int16_t kDefaultMaxPostDecodeQueueSize =;
// Default count of maximum number of consecutive frames to drop during a max
// queue size reduction. A value of 0 indicates to drop all the frames in the
// queue when maximum queue size is reached.
constexpr int16_t kDefaultMaxConsecutiveFramesToDrop =;
// Default count of consecutive rendered frames with a new frame in the queue to
// initiate a steady state reduction.
constexpr int16_t kDefaultReduceSteadyThreshold =;
// Vsyncs boundaries are not aligned to 16.667ms boundaries on some platforms
// due to hardware and software clock mismatch.
constexpr double kVsyncBoundaryErrorRate =;

}  // namespace

namespace features {

BASE_FEATURE();

}  // namespace features

LowLatencyVideoRendererAlgorithm::LowLatencyVideoRendererAlgorithm(
    media::MediaLog* media_log) {}

LowLatencyVideoRendererAlgorithm::~LowLatencyVideoRendererAlgorithm() = default;

scoped_refptr<media::VideoFrame> LowLatencyVideoRendererAlgorithm::Render(
    base::TimeTicks deadline_min,
    base::TimeTicks deadline_max,
    size_t* frames_dropped) {}

void LowLatencyVideoRendererAlgorithm::Reset() {}

void LowLatencyVideoRendererAlgorithm::EnqueueFrame(
    scoped_refptr<media::VideoFrame> frame) {}

size_t LowLatencyVideoRendererAlgorithm::DetermineModeAndNumberOfFramesToRender(
    double fractional_frames_to_render) {}

bool LowLatencyVideoRendererAlgorithm::ReduceSteadyStateQueue(
    size_t number_of_frames_to_render) {}

void LowLatencyVideoRendererAlgorithm::
    SelectNextAvailableFrameAndUpdateLastDeadline(
        base::TimeTicks deadline_min) {}

void LowLatencyVideoRendererAlgorithm::RecordAndResetStats() {}
}  // namespace blink