| Index: extensions/browser/api/display_source/wifi_display/wifi_display_media_service_impl.cc
|
| diff --git a/extensions/browser/api/display_source/wifi_display/wifi_display_media_service_impl.cc b/extensions/browser/api/display_source/wifi_display/wifi_display_media_service_impl.cc
|
| index c7e3eb5a0444c54333bd318ee5f7f96a79b5bac8..6b33339972934ef643b9839650b69c9a66dc077f 100644
|
| --- a/extensions/browser/api/display_source/wifi_display/wifi_display_media_service_impl.cc
|
| +++ b/extensions/browser/api/display_source/wifi_display/wifi_display_media_service_impl.cc
|
| @@ -62,7 +62,7 @@ WiFiDisplayMediaServiceImpl::WiFiDisplayMediaServiceImpl()
|
| WiFiDisplayMediaServiceImpl::~WiFiDisplayMediaServiceImpl() {}
|
|
|
| void WiFiDisplayMediaServiceImpl::SetDesinationPoint(
|
| - const mojo::String& ip_address,
|
| + const std::string& ip_address,
|
| int32_t port,
|
| const SetDesinationPointCallback& callback) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
|
| @@ -87,11 +87,19 @@ void WiFiDisplayMediaServiceImpl::SetDesinationPoint(
|
| callback.Run(true);
|
| }
|
|
|
| -void WiFiDisplayMediaServiceImpl::SendMediaPacket(mojo::Array<uint8_t> packet) {
|
| +void WiFiDisplayMediaServiceImpl::SendMediaPacket(
|
| + WiFiDisplayMediaPacketPtr packet) {
|
| DCHECK(rtp_socket_);
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
|
|
|
| - if (packet.size() >> 15) {
|
| + if (!packet) {
|
| + DVLOG(1) << "Packet missing, skipping.";
|
| + return;
|
| + }
|
| +
|
| + std::vector<uint8_t>* packet_data = &packet->data;
|
| +
|
| + if (packet_data->size() >> 15) {
|
| DVLOG(1) << "Packet size limit is exceeded, skipping.";
|
| return;
|
| }
|
| @@ -103,7 +111,7 @@ void WiFiDisplayMediaServiceImpl::SendMediaPacket(mojo::Array<uint8_t> packet) {
|
|
|
| // Create, queue and send a write buffer.
|
| scoped_refptr<PacketIOBuffer> write_buffer =
|
| - new PacketIOBuffer(std::move(packet));
|
| + new PacketIOBuffer(std::move(*packet_data));
|
| write_buffers_.push(std::move(write_buffer));
|
|
|
| Send();
|
|
|