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

Unified Diff: webrtc/modules/video_render/ios/video_render_ios_gles20.mm

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/ios/video_render_ios_gles20.mm
diff --git a/webrtc/modules/video_render/ios/video_render_ios_gles20.mm b/webrtc/modules/video_render/ios/video_render_ios_gles20.mm
deleted file mode 100644
index 6ad5db8b8cbcbc5b64b34b7cf584a7a4b71612c9..0000000000000000000000000000000000000000
--- a/webrtc/modules/video_render/ios/video_render_ios_gles20.mm
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Copyright (c) 2013 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.
- */
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#include "webrtc/modules/video_render/ios/video_render_ios_gles20.h"
-#include "webrtc/system_wrappers/include/critical_section_wrapper.h"
-#include "webrtc/system_wrappers/include/event_wrapper.h"
-
-using namespace webrtc;
-
-VideoRenderIosGles20::VideoRenderIosGles20(VideoRenderIosView* view,
- bool full_screen,
- int render_id)
- : gles_crit_sec_(CriticalSectionWrapper::CreateCriticalSection()),
- screen_update_event_(0),
- view_(view),
- window_rect_(),
- window_width_(0),
- window_height_(0),
- is_full_screen_(full_screen),
- agl_channels_(),
- z_order_to_channel_(),
- gles_context_([view context]),
- is_rendering_(true) {
- screen_update_thread_.reset(new rtc::PlatformThread(
- ScreenUpdateThreadProc, this, "ScreenUpdateGles20"));
- screen_update_event_ = EventTimerWrapper::Create();
- GetWindowRect(window_rect_);
-}
-
-VideoRenderIosGles20::~VideoRenderIosGles20() {
- // Signal event to exit thread, then delete it
- rtc::PlatformThread* thread_wrapper = screen_update_thread_.release();
-
- if (thread_wrapper) {
- screen_update_event_->Set();
- screen_update_event_->StopTimer();
-
- thread_wrapper->Stop();
- delete thread_wrapper;
- delete screen_update_event_;
- screen_update_event_ = NULL;
- is_rendering_ = FALSE;
- }
-
- // Delete all channels
- std::map<int, VideoRenderIosChannel*>::iterator it = agl_channels_.begin();
- while (it != agl_channels_.end()) {
- delete it->second;
- agl_channels_.erase(it);
- it = agl_channels_.begin();
- }
- agl_channels_.clear();
-
- // Clean the zOrder map
- std::multimap<int, int>::iterator z_it = z_order_to_channel_.begin();
- while (z_it != z_order_to_channel_.end()) {
- z_order_to_channel_.erase(z_it);
- z_it = z_order_to_channel_.begin();
- }
- z_order_to_channel_.clear();
-}
-
-int VideoRenderIosGles20::Init() {
- CriticalSectionScoped cs(gles_crit_sec_.get());
-
- if (!view_) {
- view_ = [[VideoRenderIosView alloc] init];
- }
-
- if (![view_ createContext]) {
- return -1;
- }
-
- screen_update_thread_->Start();
- screen_update_thread_->SetPriority(rtc::kRealtimePriority);
-
- // Start the event triggering the render process
- unsigned int monitor_freq = 60;
- screen_update_event_->StartTimer(true, 1000 / monitor_freq);
-
- window_width_ = window_rect_.right - window_rect_.left;
- window_height_ = window_rect_.bottom - window_rect_.top;
-
- return 0;
-}
-
-VideoRenderIosChannel* VideoRenderIosGles20::CreateEaglChannel(int channel,
- int z_order,
- float left,
- float top,
- float right,
- float bottom) {
- CriticalSectionScoped cs(gles_crit_sec_.get());
-
- if (HasChannel(channel)) {
- return NULL;
- }
-
- VideoRenderIosChannel* new_eagl_channel = new VideoRenderIosChannel(view_);
-
- if (new_eagl_channel->SetStreamSettings(z_order, left, top, right, bottom) ==
- -1) {
- return NULL;
- }
-
- agl_channels_[channel] = new_eagl_channel;
- z_order_to_channel_.insert(std::pair<int, int>(z_order, channel));
-
- return new_eagl_channel;
-}
-
-int VideoRenderIosGles20::DeleteEaglChannel(int channel) {
- CriticalSectionScoped cs(gles_crit_sec_.get());
-
- std::map<int, VideoRenderIosChannel*>::iterator it;
- it = agl_channels_.find(channel);
- if (it != agl_channels_.end()) {
- delete it->second;
- agl_channels_.erase(it);
- } else {
- return -1;
- }
-
- std::multimap<int, int>::iterator z_it = z_order_to_channel_.begin();
- while (z_it != z_order_to_channel_.end()) {
- if (z_it->second == channel) {
- z_order_to_channel_.erase(z_it);
- break;
- }
- z_it++;
- }
-
- return 0;
-}
-
-bool VideoRenderIosGles20::HasChannel(int channel) {
- CriticalSectionScoped cs(gles_crit_sec_.get());
-
- std::map<int, VideoRenderIosChannel*>::iterator it =
- agl_channels_.find(channel);
-
- if (it != agl_channels_.end()) {
- return true;
- }
-
- return false;
-}
-
-// Rendering process
-bool VideoRenderIosGles20::ScreenUpdateThreadProc(void* obj) {
- return static_cast<VideoRenderIosGles20*>(obj)->ScreenUpdateProcess();
-}
-
-bool VideoRenderIosGles20::ScreenUpdateProcess() {
- screen_update_event_->Wait(100);
-
- CriticalSectionScoped cs(gles_crit_sec_.get());
-
- if (!is_rendering_) {
- return false;
- }
-
- if (!screen_update_thread_) {
- return false;
- }
-
- if (GetWindowRect(window_rect_) == -1) {
- return true;
- }
-
- if (window_width_ != (window_rect_.right - window_rect_.left) ||
- window_height_ != (window_rect_.bottom - window_rect_.top)) {
- window_width_ = window_rect_.right - window_rect_.left;
- window_height_ = window_rect_.bottom - window_rect_.top;
- }
-
- // Check if there are any updated buffers
- bool updated = false;
-
- std::map<int, VideoRenderIosChannel*>::iterator it = agl_channels_.begin();
- while (it != agl_channels_.end()) {
- VideoRenderIosChannel* agl_channel = it->second;
-
- updated = agl_channel->IsUpdated();
- if (updated) {
- break;
- }
- it++;
- }
-
- if (updated) {
- // At least one buffer has been updated, we need to repaint the texture
- // Loop through all channels starting highest zOrder ending with lowest.
- for (std::multimap<int, int>::reverse_iterator r_it =
- z_order_to_channel_.rbegin();
- r_it != z_order_to_channel_.rend();
- r_it++) {
- int channel_id = r_it->second;
- std::map<int, VideoRenderIosChannel*>::iterator it =
- agl_channels_.find(channel_id);
-
- VideoRenderIosChannel* agl_channel = it->second;
-
- agl_channel->RenderOffScreenBuffer();
- }
-
- [view_ presentFramebuffer];
- }
-
- return true;
-}
-
-int VideoRenderIosGles20::GetWindowRect(Rect& rect) {
- CriticalSectionScoped cs(gles_crit_sec_.get());
-
- if (!view_) {
- return -1;
- }
-
- CGRect bounds = [view_ bounds];
- rect.top = bounds.origin.y;
- rect.left = bounds.origin.x;
- rect.bottom = bounds.size.height + bounds.origin.y;
- rect.right = bounds.size.width + bounds.origin.x;
-
- return 0;
-}
-
-int VideoRenderIosGles20::ChangeWindow(void* new_window) {
- CriticalSectionScoped cs(gles_crit_sec_.get());
-
- view_ = (__bridge VideoRenderIosView*)new_window;
-
- return 0;
-}
-
-int VideoRenderIosGles20::StartRender() {
- is_rendering_ = true;
- return 0;
-}
-
-int VideoRenderIosGles20::StopRender() {
- is_rendering_ = false;
- return 0;
-}
-
-int VideoRenderIosGles20::GetScreenResolution(uint& screen_width,
- uint& screen_height) {
- screen_width = [view_ bounds].size.width;
- screen_height = [view_ bounds].size.height;
- return 0;
-}
-
-int VideoRenderIosGles20::SetStreamCropping(const uint stream_id,
- const float left,
- const float top,
- const float right,
- const float bottom) {
- // Check if there are any updated buffers
- // bool updated = false;
- uint counter = 0;
-
- std::map<int, VideoRenderIosChannel*>::iterator it = agl_channels_.begin();
- while (it != agl_channels_.end()) {
- if (counter == stream_id) {
- VideoRenderIosChannel* agl_channel = it->second;
- agl_channel->SetStreamSettings(0, left, top, right, bottom);
- }
- counter++;
- it++;
- }
-
- return 0;
-}
« no previous file with comments | « webrtc/modules/video_render/ios/video_render_ios_gles20.h ('k') | webrtc/modules/video_render/ios/video_render_ios_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698