[go: nahoru, domu]

Add better tracing for renderers and decoder selection.

Renderers are core to our entire pipeline, yet trace events are
missing! So lets add a few that allow useful diagnosis when looking
at trace reports.

Specifically this adds traces for the following:
- (AudioRenderer|VideoRenderer|RendererImpl)::Initialize() [async]
- (AudioRenderer|VideoRenderer|RendererImpl)::Flush() [async]
- DecoderSelector::SelectDecoder() [async]
- RendererImpl::SetCdm
- RendererImpl::StartPlayingFrom
- RendererImpl::SetPlaybackRate
- RendererImpl::OnBufferingStateChange
- RendererImpl::StartPlayback
- RendererImpl::PausePlayback
- RendererImpl::OnRendererEnded
- RendererImpl::OnError
- RendererImpl::OnSelectedVideoTracksChanged
- RendererImpl::OnEnabledAudioTracksChanged

This also removes usage of ".is_null()" on callbacks in favor of
the more modern built in boolean test.

BUG=879970
TEST=none
R=xhwang

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I79792d93b6369cfe4fe32f322f176b68acc92ee8
Reviewed-on: https://chromium-review.googlesource.com/1232688
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592622}
diff --git a/media/renderers/renderer_impl.h b/media/renderers/renderer_impl.h
index e33e7268..18f6384 100644
--- a/media/renderers/renderer_impl.h
+++ b/media/renderers/renderer_impl.h
@@ -98,6 +98,7 @@
   bool HasEncryptedStream();
 
   void FinishInitialization(PipelineStatus status);
+  void FinishFlush();
 
   // Helper functions and callbacks for Initialize().
   void InitializeAudioRenderer();