#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "media/mojo/mojom/webrtc_video_perf.mojom.h"
#include <math.h>
#include <stdint.h>
#include <utility>
#include "base/debug/alias.h"
#include "base/hash/md5_constexpr.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/typed_macros.h"
#include "mojo/public/cpp/bindings/features.h"
#include "mojo/public/cpp/bindings/lib/default_construct_tag_internal.h"
#include "mojo/public/cpp/bindings/lib/generated_code_util.h"
#include "mojo/public/cpp/bindings/lib/message_internal.h"
#include "mojo/public/cpp/bindings/lib/proxy_to_responder.h"
#include "mojo/public/cpp/bindings/lib/send_message_helper.h"
#include "mojo/public/cpp/bindings/lib/serialization_util.h"
#include "mojo/public/cpp/bindings/lib/unserialized_message_context.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/mojo_buildflags.h"
#include "mojo/public/cpp/bindings/urgent_message_scope.h"
#include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
#include "media/mojo/mojom/webrtc_video_perf.mojom-params-data.h"
#include "media/mojo/mojom/webrtc_video_perf.mojom-shared-message-ids.h"
#include "media/mojo/mojom/webrtc_video_perf.mojom-import-headers.h"
#include "media/mojo/mojom/webrtc_video_perf.mojom-test-utils.h"
namespace media::mojom {
WebrtcPredictionFeatures::WebrtcPredictionFeatures()
: … { … }
WebrtcPredictionFeatures::WebrtcPredictionFeatures(
bool is_decode_stats_in,
::media::VideoCodecProfile profile_in,
int32_t video_pixels_in,
bool hardware_accelerated_in)
: … { … }
WebrtcPredictionFeatures::~WebrtcPredictionFeatures() = default;
void WebrtcPredictionFeatures::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool WebrtcPredictionFeatures::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
WebrtcVideoStats::WebrtcVideoStats()
: … { … }
WebrtcVideoStats::WebrtcVideoStats(
uint32_t frames_processed_in,
uint32_t key_frames_processed_in,
float p99_processing_time_ms_in)
: … { … }
WebrtcVideoStats::~WebrtcVideoStats() = default;
size_t WebrtcVideoStats::Hash(size_t seed) const { … }
void WebrtcVideoStats::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool WebrtcVideoStats::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char WebrtcVideoPerfRecorder::Name_[] = …;
WebrtcVideoPerfRecorder::IPCStableHashFunction WebrtcVideoPerfRecorder::MessageToMethodInfo_(mojo::Message& message) { … }
const char* WebrtcVideoPerfRecorder::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t WebrtcVideoPerfRecorder::UpdateRecord_Sym::IPCStableHash() { … }
# endif
WebrtcVideoPerfRecorderProxy::WebrtcVideoPerfRecorderProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void WebrtcVideoPerfRecorderProxy::UpdateRecord(
WebrtcPredictionFeaturesPtr in_features, WebrtcVideoStatsPtr in_video_stats) { … }
bool WebrtcVideoPerfRecorderStubDispatch::Accept(
WebrtcVideoPerfRecorder* impl,
mojo::Message* message) { … }
bool WebrtcVideoPerfRecorderStubDispatch::AcceptWithResponder(
WebrtcVideoPerfRecorder* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kWebrtcVideoPerfRecorderValidationInfo[] = …;
bool WebrtcVideoPerfRecorderRequestValidator::Accept(mojo::Message* message) { … }
const char WebrtcVideoPerfHistory::Name_[] = …;
WebrtcVideoPerfHistory::IPCStableHashFunction WebrtcVideoPerfHistory::MessageToMethodInfo_(mojo::Message& message) { … }
const char* WebrtcVideoPerfHistory::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t WebrtcVideoPerfHistory::GetPerfInfo_Sym::IPCStableHash() { … }
# endif
class WebrtcVideoPerfHistory_GetPerfInfo_ForwardToCallback
: public mojo::MessageReceiver { … };
WebrtcVideoPerfHistoryProxy::WebrtcVideoPerfHistoryProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void WebrtcVideoPerfHistoryProxy::GetPerfInfo(
WebrtcPredictionFeaturesPtr in_features, int32_t in_frames_per_second, GetPerfInfoCallback callback) { … }
class WebrtcVideoPerfHistory_GetPerfInfo_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool WebrtcVideoPerfHistory_GetPerfInfo_ForwardToCallback::Accept(
mojo::Message* message) { … }
void WebrtcVideoPerfHistory_GetPerfInfo_ProxyToResponder::Run(
bool in_is_smooth) { … }
bool WebrtcVideoPerfHistoryStubDispatch::Accept(
WebrtcVideoPerfHistory* impl,
mojo::Message* message) { … }
bool WebrtcVideoPerfHistoryStubDispatch::AcceptWithResponder(
WebrtcVideoPerfHistory* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kWebrtcVideoPerfHistoryValidationInfo[] = …;
bool WebrtcVideoPerfHistoryRequestValidator::Accept(mojo::Message* message) { … }
bool WebrtcVideoPerfHistoryResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::media::mojom::WebrtcPredictionFeatures::DataView, ::media::mojom::WebrtcPredictionFeaturesPtr>::Read(
::media::mojom::WebrtcPredictionFeatures::DataView input,
::media::mojom::WebrtcPredictionFeaturesPtr* output) { … }
bool StructTraits<::media::mojom::WebrtcVideoStats::DataView, ::media::mojom::WebrtcVideoStatsPtr>::Read(
::media::mojom::WebrtcVideoStats::DataView input,
::media::mojom::WebrtcVideoStatsPtr* output) { … }
}
namespace media::mojom {
void WebrtcVideoPerfRecorderInterceptorForTesting::UpdateRecord(WebrtcPredictionFeaturesPtr features, WebrtcVideoStatsPtr video_stats) { … }
WebrtcVideoPerfRecorderAsyncWaiter::WebrtcVideoPerfRecorderAsyncWaiter(
WebrtcVideoPerfRecorder* proxy) : … { … }
WebrtcVideoPerfRecorderAsyncWaiter::~WebrtcVideoPerfRecorderAsyncWaiter() = default;
void WebrtcVideoPerfHistoryInterceptorForTesting::GetPerfInfo(WebrtcPredictionFeaturesPtr features, int32_t frames_per_second, GetPerfInfoCallback callback) { … }
WebrtcVideoPerfHistoryAsyncWaiter::WebrtcVideoPerfHistoryAsyncWaiter(
WebrtcVideoPerfHistory* proxy) : … { … }
WebrtcVideoPerfHistoryAsyncWaiter::~WebrtcVideoPerfHistoryAsyncWaiter() = default;
void WebrtcVideoPerfHistoryAsyncWaiter::GetPerfInfo(
WebrtcPredictionFeaturesPtr features, int32_t frames_per_second, bool* out_is_smooth) { … }
bool WebrtcVideoPerfHistoryAsyncWaiter::GetPerfInfo(
WebrtcPredictionFeaturesPtr features, int32_t frames_per_second) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif