blob: ab91a4104026e317fc4094bca7d9f3a65b68c8c4 [file] [log] [blame]
// Copyright 2017 The Chromium 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 "media/mojo/clients/mojo_media_log_service.h"
#include "base/logging.h"
#include "media/base/media_log_record.h"
namespace media {
MojoMediaLogService::MojoMediaLogService(
std::unique_ptr<media::MediaLog> media_log)
: media_log_(std::move(media_log)) {
DVLOG(1) << __func__;
DCHECK(media_log_);
}
MojoMediaLogService::~MojoMediaLogService() {
DVLOG(1) << __func__;
}
void MojoMediaLogService::AddLogRecord(const MediaLogRecord& event) {
DVLOG(1) << __func__;
// Make a copy so that we can transfer ownership to |media_log_|.
std::unique_ptr<media::MediaLogRecord> modified_event =
std::make_unique<media::MediaLogRecord>(event);
// |id| is player-unique per-process, but the remote side does not know the
// correct value (nor would we necessarily trust it). Overwrite with the
// correct value.
modified_event->id = media_log_->id();
media_log_->AddLogRecord(std::move(modified_event));
}
} // namespace media