Commit 8022c043 authored by Tommi's avatar Tommi Committed by Commit Bot

Log an error if we can't instantiate an audio renderer for webrtc.

Bug: 
Change-Id: Iea73537e5b586307596579afe1eb1e5d5ea4de89
Reviewed-on: https://chromium-review.googlesource.com/579729
Commit-Queue: Tommi <tommi@chromium.org>
Reviewed-by: default avatarEmircan Uysaler <emircan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488430}
parent e6f0d70b
......@@ -13,6 +13,7 @@
#include "content/renderer/media/webrtc/peer_connection_dependency_factory.h"
#include "content/renderer/media/webrtc/peer_connection_remote_audio_source.h"
#include "content/renderer/media/webrtc_audio_renderer.h"
#include "content/renderer/media/webrtc_logging.h"
#include "content/renderer/render_thread_impl.h"
#include "third_party/WebKit/public/platform/WebMediaStream.h"
#include "third_party/webrtc/api/mediastreaminterface.h"
......@@ -91,8 +92,10 @@ MediaStreamRendererFactoryImpl::GetAudioRenderer(
DCHECK(!web_stream.IsNull());
blink::WebVector<blink::WebMediaStreamTrack> audio_tracks;
web_stream.AudioTracks(audio_tracks);
if (audio_tracks.IsEmpty())
return NULL;
if (audio_tracks.IsEmpty()) {
WebRtcLogMessage("No audio tracks in media stream (return null).");
return nullptr;
}
DVLOG(1) << "MediaStreamRendererFactoryImpl::GetAudioRenderer stream:"
<< web_stream.Id().Utf8();
......@@ -109,7 +112,7 @@ MediaStreamRendererFactoryImpl::GetAudioRenderer(
if (!audio_track) {
// This can happen if the track was cloned.
// TODO(tommi, perkj): Fix cloning of tracks to handle extra data too.
LOG(ERROR) << "No native track for WebMediaStreamTrack.";
WebRtcLogMessage("Error: No native track for WebMediaStreamTrack");
return nullptr;
}
......@@ -142,11 +145,16 @@ MediaStreamRendererFactoryImpl::GetAudioRenderer(
web_stream, render_frame_id, GetSessionIdForWebRtcAudioRenderer(),
device_id, security_origin);
if (!audio_device->SetAudioRenderer(renderer.get()))
if (!audio_device->SetAudioRenderer(renderer.get())) {
WebRtcLogMessage("Error: SetAudioRenderer failed for remote track.");
return nullptr;
}
}
return renderer->CreateSharedAudioRendererProxy(web_stream);
auto ret = renderer->CreateSharedAudioRendererProxy(web_stream);
if (!ret)
WebRtcLogMessage("Error: CreateSharedAudioRendererProxy failed.");
return ret;
}
} // namespace content
......@@ -22,6 +22,7 @@
#include "content/public/renderer/media_stream_video_renderer.h"
#include "content/renderer/media/web_media_element_source_utils.h"
#include "content/renderer/media/webmediaplayer_ms_compositor.h"
#include "content/renderer/media/webrtc_logging.h"
#include "content/renderer/render_frame_impl.h"
#include "content/renderer/render_thread_impl.h"
#include "media/base/bind_to_current_loop.h"
......@@ -255,6 +256,8 @@ void WebMediaPlayerMS::Load(LoadType load_type,
audio_renderer_ = renderer_factory_->GetAudioRenderer(
web_stream, frame->GetRoutingID(), initial_audio_output_device_id_,
initial_security_origin_);
if (!audio_renderer_)
WebRtcLogMessage("Warning: Failed to instantiate audio renderer.");
}
if (!video_frame_provider_ && !audio_renderer_) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment