#include "content/renderer/media/media_stream_audio_source.h"
+#include "content/renderer/render_frame_impl.h"
+#include "content/renderer/render_view_impl.h"
+
namespace content {
+namespace {
+// TODO(miu): This is a temporary hack until the Chrome audio vertical is
+// migrated for the Cross-Site Isolation project. http://crbug.com/392596
+int ToRenderViewId(int render_frame_id) {
+ RenderFrameImpl* const frame =
+ RenderFrameImpl::FromRoutingID(render_frame_id);
+ RenderViewImpl* const view = frame ? frame->render_view() : NULL;
+ return view ? view->GetRoutingID() : -1;
+}
+} // namespace
+
MediaStreamAudioSource::MediaStreamAudioSource(
- int render_view_id,
+ int render_frame_id,
const StreamDeviceInfo& device_info,
const SourceStoppedCallback& stop_callback,
PeerConnectionDependencyFactory* factory)
- : render_view_id_(render_view_id),
+ : render_view_id_(ToRenderViewId(render_frame_id)),
factory_(factory) {
SetDeviceInfo(device_info);
SetStopCallback(stop_callback);
// last track is removed from the source. But in this case, the source is
// is not even started. So we need to fail both adding the track and
// trigger |stop_callback|.
- callback.Run(this, false);
+ callback.Run(this, MEDIA_DEVICE_TRACK_START_FAILURE, "");
StopSource();
return;
}
}
factory_->CreateLocalAudioTrack(track);
- callback.Run(this, true);
+ callback.Run(this, MEDIA_DEVICE_OK, "");
}
} // namespace content