blob: 3861873c959cc1218623f4a0535a342d57e7760a [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/renderer/media/cast_udp_transport.h"
#include "base/values.h"
#include "chrome/renderer/media/cast_session.h"
CastUdpTransport::CastUdpTransport(
const scoped_refptr<CastSession>& session)
: cast_session_(session),
options_(new base::DictionaryValue),
weak_factory_(this) {
}
CastUdpTransport::~CastUdpTransport() {
}
void CastUdpTransport::SetDestination(
const net::IPEndPoint& remote_address,
const CastSessionDelegate::ErrorCallback& error_callback) {
DVLOG(1) << "CastUdpTransport::SetDestination = "
<< remote_address.ToString();
remote_address_ = remote_address;
cast_session_->StartUDP(remote_address,
make_scoped_ptr(options_->DeepCopy()),
error_callback);
}
void CastUdpTransport::SetOptions(scoped_ptr<base::DictionaryValue> options) {
options_.reset(options.release());
}