blob: 58df07875ec6cf26ea109984bdeb3e3c63b2a64b [file] [log] [blame]
/*
* Copyright (c) 2012 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 "webrtc/modules/video_render/external/video_render_external_impl.h"
namespace webrtc {
VideoRenderExternalImpl::VideoRenderExternalImpl(
const int32_t id,
const VideoRenderType videoRenderType,
void* window,
const bool fullscreen) :
_critSect(*CriticalSectionWrapper::CreateCriticalSection()),
_fullscreen(fullscreen)
{
}
VideoRenderExternalImpl::~VideoRenderExternalImpl()
{
delete &_critSect;
}
int32_t VideoRenderExternalImpl::Init()
{
return 0;
}
int32_t VideoRenderExternalImpl::ChangeWindow(void* window)
{
CriticalSectionScoped cs(&_critSect);
return 0;
}
VideoRenderCallback*
VideoRenderExternalImpl::AddIncomingRenderStream(const uint32_t streamId,
const uint32_t zOrder,
const float left,
const float top,
const float right,
const float bottom)
{
CriticalSectionScoped cs(&_critSect);
return this;
}
int32_t VideoRenderExternalImpl::DeleteIncomingRenderStream(
const uint32_t streamId)
{
CriticalSectionScoped cs(&_critSect);
return 0;
}
int32_t VideoRenderExternalImpl::GetIncomingRenderStreamProperties(
const uint32_t streamId,
uint32_t& 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;
}
int32_t VideoRenderExternalImpl::StartRender()
{
CriticalSectionScoped cs(&_critSect);
return 0;
}
int32_t 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;
}
int32_t VideoRenderExternalImpl::GetGraphicsMemory(
uint64_t& totalGraphicsMemory,
uint64_t& availableGraphicsMemory) const
{
totalGraphicsMemory = 0;
availableGraphicsMemory = 0;
return -1;
}
int32_t VideoRenderExternalImpl::GetScreenResolution(
uint32_t& screenWidth,
uint32_t& screenHeight) const
{
CriticalSectionScoped cs(&_critSect);
screenWidth = 0;
screenHeight = 0;
return 0;
}
uint32_t VideoRenderExternalImpl::RenderFrameRate(
const uint32_t streamId)
{
CriticalSectionScoped cs(&_critSect);
return 0;
}
int32_t VideoRenderExternalImpl::SetStreamCropping(
const uint32_t streamId,
const float left,
const float top,
const float right,
const float bottom)
{
CriticalSectionScoped cs(&_critSect);
return 0;
}
int32_t VideoRenderExternalImpl::ConfigureRenderer(
const uint32_t streamId,
const unsigned int zOrder,
const float left,
const float top,
const float right,
const float bottom)
{
CriticalSectionScoped cs(&_critSect);
return 0;
}
int32_t VideoRenderExternalImpl::SetTransparentBackground(
const bool enable)
{
CriticalSectionScoped cs(&_critSect);
return 0;
}
int32_t VideoRenderExternalImpl::SetText(
const uint8_t textId,
const uint8_t* text,
const int32_t textLength,
const uint32_t textColorRef,
const uint32_t backgroundColorRef,
const float left,
const float top,
const float right,
const float bottom)
{
CriticalSectionScoped cs(&_critSect);
return 0;
}
int32_t VideoRenderExternalImpl::SetBitmap(const void* bitMap,
const uint8_t pictureId,
const void* colorKey,
const float left,
const float top,
const float right,
const float bottom)
{
CriticalSectionScoped cs(&_critSect);
return 0;
}
// VideoRenderCallback
int32_t VideoRenderExternalImpl::RenderFrame(const uint32_t streamId,
const VideoFrame& videoFrame) {
return 0;
}
} // namespace webrtc