| /* |
| * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| #include "video_render_external_impl.h" |
| |
| namespace webrtc { |
| |
| VideoRenderExternalImpl::VideoRenderExternalImpl( |
| const WebRtc_Word32 id, |
| const VideoRenderType videoRenderType, |
| void* window, |
| const bool fullscreen) : |
| _id(id), _critSect(*CriticalSectionWrapper::CreateCriticalSection()), |
| _window(window), _fullscreen(fullscreen) |
| { |
| } |
| |
| VideoRenderExternalImpl::~VideoRenderExternalImpl() |
| { |
| delete &_critSect; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::Init() |
| { |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::ChangeUniqueId(const WebRtc_Word32 id) |
| { |
| CriticalSectionScoped cs(_critSect); |
| _id = id; |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::ChangeWindow(void* window) |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| VideoRenderCallback* |
| VideoRenderExternalImpl::AddIncomingRenderStream(const WebRtc_UWord32 streamId, |
| const WebRtc_UWord32 zOrder, |
| const float left, |
| const float top, |
| const float right, |
| const float bottom) |
| { |
| CriticalSectionScoped cs(_critSect); |
| return this; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::DeleteIncomingRenderStream( |
| const WebRtc_UWord32 streamId) |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::GetIncomingRenderStreamProperties( |
| const WebRtc_UWord32 streamId, |
| WebRtc_UWord32& zOrder, |
| float& left, |
| float& top, |
| float& right, |
| float& bottom) const |
| { |
| CriticalSectionScoped cs(_critSect); |
| |
| zOrder = 0; |
| left = 0; |
| top = 0; |
| right = 0; |
| bottom = 0; |
| |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::StartRender() |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::StopRender() |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| VideoRenderType VideoRenderExternalImpl::RenderType() |
| { |
| return kRenderExternal; |
| } |
| |
| RawVideoType VideoRenderExternalImpl::PerferedVideoType() |
| { |
| return kVideoI420; |
| } |
| |
| bool VideoRenderExternalImpl::FullScreen() |
| { |
| CriticalSectionScoped cs(_critSect); |
| return _fullscreen; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::GetGraphicsMemory( |
| WebRtc_UWord64& totalGraphicsMemory, |
| WebRtc_UWord64& availableGraphicsMemory) const |
| { |
| totalGraphicsMemory = 0; |
| availableGraphicsMemory = 0; |
| return -1; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::GetScreenResolution( |
| WebRtc_UWord32& screenWidth, |
| WebRtc_UWord32& screenHeight) const |
| { |
| CriticalSectionScoped cs(_critSect); |
| screenWidth = 0; |
| screenHeight = 0; |
| return 0; |
| } |
| |
| WebRtc_UWord32 VideoRenderExternalImpl::RenderFrameRate( |
| const WebRtc_UWord32 streamId) |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::SetStreamCropping( |
| const WebRtc_UWord32 streamId, |
| const float left, |
| const float top, |
| const float right, |
| const float bottom) |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::ConfigureRenderer( |
| const WebRtc_UWord32 streamId, |
| const unsigned int zOrder, |
| const float left, |
| const float top, |
| const float right, |
| const float bottom) |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::SetTransparentBackground( |
| const bool enable) |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::SetText( |
| const WebRtc_UWord8 textId, |
| const WebRtc_UWord8* text, |
| const WebRtc_Word32 textLength, |
| const WebRtc_UWord32 textColorRef, |
| const WebRtc_UWord32 backgroundColorRef, |
| const float left, |
| const float top, |
| const float right, |
| const float bottom) |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| WebRtc_Word32 VideoRenderExternalImpl::SetBitmap(const void* bitMap, |
| const WebRtc_UWord8 pictureId, |
| const void* colorKey, |
| const float left, |
| const float top, |
| const float right, |
| const float bottom) |
| { |
| CriticalSectionScoped cs(_critSect); |
| return 0; |
| } |
| |
| // VideoRenderCallback |
| WebRtc_Word32 VideoRenderExternalImpl::RenderFrame( |
| const WebRtc_UWord32 streamId, |
| VideoFrame& videoFrame) |
| { |
| return 0; |
| } |
| } //namespace webrtc |
| |