Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Unified Diff: webrtc/modules/video_render/android/video_render_android_impl.cc

Issue 1912143002: Delete video_render module. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Move -framework flags from legacy_objc_api_tests.gyp to legacy_objc_api.gyp. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/video_render/android/video_render_android_impl.cc
diff --git a/webrtc/modules/video_render/android/video_render_android_impl.cc b/webrtc/modules/video_render/android/video_render_android_impl.cc
deleted file mode 100644
index 9affb23d99f6e41f2f26a911327d8155e5e636fe..0000000000000000000000000000000000000000
--- a/webrtc/modules/video_render/android/video_render_android_impl.cc
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- * 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/android/video_render_android_impl.h"
-
-#include "webrtc/modules/video_render/video_render_internal.h"
-#include "webrtc/system_wrappers/include/critical_section_wrapper.h"
-#include "webrtc/system_wrappers/include/event_wrapper.h"
-#include "webrtc/system_wrappers/include/tick_util.h"
-
-#ifdef ANDROID
-#include <android/log.h>
-#include <stdio.h>
-
-#undef WEBRTC_TRACE
-#define WEBRTC_TRACE(a,b,c,...) __android_log_print(ANDROID_LOG_DEBUG, "*WEBRTCN*", __VA_ARGS__)
-#else
-#include "webrtc/system_wrappers/include/trace.h"
-#endif
-
-namespace webrtc {
-
-JavaVM* VideoRenderAndroid::g_jvm = NULL;
-
-int32_t SetRenderAndroidVM(JavaVM* javaVM) {
- WEBRTC_TRACE(kTraceDebug, kTraceVideoRenderer, -1, "%s", __FUNCTION__);
- VideoRenderAndroid::g_jvm = javaVM;
- return 0;
-}
-
-VideoRenderAndroid::VideoRenderAndroid(
- const int32_t id,
- const VideoRenderType videoRenderType,
- void* window,
- const bool /*fullscreen*/):
- _id(id),
- _critSect(*CriticalSectionWrapper::CreateCriticalSection()),
- _renderType(videoRenderType),
- _ptrWindow((jobject)(window)),
- _javaShutDownFlag(false),
- _javaShutdownEvent(*EventWrapper::Create()),
- _javaRenderEvent(*EventWrapper::Create()),
- _lastJavaRenderEvent(0),
- _javaRenderJniEnv(NULL) {
-}
-
-VideoRenderAndroid::~VideoRenderAndroid() {
- WEBRTC_TRACE(kTraceInfo, kTraceVideoRenderer, _id,
- "VideoRenderAndroid dtor");
-
- if (_javaRenderThread)
- StopRender();
-
- for (AndroidStreamMap::iterator it = _streamsMap.begin();
- it != _streamsMap.end();
- ++it) {
- delete it->second;
- }
- delete &_javaShutdownEvent;
- delete &_javaRenderEvent;
- delete &_critSect;
-}
-
-int32_t VideoRenderAndroid::ChangeWindow(void* /*window*/) {
- return -1;
-}
-
-VideoRenderCallback*
-VideoRenderAndroid::AddIncomingRenderStream(const uint32_t streamId,
- const uint32_t zOrder,
- const float left, const float top,
- const float right,
- const float bottom) {
- CriticalSectionScoped cs(&_critSect);
-
- AndroidStream* renderStream = NULL;
- AndroidStreamMap::iterator item = _streamsMap.find(streamId);
- if (item != _streamsMap.end() && item->second != NULL) {
- WEBRTC_TRACE(kTraceInfo,
- kTraceVideoRenderer,
- -1,
- "%s: Render stream already exists",
- __FUNCTION__);
- return renderStream;
- }
-
- renderStream = CreateAndroidRenderChannel(streamId, zOrder, left, top,
- right, bottom, *this);
- if (renderStream) {
- _streamsMap[streamId] = renderStream;
- }
- else {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "(%s:%d): renderStream is NULL", __FUNCTION__, __LINE__);
- return NULL;
- }
- return renderStream;
-}
-
-int32_t VideoRenderAndroid::DeleteIncomingRenderStream(
- const uint32_t streamId) {
- CriticalSectionScoped cs(&_critSect);
-
- AndroidStreamMap::iterator item = _streamsMap.find(streamId);
- if (item == _streamsMap.end()) {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "(%s:%d): renderStream is NULL", __FUNCTION__, __LINE__);
- return -1;
- }
- delete item->second;
- _streamsMap.erase(item);
- return 0;
-}
-
-int32_t VideoRenderAndroid::GetIncomingRenderStreamProperties(
- const uint32_t streamId,
- uint32_t& zOrder,
- float& left,
- float& top,
- float& right,
- float& bottom) const {
- return -1;
-}
-
-int32_t VideoRenderAndroid::StartRender() {
- CriticalSectionScoped cs(&_critSect);
-
- if (_javaRenderThread) {
- // StartRender is called when this stream should start render.
- // However StopRender is not called when the streams stop rendering.
- // Thus the the thread is only deleted when the renderer is removed.
- WEBRTC_TRACE(kTraceDebug, kTraceVideoRenderer, _id,
- "%s, Render thread already exist", __FUNCTION__);
- return 0;
- }
-
- _javaRenderThread.reset(new rtc::PlatformThread(JavaRenderThreadFun, this,
- "AndroidRenderThread"));
-
- _javaRenderThread->Start();
- WEBRTC_TRACE(kTraceInfo, kTraceVideoRenderer, _id, "%s: thread started",
- __FUNCTION__);
- _javaRenderThread->SetPriority(rtc::kRealtimePriority);
- return 0;
-}
-
-int32_t VideoRenderAndroid::StopRender() {
- WEBRTC_TRACE(kTraceInfo, kTraceVideoRenderer, _id, "%s:", __FUNCTION__);
- {
- CriticalSectionScoped cs(&_critSect);
- if (!_javaRenderThread)
- {
- return -1;
- }
- _javaShutDownFlag = true;
- _javaRenderEvent.Set();
- }
-
- _javaShutdownEvent.Wait(3000);
- CriticalSectionScoped cs(&_critSect);
- _javaRenderThread->Stop();
- _javaRenderThread.reset();
-
- return 0;
-}
-
-void VideoRenderAndroid::ReDraw() {
- CriticalSectionScoped cs(&_critSect);
- // Allow redraw if it was more than 20ms since last.
- if (_lastJavaRenderEvent < TickTime::MillisecondTimestamp() - 20) {
- _lastJavaRenderEvent = TickTime::MillisecondTimestamp();
- _javaRenderEvent.Set();
- }
-}
-
-bool VideoRenderAndroid::JavaRenderThreadFun(void* obj) {
- return static_cast<VideoRenderAndroid*> (obj)->JavaRenderThreadProcess();
-}
-
-bool VideoRenderAndroid::JavaRenderThreadProcess()
-{
- _javaRenderEvent.Wait(1000);
-
- CriticalSectionScoped cs(&_critSect);
- if (!_javaRenderJniEnv) {
- // try to attach the thread and get the env
- // Attach this thread to JVM
- jint res = g_jvm->AttachCurrentThread(&_javaRenderJniEnv, NULL);
-
- // Get the JNI env for this thread
- if ((res < 0) || !_javaRenderJniEnv) {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "%s: Could not attach thread to JVM (%d, %p)",
- __FUNCTION__, res, _javaRenderJniEnv);
- return false;
- }
- }
-
- for (AndroidStreamMap::iterator it = _streamsMap.begin();
- it != _streamsMap.end();
- ++it) {
- it->second->DeliverFrame(_javaRenderJniEnv);
- }
-
- if (_javaShutDownFlag) {
- if (g_jvm->DetachCurrentThread() < 0)
- WEBRTC_TRACE(kTraceWarning, kTraceVideoRenderer, _id,
- "%s: Could not detach thread from JVM", __FUNCTION__);
- else {
- WEBRTC_TRACE(kTraceInfo, kTraceVideoRenderer, _id,
- "%s: Java thread detached", __FUNCTION__);
- }
- _javaRenderJniEnv = NULL;
- _javaShutDownFlag = false;
- _javaShutdownEvent.Set();
- return false; // Do not run this thread again.
- }
- return true;
-}
-
-VideoRenderType VideoRenderAndroid::RenderType() {
- return _renderType;
-}
-
-RawVideoType VideoRenderAndroid::PerferedVideoType() {
- return kVideoI420;
-}
-
-bool VideoRenderAndroid::FullScreen() {
- return false;
-}
-
-int32_t VideoRenderAndroid::GetGraphicsMemory(
- uint64_t& /*totalGraphicsMemory*/,
- uint64_t& /*availableGraphicsMemory*/) const {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "%s - not supported on Android", __FUNCTION__);
- return -1;
-}
-
-int32_t VideoRenderAndroid::GetScreenResolution(
- uint32_t& /*screenWidth*/,
- uint32_t& /*screenHeight*/) const {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "%s - not supported on Android", __FUNCTION__);
- return -1;
-}
-
-uint32_t VideoRenderAndroid::RenderFrameRate(
- const uint32_t /*streamId*/) {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "%s - not supported on Android", __FUNCTION__);
- return -1;
-}
-
-int32_t VideoRenderAndroid::SetStreamCropping(
- const uint32_t /*streamId*/,
- const float /*left*/,
- const float /*top*/,
- const float /*right*/,
- const float /*bottom*/) {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "%s - not supported on Android", __FUNCTION__);
- return -1;
-}
-
-int32_t VideoRenderAndroid::SetTransparentBackground(const bool enable) {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "%s - not supported on Android", __FUNCTION__);
- return -1;
-}
-
-int32_t VideoRenderAndroid::ConfigureRenderer(
- const uint32_t streamId,
- const unsigned int zOrder,
- const float left,
- const float top,
- const float right,
- const float bottom) {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "%s - not supported on Android", __FUNCTION__);
- return -1;
-}
-
-int32_t VideoRenderAndroid::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 rigth, const float bottom) {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "%s - not supported on Android", __FUNCTION__);
- return -1;
-}
-
-int32_t VideoRenderAndroid::SetBitmap(const void* bitMap,
- const uint8_t pictureId,
- const void* colorKey,
- const float left, const float top,
- const float right,
- const float bottom) {
- WEBRTC_TRACE(kTraceError, kTraceVideoRenderer, _id,
- "%s - not supported on Android", __FUNCTION__);
- return -1;
-}
-
-} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698