#include "media/base/scoped_async_trace.h"
#include "base/memory/ptr_util.h"
#include "base/trace_event/trace_event.h"
namespace media {
namespace {
template <TraceCategory category>
struct Category { … };
template <>
struct Category<TraceCategory::kMedia> { … };
template <>
struct Category<TraceCategory::kMediaStream> { … };
template <>
struct Category<TraceCategory::kVideoAndImageCapture> { … };
}
template <TraceCategory category>
std::unique_ptr<TypedScopedAsyncTrace<category>>
TypedScopedAsyncTrace<category>::CreateIfEnabled(const char* name) { … }
template <TraceCategory category>
TypedScopedAsyncTrace<category>::~TypedScopedAsyncTrace() { … }
template <TraceCategory category>
void TypedScopedAsyncTrace<category>::AddStep(const char* step_name) { … }
template <TraceCategory category>
TypedScopedAsyncTrace<category>::TypedScopedAsyncTrace(const char* name)
: … { … }
template <TraceCategory category>
TypedScopedAsyncTrace<category>::TypedScopedAsyncTrace(const char* name,
const void* id)
: … { … }
template class MEDIA_EXPORT TypedScopedAsyncTrace<TraceCategory::kMedia>;
template class MEDIA_EXPORT TypedScopedAsyncTrace<TraceCategory::kMediaStream>;
template class MEDIA_EXPORT
TypedScopedAsyncTrace<TraceCategory::kVideoAndImageCapture>;
}