diff --git a/platform/apple_video_timer.mm b/platform/apple_video_timer.mm deleted file mode 100644 index b60e7a9f00..0000000000 --- a/platform/apple_video_timer.mm +++ /dev/null @@ -1,81 +0,0 @@ -#include "platform/video_timer.hpp" - -#include "std/target_os.hpp" - -#include - -class AppleVideoTimer : public VideoTimer -{ - - CVDisplayLinkRef m_displayLink; - -public: - - AppleVideoTimer(VideoTimer::TFrameFn frameFn) - : VideoTimer(frameFn), m_displayLink(0) - {} - - ~AppleVideoTimer() - { - stop(); - } - - static CVReturn displayLinkCallback( - CVDisplayLinkRef /*displayLink*/, - const CVTimeStamp * /*inNow*/, - const CVTimeStamp * /*inOutputTime*/, - CVOptionFlags /*flagsIn*/, - CVOptionFlags * /*flagsOut*/, - void * displayLinkContext - ) - { - AppleVideoTimer * t = reinterpret_cast(displayLinkContext); - t->perform(); - - return kCVReturnSuccess; - } - - void start() - { - if (m_displayLink == 0) - { - CVDisplayLinkCreateWithActiveCGDisplays(&m_displayLink); - CVDisplayLinkSetOutputCallback(m_displayLink, &displayLinkCallback, (void*)this); - resume(); - } - } - - void resume() - { - CVDisplayLinkStart(m_displayLink); - m_state = ERunning; - } - - void pause() - { - CVDisplayLinkStop(m_displayLink); - m_state = EPaused; - } - - void stop() - { - if (m_displayLink) - { - if (state() == ERunning) - pause(); - CVDisplayLinkRelease(m_displayLink); - m_displayLink = 0; - m_state = EStopped; - } - } - - void perform() - { - m_frameFn(); - } -}; - -VideoTimer * CreateAppleVideoTimer(VideoTimer::TFrameFn frameFn) -{ - return new AppleVideoTimer(frameFn); -} diff --git a/platform/ios_video_timer.mm b/platform/ios_video_timer.mm deleted file mode 100644 index ec3077d40e..0000000000 --- a/platform/ios_video_timer.mm +++ /dev/null @@ -1,103 +0,0 @@ -#include "platform/video_timer.hpp" - -#include "std/target_os.hpp" - -#import -#import - -class IOSVideoTimer; - -@interface VideoTimerWrapper : NSObject { -@private - IOSVideoTimer * m_timer; -} -- (id)initWithTimer:(IOSVideoTimer *) timer; -- (void)perform; -@end - -class IOSVideoTimer : public VideoTimer -{ - - VideoTimerWrapper * m_objCppWrapper; - CADisplayLink * m_displayLink; - -public: - - IOSVideoTimer(VideoTimer::TFrameFn frameFn) : VideoTimer(frameFn), m_objCppWrapper(0), m_displayLink(0) - {} - - ~IOSVideoTimer() - { - stop(); - } - - void start() - { - if (m_displayLink == 0) - { - m_objCppWrapper = [[VideoTimerWrapper alloc] initWithTimer:this]; - m_displayLink = [CADisplayLink displayLinkWithTarget:m_objCppWrapper selector:@selector(perform)]; - m_displayLink.frameInterval = 1; - m_displayLink.paused = true; - [m_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode]; - resume(); - } - } - - void stop() - { - if (m_displayLink) - { - // Set EStopped flag first. It seems like 'CADisplayLink::invalidate' can invoke pending 'perform'. - // So we should check EStopped flag in 'perform' to skip pending call. - m_state = EStopped; - [m_displayLink invalidate]; - m_displayLink = 0; - } - } - - void pause() - { - m_displayLink.paused = true; - m_state = EPaused; - } - - void resume() - { - m_displayLink.paused = false; - m_state = ERunning; - } - - void perform() - { - // In case when we stopped and have pending perform at the same time. - // It's not allowed to call m_frameFn after stopping (see WindowHandle::~WindowHandle). - if (m_state != EStopped) - m_frameFn(); - } -}; - -@implementation VideoTimerWrapper - -- (id)initWithTimer:(IOSVideoTimer*) timer -{ - self = [super init]; - if (self) { - m_timer = timer; - } - return self; -} - -- (void)perform -{ - m_timer->perform(); -} - -@end - -VideoTimer * CreateIOSVideoTimer(VideoTimer::TFrameFn frameFn) -{ - return new IOSVideoTimer(frameFn); -} - - diff --git a/platform/platform_tests/video_timer_test.cpp b/platform/platform_tests/video_timer_test.cpp deleted file mode 100644 index f004917798..0000000000 --- a/platform/platform_tests/video_timer_test.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "testing/testing.hpp" - -#include "platform/video_timer.hpp" - -#include "base/thread.hpp" -#include "base/logging.hpp" - -#include "std/bind.hpp" - - -void incrementValue(int & i) -{ - ++i; -} - -#ifdef OMIM_OS_MAC - -UNIT_TEST(TimerTest) -{ - /* - int i = 0; - - VideoTimer * videoTimer = CreatePThreadVideoTimer(bind(&incrementValue, ref(i))); - - LOG(LINFO, ("checking for approximately 60 cycles in second")); - - videoTimer->start(); - - threads::Sleep(1000); - - videoTimer->pause(); - - TEST((i >= 57) && (i <= 61), ("timer doesn't work, i=", i)); - - videoTimer->resume(); - - threads::Sleep(200); - - videoTimer->stop(); - - videoTimer->start(); - - threads::Sleep(200); - - videoTimer->stop(); - */ -} - -#endif diff --git a/platform/pthread_video_timer.cpp b/platform/pthread_video_timer.cpp deleted file mode 100644 index 5777519a59..0000000000 --- a/platform/pthread_video_timer.cpp +++ /dev/null @@ -1,141 +0,0 @@ -#include "std/target_os.hpp" - -#ifndef OMIM_OS_WINDOWS_NATIVE - -#include "platform/video_timer.hpp" - -#include "base/logging.hpp" - -#include -#include -#include - - -class PThreadVideoTimer : public VideoTimer -{ -private: - - pthread_t m_handle; - pthread_mutex_t m_mutex; - pthread_cond_t m_cond; - int m_frameRate; - -public: - PThreadVideoTimer(VideoTimer::TFrameFn frameFn) - : VideoTimer(frameFn), m_frameRate(60) - { - ::pthread_mutex_init(&m_mutex, 0); - ::pthread_cond_init(&m_cond, 0); - } - - ~PThreadVideoTimer() - { - stop(); - - ::pthread_mutex_destroy(&m_mutex); - ::pthread_cond_destroy(&m_cond); - } - - static void * TimerProc(void * p) - { - PThreadVideoTimer * t = reinterpret_cast(p); - - ::timeval prevtv; - ::gettimeofday(&prevtv, 0); - - ::timeval curtv; - - int64_t interval = 1000000000 / t->m_frameRate; - int64_t halfInterval = interval / 2; - - while (true) - { - ::pthread_mutex_lock(&t->m_mutex); - - t->perform(); - - ::gettimeofday(&curtv, 0); - - int64_t sec = (int64_t)curtv.tv_sec - (int64_t)prevtv.tv_sec; - int64_t nsec = ((int64_t)curtv.tv_usec - (int64_t)prevtv.tv_usec) * 1000; - - int64_t nsecDiff = sec * (int64_t)1000000000 + nsec; - int64_t ceiledDiff = ((nsecDiff + interval - 1) / interval) * interval; - - /// how much we should wait - - if ((ceiledDiff - nsecDiff) < halfInterval) - /// less than a half-frame left, should wait till next frame - ceiledDiff += interval; - - ::timespec ts; - - ts.tv_sec = prevtv.tv_sec + (prevtv.tv_usec * 1000 + ceiledDiff) / 1000000000; - ts.tv_nsec = (prevtv.tv_usec * 1000 + ceiledDiff) % 1000000000; - - ::pthread_cond_timedwait(&t->m_cond, &t->m_mutex, &ts); - - ::gettimeofday(&prevtv, 0); - - if (t->m_state == EStopped) - { - ::pthread_mutex_unlock(&t->m_mutex); - break; - } - - ::pthread_mutex_unlock(&t->m_mutex); - } - - ::pthread_exit(0); - - return 0; - } - - void start() - { - if (m_state == EStopped) - { - ::pthread_create(&m_handle, 0, &TimerProc, reinterpret_cast(this)); - m_state = ERunning; - } - } - - void resume() - { - if (m_state == EPaused) - { - m_state = EStopped; - start(); - } - } - - void pause() - { - stop(); - m_state = EPaused; - } - - void stop() - { - if (m_state == ERunning) - { - ::pthread_mutex_lock(&m_mutex); - m_state = EStopped; - ::pthread_cond_signal(&m_cond); - ::pthread_mutex_unlock(&m_mutex); - ::pthread_join(m_handle, 0); - } - } - - void perform() - { - m_frameFn(); - } -}; - -VideoTimer * CreatePThreadVideoTimer(VideoTimer::TFrameFn frameFn) -{ - return new PThreadVideoTimer(frameFn); -} - -#endif diff --git a/platform/video_timer.cpp b/platform/video_timer.cpp deleted file mode 100644 index 2a785cd027..0000000000 --- a/platform/video_timer.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#include "platform/video_timer.hpp" - -#include "std/bind.hpp" - -VideoTimer::VideoTimer(TFrameFn fn) : m_frameFn(fn), m_state(EStopped) -{} - -VideoTimer::EState VideoTimer::state() const -{ - return m_state; -} - -VideoTimer::~VideoTimer() -{} - -VideoTimer::TFrameFn VideoTimer::frameFn() const -{ - return m_frameFn; -} - -void VideoTimer::setFrameFn(TFrameFn fn) -{ - m_frameFn = fn; -} - -namespace -{ - void empty() {} -} - -EmptyVideoTimer::EmptyVideoTimer() - : base_t(bind(&empty)) -{ -} - -EmptyVideoTimer::~EmptyVideoTimer() -{ - stop(); -} - -void EmptyVideoTimer::start() -{ - if (m_state == EStopped) - m_state = ERunning; -} - -void EmptyVideoTimer::resume() -{ - if (m_state == EPaused) - { - m_state = EStopped; - start(); - } -} - -void EmptyVideoTimer::pause() -{ - stop(); - m_state = EPaused; -} - -void EmptyVideoTimer::stop() -{ - if (m_state == ERunning) - m_state = EStopped; -} - -void EmptyVideoTimer::perform() -{ -} diff --git a/platform/video_timer.hpp b/platform/video_timer.hpp deleted file mode 100644 index 715dc84e5c..0000000000 --- a/platform/video_timer.hpp +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once - -#include "std/function.hpp" - -/// Timer, synchronized to Vertical Sync -class VideoTimer -{ -public: - - typedef function TFrameFn; - - enum EState - { - EStopped, - EPaused, - ERunning - }; - -protected: - - TFrameFn m_frameFn; - EState m_state; - -public: - VideoTimer(TFrameFn fn); - virtual ~VideoTimer(); - - TFrameFn frameFn() const; - void setFrameFn(TFrameFn fn); - - EState state() const; - - virtual void resume() = 0; - virtual void pause() = 0; - - virtual void start() = 0; - virtual void stop() = 0; -}; - -class EmptyVideoTimer : public VideoTimer -{ - typedef VideoTimer base_t; -public: - EmptyVideoTimer(); - ~EmptyVideoTimer(); - - void start(); - void resume(); - void pause(); - void stop(); - void perform(); -}; - -extern "C" VideoTimer * CreateIOSVideoTimer(VideoTimer::TFrameFn frameFn); -extern "C" VideoTimer * CreateAppleVideoTimer(VideoTimer::TFrameFn frameFn); -extern "C" VideoTimer * CreateWin32VideoTimer(VideoTimer::TFrameFn frameFn); -extern "C" VideoTimer * CreatePThreadVideoTimer(VideoTimer::TFrameFn frameFn); diff --git a/xcode/platform/platform.xcodeproj/project.pbxproj b/xcode/platform/platform.xcodeproj/project.pbxproj index cf02c33cb3..73cac4b9d1 100644 --- a/xcode/platform/platform.xcodeproj/project.pbxproj +++ b/xcode/platform/platform.xcodeproj/project.pbxproj @@ -21,7 +21,6 @@ 56EB1EDE1C6B6E6C0022D831 /* mwm_traits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 56EB1EDA1C6B6E6C0022D831 /* mwm_traits.cpp */; }; 56EB1EDF1C6B6E6C0022D831 /* mwm_traits.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 56EB1EDB1C6B6E6C0022D831 /* mwm_traits.hpp */; }; 670E8C761BB318AB00094197 /* platform_ios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 670E8C741BB318AB00094197 /* platform_ios.mm */; }; - 670E8C911BB31A2F00094197 /* ios_video_timer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 670E8C901BB31A2F00094197 /* ios_video_timer.mm */; }; 671182F31C80AC4200CB8177 /* WorldCoasts_obsolete.mwm in Resources */ = {isa = PBXBuildFile; fileRef = 671182F21C80AC3D00CB8177 /* WorldCoasts_obsolete.mwm */; }; 671C62061AE9014C00076BD0 /* measurement_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 671C62041AE9014C00076BD0 /* measurement_utils.cpp */; }; 671C62071AE9014C00076BD0 /* measurement_utils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 671C62051AE9014C00076BD0 /* measurement_utils.hpp */; }; @@ -59,13 +58,10 @@ 675343CD1A3F5D5A00A0A8C3 /* platform.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675343A21A3F5D5A00A0A8C3 /* platform.hpp */; }; 675343CE1A3F5D5A00A0A8C3 /* preferred_languages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675343A31A3F5D5A00A0A8C3 /* preferred_languages.cpp */; }; 675343CF1A3F5D5A00A0A8C3 /* preferred_languages.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675343A41A3F5D5A00A0A8C3 /* preferred_languages.hpp */; }; - 675343D01A3F5D5A00A0A8C3 /* pthread_video_timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675343A51A3F5D5A00A0A8C3 /* pthread_video_timer.cpp */; }; 675343D11A3F5D5A00A0A8C3 /* servers_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675343A61A3F5D5A00A0A8C3 /* servers_list.cpp */; }; 675343D21A3F5D5A00A0A8C3 /* servers_list.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675343A71A3F5D5A00A0A8C3 /* servers_list.hpp */; }; 675343D31A3F5D5A00A0A8C3 /* settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675343A81A3F5D5A00A0A8C3 /* settings.cpp */; }; 675343D41A3F5D5A00A0A8C3 /* settings.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675343A91A3F5D5A00A0A8C3 /* settings.hpp */; }; - 675343D71A3F5D5A00A0A8C3 /* video_timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675343AC1A3F5D5A00A0A8C3 /* video_timer.cpp */; }; - 675343D81A3F5D5A00A0A8C3 /* video_timer.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675343AD1A3F5D5A00A0A8C3 /* video_timer.hpp */; }; 675343D91A3F5D5A00A0A8C3 /* wifi_info_windows.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675343AE1A3F5D5A00A0A8C3 /* wifi_info_windows.cpp */; }; 675343DA1A3F5D5A00A0A8C3 /* wifi_info.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675343AF1A3F5D5A00A0A8C3 /* wifi_info.hpp */; }; 675343DB1A3F5D5A00A0A8C3 /* wifi_location_service.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675343B01A3F5D5A00A0A8C3 /* wifi_location_service.cpp */; }; @@ -82,7 +78,6 @@ 6783389C1C6DE59200FD6263 /* location_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675341061C58C4C9002CF0D9 /* location_test.cpp */; }; 6783389D1C6DE59200FD6263 /* measurement_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675341071C58C4C9002CF0D9 /* measurement_tests.cpp */; }; 6783389E1C6DE59200FD6263 /* platform_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675341081C58C4C9002CF0D9 /* platform_test.cpp */; }; - 6783389F1C6DE59200FD6263 /* video_timer_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675341091C58C4C9002CF0D9 /* video_timer_test.cpp */; }; 678338A01C6DE5BA00FD6263 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 6753413B1C58C79C002CF0D9 /* libz.tbd */; }; 678338A11C6DE5BA00FD6263 /* libbase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675341311C58C786002CF0D9 /* libbase.a */; }; 678338A21C6DE5BA00FD6263 /* libcoding.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675341321C58C786002CF0D9 /* libcoding.a */; }; @@ -122,7 +117,6 @@ 56EB1EDA1C6B6E6C0022D831 /* mwm_traits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mwm_traits.cpp; sourceTree = ""; }; 56EB1EDB1C6B6E6C0022D831 /* mwm_traits.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = mwm_traits.hpp; sourceTree = ""; }; 670E8C741BB318AB00094197 /* platform_ios.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = platform_ios.mm; sourceTree = ""; }; - 670E8C901BB31A2F00094197 /* ios_video_timer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios_video_timer.mm; sourceTree = ""; }; 671182F21C80AC3D00CB8177 /* WorldCoasts_obsolete.mwm */ = {isa = PBXFileReference; lastKnownFileType = file; path = WorldCoasts_obsolete.mwm; sourceTree = ""; }; 671C62041AE9014C00076BD0 /* measurement_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = measurement_utils.cpp; sourceTree = ""; }; 671C62051AE9014C00076BD0 /* measurement_utils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = measurement_utils.hpp; sourceTree = ""; }; @@ -152,7 +146,6 @@ 675341061C58C4C9002CF0D9 /* location_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = location_test.cpp; sourceTree = ""; }; 675341071C58C4C9002CF0D9 /* measurement_tests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = measurement_tests.cpp; sourceTree = ""; }; 675341081C58C4C9002CF0D9 /* platform_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = platform_test.cpp; sourceTree = ""; }; - 675341091C58C4C9002CF0D9 /* video_timer_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = video_timer_test.cpp; sourceTree = ""; }; 675341141C58C4D8002CF0D9 /* testingmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = testingmain.cpp; path = ../../testing/testingmain.cpp; sourceTree = ""; }; 6753412F1C58C70C002CF0D9 /* libindexer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libindexer.a; path = "../../../omim-xcode-build/Debug/libindexer.a"; sourceTree = ""; }; 675341311C58C786002CF0D9 /* libbase.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbase.a; path = "../../../omim-xcode-build/Debug/libbase.a"; sourceTree = ""; }; @@ -163,7 +156,6 @@ 6753413B1C58C79C002CF0D9 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 675343781A3F5CF500A0A8C3 /* libplatform.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libplatform.a; sourceTree = BUILT_PRODUCTS_DIR; }; 675343861A3F5D5900A0A8C3 /* apple_location_service.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = apple_location_service.mm; sourceTree = ""; }; - 675343871A3F5D5900A0A8C3 /* apple_video_timer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = apple_video_timer.mm; sourceTree = ""; }; 675343881A3F5D5900A0A8C3 /* chunks_download_strategy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chunks_download_strategy.cpp; sourceTree = ""; }; 675343891A3F5D5900A0A8C3 /* chunks_download_strategy.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = chunks_download_strategy.hpp; sourceTree = ""; }; 6753438A1A3F5D5900A0A8C3 /* constants.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = constants.hpp; sourceTree = ""; }; @@ -185,13 +177,10 @@ 675343A21A3F5D5A00A0A8C3 /* platform.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = platform.hpp; sourceTree = ""; }; 675343A31A3F5D5A00A0A8C3 /* preferred_languages.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = preferred_languages.cpp; sourceTree = ""; }; 675343A41A3F5D5A00A0A8C3 /* preferred_languages.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = preferred_languages.hpp; sourceTree = ""; }; - 675343A51A3F5D5A00A0A8C3 /* pthread_video_timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pthread_video_timer.cpp; sourceTree = ""; }; 675343A61A3F5D5A00A0A8C3 /* servers_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = servers_list.cpp; sourceTree = ""; }; 675343A71A3F5D5A00A0A8C3 /* servers_list.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = servers_list.hpp; sourceTree = ""; }; 675343A81A3F5D5A00A0A8C3 /* settings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = settings.cpp; sourceTree = ""; }; 675343A91A3F5D5A00A0A8C3 /* settings.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = settings.hpp; sourceTree = ""; }; - 675343AC1A3F5D5A00A0A8C3 /* video_timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = video_timer.cpp; sourceTree = ""; }; - 675343AD1A3F5D5A00A0A8C3 /* video_timer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = video_timer.hpp; sourceTree = ""; }; 675343AE1A3F5D5A00A0A8C3 /* wifi_info_windows.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wifi_info_windows.cpp; sourceTree = ""; }; 675343AF1A3F5D5A00A0A8C3 /* wifi_info.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = wifi_info.hpp; sourceTree = ""; }; 675343B01A3F5D5A00A0A8C3 /* wifi_location_service.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wifi_location_service.cpp; sourceTree = ""; }; @@ -266,7 +255,6 @@ 675341061C58C4C9002CF0D9 /* location_test.cpp */, 675341071C58C4C9002CF0D9 /* measurement_tests.cpp */, 675341081C58C4C9002CF0D9 /* platform_test.cpp */, - 675341091C58C4C9002CF0D9 /* video_timer_test.cpp */, ); name = platform_tests; path = ../../platform/platform_tests; @@ -344,7 +332,6 @@ 56EB1ED91C6B6E6C0022D831 /* file_logging.hpp */, 56EB1EDA1C6B6E6C0022D831 /* mwm_traits.cpp */, 56EB1EDB1C6B6E6C0022D831 /* mwm_traits.hpp */, - 670E8C901BB31A2F00094197 /* ios_video_timer.mm */, 67AB92E81B7B3E9100AB5194 /* get_text_by_id.cpp */, 67AB92E91B7B3E9100AB5194 /* get_text_by_id.hpp */, 67AB92DA1B7B3D7300AB5194 /* mwm_version.cpp */, @@ -360,7 +347,6 @@ 671C62041AE9014C00076BD0 /* measurement_utils.cpp */, 671C62051AE9014C00076BD0 /* measurement_utils.hpp */, 675343861A3F5D5900A0A8C3 /* apple_location_service.mm */, - 675343871A3F5D5900A0A8C3 /* apple_video_timer.mm */, 675343881A3F5D5900A0A8C3 /* chunks_download_strategy.cpp */, 675343891A3F5D5900A0A8C3 /* chunks_download_strategy.hpp */, 6753438A1A3F5D5900A0A8C3 /* constants.hpp */, @@ -383,13 +369,10 @@ 675343A21A3F5D5A00A0A8C3 /* platform.hpp */, 675343A31A3F5D5A00A0A8C3 /* preferred_languages.cpp */, 675343A41A3F5D5A00A0A8C3 /* preferred_languages.hpp */, - 675343A51A3F5D5A00A0A8C3 /* pthread_video_timer.cpp */, 675343A61A3F5D5A00A0A8C3 /* servers_list.cpp */, 675343A71A3F5D5A00A0A8C3 /* servers_list.hpp */, 675343A81A3F5D5A00A0A8C3 /* settings.cpp */, 675343A91A3F5D5A00A0A8C3 /* settings.hpp */, - 675343AC1A3F5D5A00A0A8C3 /* video_timer.cpp */, - 675343AD1A3F5D5A00A0A8C3 /* video_timer.hpp */, 675343AE1A3F5D5A00A0A8C3 /* wifi_info_windows.cpp */, 675343AF1A3F5D5A00A0A8C3 /* wifi_info.hpp */, 675343B01A3F5D5A00A0A8C3 /* wifi_location_service.cpp */, @@ -449,7 +432,6 @@ 67247FFE1C60BD6500EDE56A /* writable_dir_changer.hpp in Headers */, 674125091B4C00CC00A3E828 /* country_defines.hpp in Headers */, 675343CD1A3F5D5A00A0A8C3 /* platform.hpp in Headers */, - 675343D81A3F5D5A00A0A8C3 /* video_timer.hpp in Headers */, 6741250F1B4C00CC00A3E828 /* local_country_file.hpp in Headers */, 675E88A11DB7B0F200F8EBDA /* test_socket.hpp in Headers */, 675343CF1A3F5D5A00A0A8C3 /* preferred_languages.hpp in Headers */, @@ -610,12 +592,9 @@ 675343CC1A3F5D5A00A0A8C3 /* platform.cpp in Sources */, 675343DB1A3F5D5A00A0A8C3 /* wifi_location_service.cpp in Sources */, 56EB1EDC1C6B6E6C0022D831 /* file_logging.cpp in Sources */, - 675343D01A3F5D5A00A0A8C3 /* pthread_video_timer.cpp in Sources */, 675343B11A3F5D5A00A0A8C3 /* apple_location_service.mm in Sources */, 675343B31A3F5D5A00A0A8C3 /* chunks_download_strategy.cpp in Sources */, 34513AFA1DCB37C100471BDA /* marketing_service_ios.mm in Sources */, - 670E8C911BB31A2F00094197 /* ios_video_timer.mm in Sources */, - 675343D71A3F5D5A00A0A8C3 /* video_timer.cpp in Sources */, 675343C01A3F5D5A00A0A8C3 /* location_service.cpp in Sources */, 675343D31A3F5D5A00A0A8C3 /* settings.cpp in Sources */, 675343CE1A3F5D5A00A0A8C3 /* preferred_languages.cpp in Sources */, @@ -629,7 +608,6 @@ files = ( 6783389E1C6DE59200FD6263 /* platform_test.cpp in Sources */, 678338961C6DE59200FD6263 /* apk_test.cpp in Sources */, - 6783389F1C6DE59200FD6263 /* video_timer_test.cpp in Sources */, 678338991C6DE59200FD6263 /* jansson_test.cpp in Sources */, 6783389C1C6DE59200FD6263 /* location_test.cpp in Sources */, 678338981C6DE59200FD6263 /* get_text_by_id_tests.cpp in Sources */,