blob: 9218fc7b17106c54b3d9ae0a6ab4ee11db6620dd [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "video_decoder.h"
namespace amlogic_decoder {
namespace {
std::atomic<uint32_t> next_decoder_id_;
} // namespace
VideoDecoder::VideoDecoder(
media_metrics::StreamProcessorEvents2MigratedMetricDimensionImplementation implementation,
Owner* owner, Client* client, bool is_secure)
: decoder_id_(next_decoder_id_++),
owner_(owner),
client_(client),
is_secure_(is_secure),
implementation_(implementation) {
pts_manager_ = std::make_unique<PtsManager>();
LogEvent(media_metrics::StreamProcessorEvents2MigratedMetricDimensionEvent_CoreCreated);
}
VideoDecoder::~VideoDecoder() {
LogEvent(media_metrics::StreamProcessorEvents2MigratedMetricDimensionEvent_CoreDeleted);
}
void VideoDecoder::LogEvent(
media_metrics::StreamProcessorEvents2MigratedMetricDimensionEvent event) {
metrics().LogEvent(implementation_, event);
}
} // namespace amlogic_decoder