Commit 904ae915 authored by magjed's avatar magjed Committed by Commit bot

Roll WebRTC 8955:8956, Libjingle 8954:8956

WebRTC 8955:8956
Changes: https://chromium.googlesource.com/external/webrtc/trunk/webrtc.git/+log/a4d326e..9e4853a

Libjingle 8954:8956
Changes: https://chromium.googlesource.com/external/webrtc/trunk/talk.git/+log/57c1e6f..32d6efb

TBR=perkj

Review URL: https://codereview.chromium.org/1071123002

Cr-Commit-Position: refs/heads/master@{#324424}
parent 9e1c2396
...@@ -210,7 +210,7 @@ deps = { ...@@ -210,7 +210,7 @@ deps = {
Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '104f872faf2cd809cdada885a1e39be85e5b3316', Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '104f872faf2cd809cdada885a1e39be85e5b3316',
'src/third_party/libjingle/source/talk': 'src/third_party/libjingle/source/talk':
Var('chromium_git') + '/external/webrtc/trunk/talk.git' + '@' + '57c1e6f69d0d01c9188b52e931229fcb114dcaee', Var('chromium_git') + '/external/webrtc/trunk/talk.git' + '@' + '32d6efbe909b1fec430fa71d9dbc2bbc30c873c2',
'src/third_party/usrsctp/usrsctplib': 'src/third_party/usrsctp/usrsctplib':
Var('chromium_git') + '/external/usrsctplib.git' + '@' + '36444a999739e9e408f8f587cb4c3ffeef2e50ac', # from svn revision 9215 Var('chromium_git') + '/external/usrsctplib.git' + '@' + '36444a999739e9e408f8f587cb4c3ffeef2e50ac', # from svn revision 9215
...@@ -234,7 +234,7 @@ deps = { ...@@ -234,7 +234,7 @@ deps = {
Var('chromium_git') + '/native_client/src/third_party/scons-2.0.1.git' + '@' + '1c1550e17fc26355d08627fbdec13d8291227067', Var('chromium_git') + '/native_client/src/third_party/scons-2.0.1.git' + '@' + '1c1550e17fc26355d08627fbdec13d8291227067',
'src/third_party/webrtc': 'src/third_party/webrtc':
Var('chromium_git') + '/external/webrtc/trunk/webrtc.git' + '@' + 'a4d326e1b39ac32371b9bcd4f9189e38cc33ddb9', Var('chromium_git') + '/external/webrtc/trunk/webrtc.git' + '@' + '9e4853a2a1222020ac574bb2362d48348e44d220',
'src/third_party/openmax_dl': 'src/third_party/openmax_dl':
Var('chromium_git') + '/external/webrtc/deps/third_party/openmax.git' + '@' + Var('openmax_dl_revision'), Var('chromium_git') + '/external/webrtc/deps/third_party/openmax.git' + '@' + Var('openmax_dl_revision'),
......
...@@ -626,8 +626,6 @@ ...@@ -626,8 +626,6 @@
'renderer/media/media_stream_video_source.h', 'renderer/media/media_stream_video_source.h',
'renderer/media/media_stream_video_track.cc', 'renderer/media/media_stream_video_track.cc',
'renderer/media/media_stream_video_track.h', 'renderer/media/media_stream_video_track.h',
'renderer/media/native_handle_impl.cc',
'renderer/media/native_handle_impl.h',
'renderer/media/peer_connection_identity_service.cc', 'renderer/media/peer_connection_identity_service.cc',
'renderer/media/peer_connection_identity_service.h', 'renderer/media/peer_connection_identity_service.h',
'renderer/media/peer_connection_tracker.cc', 'renderer/media/peer_connection_tracker.cc',
......
// 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 "content/renderer/media/native_handle_impl.h"
namespace content {
NativeHandleImpl::NativeHandleImpl(scoped_refptr<media::VideoFrame> frame)
: frame_(frame) {}
NativeHandleImpl::~NativeHandleImpl() {}
void* NativeHandleImpl::GetHandle() { return frame_.get(); }
} // namespace content
// 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.
#ifndef CONTENT_RENDERER_MEDIA_NATIVE_HANDLE_IMPL_H_
#define CONTENT_RENDERER_MEDIA_NATIVE_HANDLE_IMPL_H_
#include "base/memory/ref_counted.h"
#include "media/base/video_frame.h"
#include "third_party/webrtc/common_video/interface/native_handle.h"
namespace content {
class NativeHandleImpl : public webrtc::NativeHandle {
public:
// Wraps a video frame in the handle.
explicit NativeHandleImpl(scoped_refptr<media::VideoFrame> frame);
~NativeHandleImpl() override;
// Retrieves the video frame in the handle. The frame is still ref-counted by
// the handle. The ref count decreases when NativeHandleImpl is destroyed.
void* GetHandle() override;
private:
scoped_refptr<media::VideoFrame> frame_;
DISALLOW_COPY_AND_ASSIGN(NativeHandleImpl);
};
} // namespace content
#endif // CONTENT_RENDERER_MEDIA_NATIVE_HANDLE_IMPL_H_
...@@ -13,14 +13,17 @@ ...@@ -13,14 +13,17 @@
#include "base/stl_util.h" #include "base/stl_util.h"
#include "base/synchronization/waitable_event.h" #include "base/synchronization/waitable_event.h"
#include "base/task_runner_util.h" #include "base/task_runner_util.h"
#include "content/renderer/media/native_handle_impl.h"
#include "gpu/command_buffer/common/mailbox_holder.h" #include "gpu/command_buffer/common/mailbox_holder.h"
#include "media/base/bind_to_current_loop.h" #include "media/base/bind_to_current_loop.h"
#include "media/renderers/gpu_video_accelerator_factories.h" #include "media/renderers/gpu_video_accelerator_factories.h"
#include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/webrtc/base/bind.h"
#include "third_party/webrtc/system_wrappers/interface/ref_count.h" #include "third_party/webrtc/system_wrappers/interface/ref_count.h"
#include "third_party/webrtc/video_frame.h" #include "third_party/webrtc/video_frame.h"
static void ReleaseFrame(scoped_refptr<media::VideoFrame> frame) {
}
namespace content { namespace content {
const int32 RTCVideoDecoder::ID_LAST = 0x3FFFFFFF; const int32 RTCVideoDecoder::ID_LAST = 0x3FFFFFFF;
...@@ -388,13 +391,13 @@ void RTCVideoDecoder::PictureReady(const media::Picture& picture) { ...@@ -388,13 +391,13 @@ void RTCVideoDecoder::PictureReady(const media::Picture& picture) {
DCHECK(inserted); DCHECK(inserted);
// Create a WebRTC video frame. // Create a WebRTC video frame.
webrtc::RefCountImpl<NativeHandleImpl>* handle = webrtc::I420VideoFrame decoded_image(frame.get(),
new webrtc::RefCountImpl<NativeHandleImpl>(frame);
webrtc::I420VideoFrame decoded_image(handle,
picture.visible_rect().width(), picture.visible_rect().width(),
picture.visible_rect().height(), picture.visible_rect().height(),
timestamp, timestamp,
0); 0,
webrtc::kVideoRotation_0,
rtc::Bind(&ReleaseFrame, frame));
// Invoke decode callback. WebRTC expects no callback after Reset or Release. // Invoke decode callback. WebRTC expects no callback after Reset or Release.
{ {
......
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
#include "base/message_loop/message_loop_proxy.h" #include "base/message_loop/message_loop_proxy.h"
#include "base/threading/thread_checker.h" #include "base/threading/thread_checker.h"
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
#include "content/renderer/media/native_handle_impl.h"
#include "content/renderer/media/webrtc/track_observer.h" #include "content/renderer/media/webrtc/track_observer.h"
#include "media/base/bind_to_current_loop.h" #include "media/base/bind_to_current_loop.h"
#include "media/base/video_frame.h" #include "media/base/video_frame.h"
...@@ -71,9 +70,8 @@ void MediaStreamRemoteVideoSource::RemoteVideoSourceDelegate::RenderFrame( ...@@ -71,9 +70,8 @@ void MediaStreamRemoteVideoSource::RemoteVideoSourceDelegate::RenderFrame(
scoped_refptr<media::VideoFrame> video_frame; scoped_refptr<media::VideoFrame> video_frame;
if (incoming_frame->GetNativeHandle() != NULL) { if (incoming_frame->GetNativeHandle() != NULL) {
NativeHandleImpl* handle = video_frame =
static_cast<NativeHandleImpl*>(incoming_frame->GetNativeHandle()); static_cast<media::VideoFrame*>(incoming_frame->GetNativeHandle());
video_frame = static_cast<media::VideoFrame*>(handle->GetHandle());
video_frame->set_timestamp(timestamp); video_frame->set_timestamp(timestamp);
} else { } else {
const cricket::VideoFrame* frame = const cricket::VideoFrame* frame =
......
...@@ -65,9 +65,7 @@ class VideoFrameWrapper : public webrtc::VideoFrameBuffer { ...@@ -65,9 +65,7 @@ class VideoFrameWrapper : public webrtc::VideoFrameBuffer {
return frame_->stride(WebRtcToMediaPlaneType(type)); return frame_->stride(WebRtcToMediaPlaneType(type));
} }
rtc::scoped_refptr<webrtc::NativeHandle> native_handle() const override { void* native_handle() const override { return nullptr; }
return nullptr;
}
~VideoFrameWrapper() override {} ~VideoFrameWrapper() override {}
friend class rtc::RefCountedObject<VideoFrameWrapper>; friend class rtc::RefCountedObject<VideoFrameWrapper>;
......
Name: libjingle Name: libjingle
URL: http://code.google.com/p/webrtc/ URL: http://code.google.com/p/webrtc/
Version: unknown Version: unknown
Revision: 8954 Revision: 8956
License: BSD License: BSD
License File: source/talk/COPYING License File: source/talk/COPYING
Security Critical: yes Security Critical: yes
......
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