diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5bcbf1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# Do not load folders used by Inno Setup +setup/input/ +setup/output/ +**/validation_results.txt +**/openssl_onvif_log.txt diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..73f6264 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,9 @@ +[submodule "portaudio"] + path = player/3rdparty/portaudio + url = https://github.com/PortAudio/portaudio.git +[submodule "pugixml"] + path = player/3rdparty/pugixml + url = https://github.com/zeux/pugixml.git +[submodule "signed-media-framework"] + path = player/3rdparty/signed-media-framework + url = https://github.com/onvif/signed-media-framework.git diff --git a/player/.gitignore b/player/.gitignore new file mode 100644 index 0000000..82cdc35 --- /dev/null +++ b/player/.gitignore @@ -0,0 +1,45 @@ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# Other folders +build/ +.cache/ +.vscode/ +.vs/ +x64/ +Testing + +# Visual Studio files +*.user + +3rdparty/*ffmpeg* diff --git a/player/3rdparty/CMakeLists.txt b/player/3rdparty/CMakeLists.txt new file mode 100644 index 0000000..39d3262 --- /dev/null +++ b/player/3rdparty/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.25) + +set(PROJECT_NAME OXFPlayerAdditional) + +project(${PROJECT_NAME} VERSION 2.0.0 LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +set(CMAKE_CONFIGURATION_TYPES Debug Release) + +add_subdirectory(portaudio) +add_subdirectory(pugixml) \ No newline at end of file diff --git a/player/3rdparty/portaudio b/player/3rdparty/portaudio new file mode 160000 index 0000000..57aa393 --- /dev/null +++ b/player/3rdparty/portaudio @@ -0,0 +1 @@ +Subproject commit 57aa393109ec996799d3a5846c9ecb0a65b64644 diff --git a/player/3rdparty/prepare3rdparty.bat b/player/3rdparty/prepare3rdparty.bat new file mode 100644 index 0000000..518fd6b --- /dev/null +++ b/player/3rdparty/prepare3rdparty.bat @@ -0,0 +1,7 @@ +mkdir build + +cd build + +cmake .. + +cd .. \ No newline at end of file diff --git a/player/3rdparty/pugixml b/player/3rdparty/pugixml new file mode 160000 index 0000000..db78afc --- /dev/null +++ b/player/3rdparty/pugixml @@ -0,0 +1 @@ +Subproject commit db78afc2b7d8f043b4bc6b185635d949ea2ed2a8 diff --git a/player/3rdparty/signed-media-framework b/player/3rdparty/signed-media-framework new file mode 160000 index 0000000..670f09a --- /dev/null +++ b/player/3rdparty/signed-media-framework @@ -0,0 +1 @@ +Subproject commit 670f09ae09787b23568b0fa83ad419b8a43ef7a8 diff --git a/player/CMakeLists.txt b/player/CMakeLists.txt new file mode 100644 index 0000000..50821d1 --- /dev/null +++ b/player/CMakeLists.txt @@ -0,0 +1,75 @@ +cmake_minimum_required(VERSION 3.25) + +if(NOT LINUX) + message( FATAL_ERROR "Only for linux build" ) +endif() + +project(ONVIFPlayer VERSION 2.0.0 LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +set(CMAKE_CONFIGURATION_TYPES Debug Release) + +# Add a compiler flag +#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") + +# Allow test - muts be in root CMakeLists.txt +enable_testing(true) + +# Find Qt +find_package(Qt5 COMPONENTS Core REQUIRED) +find_package(Qt5 COMPONENTS Widgets REQUIRED) +find_package(Qt5 COMPONENTS Network REQUIRED) +find_package(Qt5 COMPONENTS Multimedia REQUIRED) +find_package(Qt5 COMPONENTS Test REQUIRED) +# Find OpenSSL +find_package(OpenSSL REQUIRED) + +# Add 3rd party as submodules +add_subdirectory(3rdparty/portaudio) +add_subdirectory(3rdparty/pugixml) + +# Add signed media framework + +# signed-media-framework +set(SIGNED_MEDIA_FRAMEWORK_VERSION 0.0.0) + +find_package(PkgConfig REQUIRED) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GST REQUIRED IMPORTED_TARGET gstreamer-1.0>=1.22 gstreamer-sdp-1.0>=1.22 + gstreamer-video-1.0>=1.22 gstreamer-app-1.0>=1.22) + +# signed-media-framework plugin +project( + ${PLUGIN_NAME} + VERSION ${SIGNED_MEDIA_FRAMEWORK_VERSION} + LANGUAGES C) +add_library(${PLUGIN_NAME} STATIC + ./3rdparty/signed-media-framework/lib/plugins/${PLUGIN_NAME}/plugin.c) +target_include_directories( + ${PLUGIN_NAME} + PUBLIC ./3rdparty/signed-media-framework/lib/src + PRIVATE ${GLIB_INCLUDE_DIRS}) +target_link_libraries(${PLUGIN_NAME} INTERFACE ${GLIB_LDFLAGS}) + +# signed-media-framework library +project( + signed-media-framework + VERSION ${SIGNED_MEDIA_FRAMEWORK_VERSION} + LANGUAGES C) +file(GLOB SIGNED_MEDIA_FRAMEWORK_LIBRARY_SRC 3rdparty/signed-media-framework/lib/src/*) +add_library(signed-media-framework STATIC ${SIGNED_MEDIA_FRAMEWORK_LIBRARY_SRC}) +target_include_directories( + signed-media-framework + PUBLIC + ./3rdparty/signed-media-framework/lib/src + ./3rdparty/signed-media-framework/lib/src/includes + PRIVATE ${GLIB_INCLUDE_DIRS}) +target_link_libraries(signed-media-framework PRIVATE ${PLUGIN_NAME} PkgConfig::GLIB PkgConfig::GST) + +# # Add source code +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) +add_subdirectory(src) diff --git a/player/README b/player/README deleted file mode 100644 index 77859f5..0000000 --- a/player/README +++ /dev/null @@ -1,323 +0,0 @@ -This file contains instructions of how to get ONVIF Export Player software built and run - - -****************************** -I. Build external libraries -****************************** - -0. Pre-build installations to be done -======================================== - -In order to go successfully through all the steps of build, following installations are required: - - MinGW with MSys option. - Required to execute prebuild.sh and prerun.sh scripts, which are required to build and run the player itself. - Required to build OpenSSL and PortAudio libraries for Qt Creator. - Direct link to the latest installer is - http://sourceforge.net/projects/mingw/files/latest/download?source=files - Note! If you have Cygwin with MinGW option configured and installed, it can also be used to perform the actions. - MSys was chosen only because it's easier to deploy this software package. - Note! It is also possible that you will need to add path to MinGW compiler into environment PATH variable to build OpenSSL and PortAudio. - - Perl. - Required to build OpenSSL for Visual Studio. - Suggested implementation is ActivePerl, located at - http://www.activestate.com/activeperl/downloads - Important! Do not use Stawberry Perl, as it was proved to work very unstable with OpenSSL build system. - - Corresponding version of Visual Studio. - Required to build OpenSSL and PortAudio libraries for Visual Studio. - - 7-zip or any archive tool capable to extract .7z and .tar.gz archives - Required to extract Zeranoe FFmpeg build. - Required to extract OpenSSL and PortAudio libraries for Visual Studio builds. - Note! In order to extract OpenSSL for MinGW build use MSys (or Cygwin) tar, see below for more details. - Download link is - http://www.7-zip.org/ - - -1. FFMPEG -======================= -Version --------- - -Verified versions of FFmpeg are 4.4 -Another versions of FFmpeg can also be tried, but it is not guranteed that -it will get linked and executed with ONVIF Player sucessfully - -Link to the publisher web site -------------------------------- - -http://www.ffmpeg.org/ - -Downloads page link --------------------- - -http://www.ffmpeg.org/download.html - -Build instructions -------------------- - You can go with either of the following options: - - a) Use availible builds recommended by FFmpeg: - https://www.gyan.dev/ffmpeg/builds/ - - You should download 64-bit SHARED packages. Links to ffmpeg build downloads: - https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-4.4-full_build-shared.7z - - - b) Build FFmpeg by yourself following official recommendations: - https://ffmpeg.org/trac/ffmpeg/wiki/CrossCompilingForWindows - - c) Use provided script to build lightweight LGPL version of FFmpeg - This is an updated script from option b) above. Script name is - cross_compile_ffmpeg.sh and it is located in the same folder with - this README file. - - !Note. This script is designed and implemented to run on Linux OS. - According to recommendations and experiments, FFmpeg built on - Linux with cross-compiler is much "faster" than the one built - with "native" compilation in windows - - The following changes have been applied to original script: - - all external libraries are switched off; - - documentation and programs (ffmpeg.exe, ffplay.exe etc.) generation - is disabled; - - debug symbols generation is switched off; - - target platform is set to 32-bit version; - - all DLL and LIB files will be copied to the BUILD folder after - the build will be completed - - -2. OPENSSL -======================= - -Version ---------- - -Verified version(s) of OpenSSL is 1.0.1 -Another versions of OpenSSL can also be tried, but it is not guranteed that -it will get linked and executed with ONVIF Player sucessfully. -Note: security vulnerabilities are of minor importance since the library is solely used for signature verification. - -Link to the publisher web site -------------------------------- - -http://www.openssl.org/ - -Downloads page link --------------------- - -http://www.openssl.org/source/ -ftp://ftp.openssl.org/source/ - -Build instructions -------------------- - Common build steps: - - Unpack OpenSSL source code to some path at your PC - Important! Create several different source folders, if you - plan to mantain several builds (like VS2010 and VS2012, or - MinGW and VS2012) - Important! For some reasons MinGW builds need to be extracted - with MSys tar in order the build to finish successfully - Execute tar -zxvf /path/to/openssl/archive.tar.gz from MSys - console in order to extract source files - - Create a folder for build output - Important! Create several different output folders, - if you plan to mantain several builds (like VS2010 and VS2012, - or MinGW and VS2012) - MinGW build for Qt Creator with MinGW: - - Create a folder for build output - - Run MSys - - Execute following commands - cd /path/to/source/folder - ./Configure --prefix=/absolute/path/to/output/folder no-idea no-mdc2 no-rc5 shared mingw - make depend - make - make install - Visual Studio 2010 and Visual Studio 2012 Build - - Run corresponding Visual Studio x86 Command Prompt from Start menu - - Execute following commands - cd X:\path\to\source\folder - perl Configure VC-WIN32 --prefix=X:\path\to\output\folder - ms\do_ms.bat - nmake -f ms\ntdll.mak - nmake -f ms\ntdll.mak install - - -3. PORTAUDIO -======================= - -Version ------------ -Verified version of PortAudio is 19 -Another versions of PortAudio can also be tried, but it is not guranteed -that it will get linked and executed with ONVIF Player sucessfully - -Link to the publisher web site -------------------------------- - -http://portaudio.com/ - -Downloads page link --------------------- - -http://portaudio.com/download.html -http://portaudio.com/archives/ - -Build instructions -------------------- --in order to build for MinGW use the following instructions: - http://portaudio.com/docs/v19-doxydocs/compile_windows_mingw.html - --in order to build for Visual Studio 2010 and Visual Studio 2012 use - the following instructions: - http://portaudio.com/docs/v19-doxydocs/compile_windows.html - ONVIF Player does not need ASIO support, so follow the steps to build - without ASIO support - - -4. QT -======================= - -Version --------- - -Verified versions of Qt are 6.2 -Higher versions of Qt can also be tried, but it is not guranteed that it will -get linked and executed with ONVIF Player sucessfully - -Link to the publisher web site -------------------------------- - -http://qt-project.org/ - -Downloads page link --------------------- -http://qt-project.org/downloads -http://download.qt-project.org/official_releases/qt/ -Please install the followng versions of Qt libraries on your build machine: - - MinGW: - (>= 5.0.1) for Windows 32-bit - for Visual Studio 2010: - (>= 5.0.1) for Windows 32-bit - for Visual Studio 2012: - (>= 5.1.0) for Windows 32-bit - - - -******************************************* -II. Prepare for ONVIF Export Player build -******************************************* - -First of all we need to copy all needed files from external libraries. -This can be done with prebuild.sh script. -The script should be executed from MSys console. -Working directory should be set to the script parent folder. -This script is interactive, so just follow the instruction. - -The script needs to know following things: - - Configuration type - - MinGW - - Visual Studio 2010 - - Visual Studio 2012 - - FFmpeg source type - - binaries from http://ffmpeg.zeranoe.com/builds/ - - built from scratch - - Path to FFmpeg-1.2-win32-dev folder for Zeranoe FFmpeg build - or - - Path to FFmpeg build folder for binaries built from scratch - - Path to OpenSSL build folder (specified in --prefix) - - Path to PortAudio build folder (note, that Visual Studio files - are searched under path/specified/build/msvc/Win32/Release) - -The script does also perform patching of the ffmpeg/include/libavutil/common.h - - - -******************************* -III. Build ONVIF Export Player -******************************* - -2. Visual Studio -========================================================= - -Building using Visual Studio 2019 ----------------------------------- -- open the solution file /proj/ONVIFPlayer-VS2019/ONVIFPlayer-VS2019.sln. -- ensure, that Qt version is set for a solution: - Right click the solution file and find a menu item - 'Change solution's Qt Version' - Ensure that the right Qt Version is selected - Click Ok -- select a build configuration and press build. - -****************************** -IV. Run ONVIF Export Player -****************************** - -As a preparation for execution it is required to ensure that all needed dynamic libraries are in place. -This can be done with prerun.sh script. -The script should be executed from MSys console. -Working directory should be set to the script parent folder. -This script is interactive, so just follow the instruction. - -The script needs to know following things - - Configuration type - - MinGW - - Visual Studio 2010 - - Visual Studio 2012 - - FFmpeg source type - - binaries from http://ffmpeg.zeranoe.com/builds/ - - built from scratch - - Path to FFmpeg-1.2-win32-shared folder for Zeranoe FFmpeg build - or - - Path to FFmpeg build folder for binaries built from scratch - - Path to OpenSSL build folder (specified in --prefix) - - Path to PortAudio build folder (note, that Visual Studio files - are searched under path/specified/build/msvc/Win32/Release) - -If you run player from your IDE, then you don't need to copy Qt .dll files. -If you run it from any place on the hard disc, then you should copy Qt libraries as well -or make sure path to the QT libraries is in system search path. - - -The following Qt files are required: - - for Visual Studio release: - avcodec-58.dll - avfilter-7.dll - avformat-58.dll - avdevice-58.dll - avutil-56.dll - swresample-3.dll - swscale-5.dll - postproc-55.dll - portaudio_x64.dll - Qt6Core.dll - Qt6Gui.dll - Qt6Multimedia.dll - Qt6Network.dll - Qt6Widgets.dll - libeay32.dll - ssleay32.dll - platforms\qwindows.dll - - for Visual Studio Debug: - avcodec-58.dll - avfilter-7.dll - avformat-58.dll - avdevice-58.dll - avutil-56.dll - swresample-3.dll - swscale-5.dll - postproc-55.dll - portaudio_x64.dll - Qt6Cored.dll - Qt6Guid.dll - Qt6Multimediad.dll - Qt6Networkd.dll - Qt6Widgetsd.dll - libeay32.dll - ssleay32.dll - platforms\qwindows.dll - - - diff --git a/player/README.md b/player/README.md new file mode 100644 index 0000000..b9b5707 --- /dev/null +++ b/player/README.md @@ -0,0 +1,79 @@ +# ONVIF_player + +## How to build + +### Needed applications/libraries (Windows build) +You need next applications/libraries to be installed: +- Visual Studio 2022 +- Qt 5.12 +- Qt add-on for Visual Studio (https://marketplace.visualstudio.com/items?itemName=TheQtCompany.QtVisualStudioTools2022) +- CMake (https://cmake.org/download/) +- OpenSSL 3.3.1 (https://slproweb.com/products/Win32OpenSSL.html) +- FFmgpeg 4.4, not higher (https://github.com/andrewGuzGRSE/FFmpegBuilds, https://github.com/BtbN/FFmpeg-Builds) +- GStreamer 1.0 or higher (https://gstreamer.freedesktop.org/download/#windows) + +### Needed applications/libraries (Ubuntu 24.04 build) +You need next applications/libraries to be installed: +- OpenSSL: + ``` + sudo apt install libssl-dev + ``` +- CMake: + ``` + sudo apt install cmake build-essential + ``` +- Qt 5.15: + ``` + sudo apt install qtbase5-dev qt5-qmake libqt5multimedia5-plugins qtmultimedia5-dev + ``` +- GStreamer: + ``` + sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio + ``` +- FFmpeg 4.4, not higher (https://github.com/andrewGuzGRSE/FFmpegBuilds) + +### Update submodules after clone +``` +git submodule update --init --recursive +``` + +### Build on Windows + +#### Add environment variables +To compile you should set 3 environment variables: +- OPENSSL_PATH (something like C:\Program Files\OpenSSL-Win64) +- FFMPEG_PATH (something like C:\ffmpeg-4.4) +- GSTREAMER (something like C:\gstreamer\1.0\msvc_x86_64) + +All of them should point to root folders, where include and lib subfolders can be found. + +#### Prepare 3rd party libraries +``` +cd ./player/3rdparty +./prepare3rdparty.bat +``` + +#### Build player + +Qt must be configured in Visual Studio with name `Qt 5.12 x64` (like C:\Qt\Qt5.12.12\5.12.12\msvc2017_64) +![image](https://github.com/user-attachments/assets/8c7cd7ef-08ca-47c2-bd1b-5278e0a0a218) + +Open `player/proj/OXFPlayer-VS2022/OXFPlayer.sln` and build the player. + +### Build on Linux + + +``` +cd player +mkdir build +cd build +cmake -DCMAKE_BUILD_TYPE=BUILD_TYPE -DPLUGIN_NAME=PLUGIN_NAME -DFFMPEG_PATH=PATH_TO_LOCAL_FFMPEG .. +cmake --build . -j THREADS_COUNT +``` +Where +- BUILD_TYPE can be 'Debug' or 'Release' +- PLUGIN_NAME can be `threaded-signing` or `unthreaded-signing` +- PATH_TO_LOCAL_FFMPEG is a path to FFmpeg 4.4 if it's not a part of you Linux +- THREADS_COUNT is a threads count used to build application + +In case of using not system FFmpeg, you will have to copy it's so files near by Player executable. diff --git a/player/ext/FFMPEG-4.4/README b/player/ext/FFMPEG-4.4/README deleted file mode 100644 index afc3653..0000000 --- a/player/ext/FFMPEG-4.4/README +++ /dev/null @@ -1,8 +0,0 @@ -For windows build either build from sources or obtain binaries from - - https://www.gyan.dev/ffmpeg/builds/#release-builds - - https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-4.4-full_build-shared.7z - - - diff --git a/player/ext/OpenSSL-1.0.1/README b/player/ext/OpenSSL-1.0.1/README deleted file mode 100644 index 68b3ebd..0000000 --- a/player/ext/OpenSSL-1.0.1/README +++ /dev/null @@ -1,11 +0,0 @@ -For windows build either build from sources or obtain binaries from - - https://indy.fulgan.com/SSL/LinkLibs/openssl-1.0.1u-x64_86-win64_LinkLibs.zip - -Additionally you need the include directory which may be taken from the respective branch at github: - - https://github.com/openssl/openssl - - - - diff --git a/player/ext/PortAudio/README b/player/ext/PortAudio/README deleted file mode 100644 index 47b103b..0000000 --- a/player/ext/PortAudio/README +++ /dev/null @@ -1,13 +0,0 @@ -For windows build either build from sources or obtain binaries from - - https://raw.githubusercontent.com/adfernandes/precompiled-portaudio-windows/master/portaudio-r1891-build.zip - - https://indy.fulgan.com/SSL/LinkLibs/openssl-1.0.1u-x64_86-win64_LinkLibs.zip - -Additionally you need the include directory which may be taken from the respective branch at github: - - https://github.com/openssl/openssl - - - - diff --git a/player/ext/pugixml/README b/player/ext/pugixml/README deleted file mode 100644 index 189f8e7..0000000 --- a/player/ext/pugixml/README +++ /dev/null @@ -1,3 +0,0 @@ -Get sources https://pugixml.org/. - -Either copy the full tree including documentation here or just the sources to folder src. diff --git a/player/proj/ONVIFPlayer-MinGW/ONVIFPlayer.pro b/player/proj/ONVIFPlayer-MinGW/ONVIFPlayer.pro deleted file mode 100644 index 4d6a63d..0000000 --- a/player/proj/ONVIFPlayer-MinGW/ONVIFPlayer.pro +++ /dev/null @@ -1,192 +0,0 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2013-05-21T22:35:29 -# -#------------------------------------------------- - -QT += core gui widgets multimedia network - -TARGET = ONVIFPlayer - -TEMPLATE = app - -QMAKE_CXXFLAGS += -std=c++11 - -INCLUDEPATH += ../../src \ - ../../src/common \ - ../../src/player \ - ../../src/playerUI \ - ../../src/parser \ - ../../src/parserUI - -DEFINES += DECODE_USING_QUEUE -#DEFINES += DECODE_WITHOUT_QUEUE - -#DEFINES += MEMORY_INFO - -win32:DEFINES += WIN32 -unix:DEFINES += UNIX - -INCLUDEPATH += ../../ext/FFMPEG-1.2/include -INCLUDEPATH += ../../ext/PortAudio/include -INCLUDEPATH += ../../ext/OpenSSL-1.0.1/include - -SOURCES += ../../src/main.cpp \ - ../../src/common/fragmentInfo.cpp \ - ../../src/parser/basic/box.cpp \ - ../../src/parser/basic/mandatoryBox.cpp \ - ../../src/parser/basic/unknownBox.cpp \ - ../../src/parser/boxFactory.cpp \ - ../../src/parser/certificateStorage.cpp \ - ../../src/parser/consistencyChecker.cpp \ - ../../src/parser/fourcc.cpp \ - ../../src/parser/fragmentExtractor.cpp \ - ../../src/parser/mediaParser.cpp \ - ../../src/parser/oxfverifier.cpp \ - ../../src/parser/signatureExtractor.cpp \ - ../../src/parser/validatorISO.cpp \ - ../../src/parser/validatorOXF.cpp \ - ../../src/parser/validatorSurveillance.cpp \ - ../../src/parserUI/certificateStorageDialog.cpp \ - ../../src/parserUI/parserWidget.cpp \ - ../../src/parserUI/verifyerdialog.cpp \ - ../../src/player/audioContext.cpp \ - ../../src/player/audioPlayback.cpp \ - ../../src/player/avFrameWrapper.cpp \ - ../../src/player/controller.cpp \ - ../../src/player/engine.cpp \ - ../../src/player/mainContext.cpp \ - ../../src/player/nonqueuedAudioDecoder.cpp \ - ../../src/player/nonqueuedVideoDecoder.cpp \ - ../../src/player/portAudioPlayback.cpp \ - ../../src/player/portAudioThread.cpp \ - ../../src/player/queuedAudioDecoder.cpp \ - ../../src/player/queuedVideoDecoder.cpp \ - ../../src/player/syncThread.cpp \ - ../../src/player/videoContext.cpp \ - ../../src/player/videoPlayback.cpp \ - ../../src/playerUI/clickableSlider.cpp \ - ../../src/playerUI/controlsWidget.cpp \ - ../../src/playerUI/fragmentListWidget.cpp \ - ../../src/playerUI/fullscreenPlayerWidget.cpp \ - ../../src/playerUI/movingOutArea.cpp \ - ../../src/playerUI/playerWidget.cpp \ - ../../src/playerUI/videoFrameWidget.cpp - -HEADERS += \ - ../../src/common/crosscompilation_cxx11.h \ - ../../src/common/crosscompilation_inttypes.h \ - ../../src/common/defines.h \ - ../../src/common/enums.h \ - ../../src/common/ffmpeg.h \ - ../../src/common/segmentInfo.h \ - ../../src/common/ONVIFSignInfo.h \ - ../../src/common/queue.h \ - ../../src/common/signingInformation.h \ - ../../src/common/types.h \ - ../../src/parser/additionalUserInformation.hpp \ - ../../src/parser/afIdentificationBox.hpp \ - ../../src/parser/basic/box.h \ - ../../src/parser/basic/contentBox.hpp \ - ../../src/parser/basic/dataBox.hpp \ - ../../src/parser/basic/fileBox.hpp \ - ../../src/parser/basic/fullBox.hpp \ - ../../src/parser/basic/mandatoryBox.h \ - ../../src/parser/basic/mixin/children.hpp \ - ../../src/parser/basic/mixin/data.hpp \ - ../../src/parser/basic/mixin/table.hpp \ - ../../src/parser/basic/superBox.hpp \ - ../../src/parser/basic/superFullBox.hpp \ - ../../src/parser/basic/tableBox.hpp \ - ../../src/parser/basic/unknownBox.h \ - ../../src/parser/boxFactory.h \ - ../../src/parser/cameraMicrophoneIdentificationBox.hpp \ - ../../src/parser/certificateBox.hpp \ - ../../src/parser/certificateStorage.h \ - ../../src/parser/compactSampleSizeBox.hpp \ - ../../src/parser/consistencyChecker.h \ - ../../src/parser/editListBox.hpp \ - ../../src/parser/fileTypeBox.hpp \ - ../../src/parser/fourcc.h \ - ../../src/parser/fragmentExtractor.h \ - ../../src/parser/helpers/endian.hpp \ - ../../src/parser/helpers/is_a.hpp \ - ../../src/parser/helpers/istream.hpp \ - ../../src/parser/helpers/optional.hpp \ - ../../src/parser/helpers/property.hpp \ - ../../src/parser/helpers/uint24.hpp \ - ../../src/parser/mediaHeaderBox.hpp \ - ../../src/parser/mediaParser.h \ - ../../src/parser/movieExtendsHeaderBox.hpp \ - ../../src/parser/movieHeaderBox.hpp \ - ../../src/parser/oxfverifier.h \ - ../../src/parser/sampleDependencyTypeBox.hpp \ - ../../src/parser/sampleSizeBox.hpp \ - ../../src/parser/signatureBox.hpp \ - ../../src/parser/signatureConfigurationBox.hpp \ - ../../src/parser/signatureExtractor.h \ - ../../src/parser/surveillanceExportBox.hpp \ - ../../src/parser/surveillanceMetadataSampleConfigBox.hpp \ - ../../src/parser/surveillanceMetadataSampleEntryBox.hpp \ - ../../src/parser/templateContentBoxes.hpp \ - ../../src/parser/templateFullBoxes.hpp \ - ../../src/parser/templateSuperBoxes.hpp \ - ../../src/parser/templateSuperFullBoxes.hpp \ - ../../src/parser/templateTableBoxes.hpp \ - ../../src/parser/trackFragmentHeaderBox.hpp \ - ../../src/parser/trackFragmentRandomAccessBox.hpp \ - ../../src/parser/trackHeaderBox.hpp \ - ../../src/parser/trackRunBox.hpp \ - ../../src/parser/validatorISO.h \ - ../../src/parser/validatorOXF.h \ - ../../src/parser/validatorSurveillance.h \ - ../../src/parserUI/certificateStorageDialog.h \ - ../../src/parserUI/parserWidget.h \ - ../../src/parserUI/verifyerdialog.h \ - ../../src/player/audioContext.h \ - ../../src/player/audioPlayback.h \ - ../../src/player/avFrameWrapper.h \ - ../../src/player/basePlayback.h \ - ../../src/player/controller.h \ - ../../src/player/decoder.h \ - ../../src/player/engine.h \ - ../../src/player/mainContext.h \ - ../../src/player/nonqueuedAudioDecoder.h \ - ../../src/player/nonqueuedDecoder.h \ - ../../src/player/nonqueuedVideoDecoder.h \ - ../../src/player/portAudioPlayback.h \ - ../../src/player/portAudioThread.h \ - ../../src/player/queuedAudioDecoder.h \ - ../../src/player/queuedDecoder.h \ - ../../src/player/queuedVideoDecoder.h \ - ../../src/player/syncThread.h \ - ../../src/player/videoContext.h \ - ../../src/player/videoPlayback.h \ - ../../src/playerUI/clickableSlider.h \ - ../../src/playerUI/controlsWidget.h \ - ../../src/playerUI/fragmentListWidget.h \ - ../../src/playerUI/fullscreenPlayerWidget.h \ - ../../src/playerUI/movingOutArea.h \ - ../../src/playerUI/playerWidget.h \ - ../../src/playerUI/playerWidgetInterface.h \ - ../../src/playerUI/videoFrameWidget.h - -FORMS += \ - ../../src/parserUI/certificateStorageDialog.ui \ - ../../src/parserUI/parserWidget.ui \ - ../../src/parserUI/verifyerdialog.ui \ - ../../src/playerUI/controlsWidget.ui \ - ../../src/playerUI/playerWidget.ui - -RESOURCES += ../../src/resources/resources.qrc - -win32:RC_FILE = ../../src/resources/ONVIFPlayer.rc - -win32:LIBS += -L../../ext/FFMPEG-1.2/lib/Windows -L../../ext/PortAudio/lib/Windows -L../../ext/OpenSSL-1.0.1/lib -unix:LIBS += -L../../ext/FFMPEG-1.2/lib/Unix -L../../ext/PortAudio/lib/Unix -L/usr/lib/i386-linux-gnu - -LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lswresample -lswscale -lssl -lcrypto - -win32:LIBS += -lportaudio.dll -unix:LIBS += -lportaudio - diff --git a/player/proj/ONVIFPlayer-VS2019/ONVIFPlayer-VS2019.sln b/player/proj/ONVIFPlayer-VS2019/ONVIFPlayer-VS2019.sln deleted file mode 100644 index 2db4cb4..0000000 --- a/player/proj/ONVIFPlayer-VS2019/ONVIFPlayer-VS2019.sln +++ /dev/null @@ -1,26 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31005.135 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ONVIFPlayer", "ONVIFPlayer.vcxproj", "{C10FDDC9-2312-384F-95D6-9D3E4DAD3CDA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C10FDDC9-2312-384F-95D6-9D3E4DAD3CDA}.Debug|x64.ActiveCfg = Debug|x64 - {C10FDDC9-2312-384F-95D6-9D3E4DAD3CDA}.Debug|x64.Build.0 = Debug|x64 - {C10FDDC9-2312-384F-95D6-9D3E4DAD3CDA}.Release|x64.ActiveCfg = Release|x64 - {C10FDDC9-2312-384F-95D6-9D3E4DAD3CDA}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - Qt5Version = 5.1.0 x86 - SolutionGuid = {15FA64A3-C474-4934-9F51-0B463A170D8A} - EndGlobalSection -EndGlobal diff --git a/player/proj/ONVIFPlayer-VS2019/ONVIFPlayer.vcxproj b/player/proj/ONVIFPlayer-VS2019/ONVIFPlayer.vcxproj deleted file mode 100644 index 890e52e..0000000 --- a/player/proj/ONVIFPlayer-VS2019/ONVIFPlayer.vcxproj +++ /dev/null @@ -1,1969 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - {C10FDDC9-2312-384F-95D6-9D3E4DAD3CDA} - ONVIFPlayer - Qt4VSv1.0 - 10.0 - - - - v142 - release\ - false - NotSet - Application - release\ - ONVIFPlayer - - - v142 - debug\ - false - NotSet - Application - debug\ - ONVIFPlayer - - - - - - - - - - - - $(Platform)\$(Configuration)\ - ONVIFPlayer - true - false - $(Platform)\$(Configuration)\ - ONVIFPlayer - true - - - C:\Qt\5.10.1\msvc2017_64\bin;$(ExecutablePath) - - - - ..\..\src;..\..\src\common;..\..\src\player;..\..\src\playerUI;..\..\src\parser;..\..\src\parserUI;..\..\ext\FFMPEG-4.4\include;..\..\ext\PortAudio\include;..\..\ext\OpenSSL-1.0.1\include;$(QTDIR)\include;$(QTDIR)\include\QtMultimedia;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtCore;release;.;$(QTDIR)\mkspecs\win32-msvc2012;.\GeneratedFiles;%(AdditionalIncludeDirectories) - -Zm200 -w34100 -w34189 /bigobj /Zc:__cplusplus %(AdditionalOptions) - release\ - false - Sync - $(IntDir) - MaxSpeed - _WINDOWS;UNICODE;WIN32;DECODE_USING_QUEUE;QT_NO_DEBUG;QT_MULTIMEDIA_LIB;QT_WIDGETS_LIB;QT_NETWORK_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_OPENGL_ES_2;NDEBUG;%(PreprocessorDefinitions) - false - MultiThreadedDLL - true - true - true - Level3 - $(IntDir)vc$(PlatformToolsetVersion).pdb - stdcpp17 - - - avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;libeay32.lib;ssleay32.lib;portaudio_x64.lib;Qt6Multimedia.lib;Qt6Widgets.lib;Qt6Network.lib;Qt6Gui.lib;Qt6Core.lib;gdi32.lib;user32.lib;Ws2_32.lib;%(AdditionalDependencies) - $(QTDIR)\lib;..\..\ext\FFMPEG-4.4\lib;..\..\ext\PortAudio\lib;..\..\ext\OpenSSL-1.0.1\lib;%(AdditionalLibraryDirectories) - "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /SAFESEH:NO %(AdditionalOptions) - true - false - true - false - $(OutDir)\ONVIFPlayer.exe - true - Windows - true - - - Unsigned - None - 0 - - - _WINDOWS;UNICODE;WIN32;DECODE_USING_QUEUE;QT_NO_DEBUG;QT_MULTIMEDIA_LIB;QT_WIDGETS_LIB;QT_NETWORK_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_OPENGL_ES_2;%(PreprocessorDefinitions) - - - - - ..\..\src;..\..\src\common;..\..\src\player;..\..\src\playerUI;..\..\src\parser;..\..\src\parserUI;..\..\ext\FFMPEG-4.4\include;..\..\ext\PortAudio\include;..\..\ext\OpenSSL-1.0.1\include;$(QTDIR)\include;$(QTDIR)\include\QtMultimedia;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtCore;debug;.;$(QTDIR)\mkspecs\win32-msvc2012;.\GeneratedFiles;%(AdditionalIncludeDirectories) - -Zm200 -w34100 -w34189 /bigobj /Zc:__cplusplus %(AdditionalOptions) - debug\ - false - ProgramDatabase - Sync - $(IntDir) - Disabled - _WINDOWS;UNICODE;WIN32;DECODE_USING_QUEUE;QT_MULTIMEDIA_LIB;QT_WIDGETS_LIB;QT_NETWORK_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_OPENGL_ES_2;%(PreprocessorDefinitions) - false - MultiThreadedDebugDLL - true - true - true - Level3 - $(IntDir)vc$(PlatformToolsetVersion).pdb - stdcpp17 - - - avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;libeay32.lib;ssleay32.lib;portaudio_x64.lib;Qt6Multimediad.lib;Qt6Widgetsd.lib;Qt6Networkd.lib;Qt6Guid.lib;Qt6Cored.lib;user32.lib;Ws2_32.lib;%(AdditionalDependencies) - $(QTDIR)\lib;..\..\ext\FFMPEG-4.4\lib;..\..\ext\PortAudio\lib;..\..\ext\OpenSSL-1.0.1\lib;%(AdditionalLibraryDirectories) - "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /SAFESEH:NO %(AdditionalOptions) - true - true - true - $(OutDir)\ONVIFPlayer.exe - true - Windows - true - - - Unsigned - None - 0 - - - _WINDOWS;UNICODE;WIN32;DECODE_USING_QUEUE;QT_MULTIMEDIA_LIB;QT_WIDGETS_LIB;QT_NETWORK_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_OPENGL_ES_2;_DEBUG;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - - - - - - - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing audioPlayback.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing audioPlayback.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" - Moc%27ing basePlayback.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" - Moc%27ing basePlayback.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing boxFactory.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing boxFactory.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing clickableSlider.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing clickableSlider.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing consistencyChecker.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing consistencyChecker.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing controller.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing controller.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing controlsWidget.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing controlsWidget.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing engine.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing engine.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing segmentExtractor.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing segmentExtractor.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing fullscreenPlayerWidget.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing fullscreenPlayerWidget.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing mediaParser.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing mediaParser.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing movingOutArea.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing movingOutArea.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing parserWidget.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing parserWidget.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing playerWidget.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing playerWidget.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing portAudioPlayback.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing portAudioPlayback.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing portAudioThread.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing portAudioThread.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing signatureExtractor.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing signatureExtractor.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing validatorISO.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing validatorISO.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing validatorOXF.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing validatorOXF.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing validatorSurveillance.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing validatorSurveillance.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing verifyerdialog.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing verifyerdialog.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing videoFrameWidget.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing videoFrameWidget.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing videoPlayback.h... - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing videoPlayback.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - Document - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - - - Document - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - - - Document - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - - - Document - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - - - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - Document - %(FullPath);..\..\src\resources\media_next.png;..\..\src\resources\media_pause.png;..\..\src\resources\media_play.png;..\..\src\resources\media_prev.png;..\..\src\resources\media_stop.png;..\..\src\resources\movie_frame.png;..\..\src\resources\mute.png;..\..\src\resources\volume.png;..\..\src\resources\Onvif.png;..\..\src\resources\fullscreen.png;%(AdditionalInputs) - "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp - Rcc%27ing %(Identity)... - .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) - %(FullPath);..\..\src\resources\media_next.png;..\..\src\resources\media_pause.png;..\..\src\resources\media_play.png;..\..\src\resources\media_prev.png;..\..\src\resources\media_stop.png;..\..\src\resources\movie_frame.png;..\..\src\resources\mute.png;..\..\src\resources\volume.png;..\..\src\resources\Onvif.png;..\..\src\resources\fullscreen.png;%(AdditionalInputs) - "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp - Rcc%27ing %(Identity)... - .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) - - - true - true - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing certificateStorageDialog.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing certificateStorageDialog.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - - Performing Custom Build Tools - - - - - - - Performing Custom Build Tools - - - - - - - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DNDEBUG "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\release" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - Moc%27ing oxfverifier.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - Moc%27ing oxfverifier.h... - $(ConfigurationName)\moc_%(Filename).cpp - $(QTDIR)\bin\moc.exe;%(FullPath) - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 "-I.\..\..\src" "-I.\..\..\src\common" "-I.\..\..\src\player" "-I.\..\..\src\playerUI" "-I.\..\..\src\parser" "-I.\..\..\src\parserUI" "-I.\..\..\ext\FFMPEG-4.4\include" "-I.\..\..\ext\PortAudio\include" "-I.\..\..\ext\OpenSSL-1.0.1\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtMultimedia" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I." "-I$(QTDIR)\mkspecs\win32-msvc2012" "-I.\GeneratedFiles" - - - - - Document - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" - Uic%27ing %(Identity)... - .\GeneratedFiles\ui_%(Filename).h;%(Outputs) - $(QTDIR)\bin\uic.exe;%(AdditionalInputs) - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2019/ONVIFPlayer.vcxproj.filters b/player/proj/ONVIFPlayer-VS2019/ONVIFPlayer.vcxproj.filters deleted file mode 100644 index 133b77c..0000000 --- a/player/proj/ONVIFPlayer-VS2019/ONVIFPlayer.vcxproj.filters +++ /dev/null @@ -1,621 +0,0 @@ - - - - - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - moc - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - playerUI - - - playerUI - - - playerUI - - - player - - - verifier - - - verifier - - - verifier - - - player - - - playerUI - - - playerUI - - - - - - - player - - - external - - - - - boxes - - - verifier - - - boxes - - - player - - - external - - - external - - - - - - - - - - - - - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - boxes - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - player - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - playerUI - - - boxes - - - boxes - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - player - - - player - - - verifier - - - verifier - - - boxes - - - boxes - - - boxes - - - playerUI - - - playerUI - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - verifier - - - - - - {337c3bd0-db3f-48ce-b131-fbf2d02856a3} - - - {214c9c06-f690-4070-b237-01b6d65b4e6d} - - - {44922091-bab4-4cb5-8d4c-3f073eb6f885} - - - {582ab149-0d91-4373-8fff-3f406239bf38} - - - {1d9cc09a-60a9-4599-bf5e-e7bea84b34e3} - - - {d535be34-6621-49dd-8f6a-eba94deb9298} - - - - - playerUI - - - \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/ONVIFPlayer.sln b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayer.sln new file mode 100644 index 0000000..cfab3b3 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayer.sln @@ -0,0 +1,219 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34408.163 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Additional", "Additional", "{998EE075-324E-453F-BE81-9ABF4D2630A5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signed-media-framework", "..\..\3rdparty\signed-media-framework\VS2022\signed-media-framework.vcxproj", "{C02ECFE1-167F-4B83-B8D2-33025B5B111F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signer", "..\..\3rdparty\signed-media-framework\VS2022\signer.vcxproj", "{69BC1A2E-5280-4658-B500-DF0ED61F9308}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "validator", "..\..\3rdparty\signed-media-framework\VS2022\validator.vcxproj", "{73DF3554-1F71-47DF-8CA6-D774822BA766}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ONVIFPlayer", "ONVIFPlayer\ONVIFPlayer.vcxproj", "{D8BEAD3B-340A-4048-BF63-CF2CA19EEDBB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PortAudio", "..\..\3rdparty\build\portaudio\PortAudio.vcxproj", "{AE9A9C1E-AEE2-3663-B959-03F6532B1260}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml-static", "..\..\3rdparty\build\pugixml\pugixml-static.vcxproj", "{5143773D-DD9F-38CC-A87F-8490661B99FE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ONVIFPlayerLib", "ONVIFPlayerLib\ONVIFPlayerLib.vcxproj", "{C76A39F2-DB97-45BF-A8E6-B28C294615ED}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{670EC23B-CBDB-454D-AF59-A04B77D26987}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "additionalUserInformationBoxTest", "tests\additionalUserInformationBoxTest\additionalUserInformationBoxTest.vcxproj", "{F7B99396-2AC0-43AE-811C-8ADE785FF450}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "afIdentificationBoxTest", "tests\afIdentificationBoxTest\afIdentificationBoxTest.vcxproj", "{A6A4503E-8287-4915-A1AA-F1DAEE4A46A8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cameraMicrophoneIdentificationBoxTest", "tests\cameraMicrophoneIdentificationBoxTest\cameraMicrophoneIdentificationBoxTest.vcxproj", "{B5B55649-93EA-4202-B870-7F813804894B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "certificateBoxTest", "tests\certificateBoxTest\certificateBoxTest.vcxproj", "{924FC7BC-D2F1-4FB3-87A1-0BC354B37683}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "certificateSSLTest", "tests\certificateSSLTest\certificateSSLTest.vcxproj", "{00F02002-4431-4D9D-9401-FABCAEBB8DE6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compactSampleSizeBoxTest", "tests\compactSampleSizeBoxTest\compactSampleSizeBoxTest.vcxproj", "{D881EFA8-952A-45F9-9CB2-68A1BAD9760C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "editListBoxTest", "tests\editListBoxTest\editListBoxTest.vcxproj", "{932574FD-FA13-4E7E-AB7F-FF4A1F51A556}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mediaHeaderBoxTest", "tests\mediaHeaderBoxTest\mediaHeaderBoxTest.vcxproj", "{4F27C606-2C1B-4D5C-A27A-837753568C32}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "movieExtendsHeaderBoxTest", "tests\movieExtendsHeaderBoxTest\movieExtendsHeaderBoxTest.vcxproj", "{7A6FE12D-8209-4A70-BFAB-48A5935C43BD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "movieHeaderBoxTest", "tests\movieHeaderBoxTest\movieHeaderBoxTest.vcxproj", "{EC0C1805-92B9-4AA8-A075-D95BDE943C86}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sampleDependencyTypeBoxTest", "tests\sampleDependencyTypeBoxTest\sampleDependencyTypeBoxTest.vcxproj", "{236661CB-8C14-4A39-B05E-371500E96413}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sampleSizeBoxTest", "tests\sampleSizeBoxTest\sampleSizeBoxTest.vcxproj", "{8C1C3ED0-D902-413B-AC6E-BC76D803D002}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signatureBoxTest", "tests\signatureBoxTest\signatureBoxTest.vcxproj", "{07C10330-9514-4A52-92F5-4F5B834FB912}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signatureConfigurationBoxTest", "tests\signatureConfigurationBoxTest\signatureConfigurationBoxTest.vcxproj", "{D51876BB-FF02-435F-947B-DBC96DD004A0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "surveillanceExportBoxTest", "tests\surveillanceExportBoxTest\surveillanceExportBoxTest.vcxproj", "{0DEA2838-C5DE-406D-B4A4-3C5467D9CA09}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "surveillanceMetadataSampleConfigBoxTest", "tests\surveillanceMetadataSampleConfigBoxTest\surveillanceMetadataSampleConfigBoxTest.vcxproj", "{6DA0A884-97E6-44A8-9F85-D6631A87C9FC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "surveillanceMetadataSampleEntryBoxTest", "tests\surveillanceMetadataSampleEntryBoxTest\surveillanceMetadataSampleEntryBoxTest.vcxproj", "{8B859A7F-931F-4C4A-A2B8-28A411BE604A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "trackFragmentHeaderBoxTest", "tests\trackFragmentHeaderBoxTest\trackFragmentHeaderBoxTest.vcxproj", "{2978EB53-5AAB-4FB2-8B4F-712952315C94}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "trackFragmentRandomAccessBoxTest", "tests\trackFragmentRandomAccessBoxTest\trackFragmentRandomAccessBoxTest.vcxproj", "{AEF44222-5127-466A-A1D0-4E25800DF7C8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "trackHeaderBoxTest", "tests\trackHeaderBoxTest\trackHeaderBoxTest.vcxproj", "{B18AC2FA-E268-401E-8D16-14A08A770273}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "trackRunBoxTest", "tests\trackRunBoxTest\trackRunBoxTest.vcxproj", "{32990AD6-F01B-4993-88B6-762CC781AF9D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C02ECFE1-167F-4B83-B8D2-33025B5B111F}.Debug|x64.ActiveCfg = Debug|x64 + {C02ECFE1-167F-4B83-B8D2-33025B5B111F}.Debug|x64.Build.0 = Debug|x64 + {C02ECFE1-167F-4B83-B8D2-33025B5B111F}.Release|x64.ActiveCfg = Release|x64 + {C02ECFE1-167F-4B83-B8D2-33025B5B111F}.Release|x64.Build.0 = Release|x64 + {69BC1A2E-5280-4658-B500-DF0ED61F9308}.Debug|x64.ActiveCfg = Debug|x64 + {69BC1A2E-5280-4658-B500-DF0ED61F9308}.Debug|x64.Build.0 = Debug|x64 + {69BC1A2E-5280-4658-B500-DF0ED61F9308}.Release|x64.ActiveCfg = Release|x64 + {69BC1A2E-5280-4658-B500-DF0ED61F9308}.Release|x64.Build.0 = Release|x64 + {73DF3554-1F71-47DF-8CA6-D774822BA766}.Debug|x64.ActiveCfg = Debug|x64 + {73DF3554-1F71-47DF-8CA6-D774822BA766}.Debug|x64.Build.0 = Debug|x64 + {73DF3554-1F71-47DF-8CA6-D774822BA766}.Release|x64.ActiveCfg = Release|x64 + {73DF3554-1F71-47DF-8CA6-D774822BA766}.Release|x64.Build.0 = Release|x64 + {D8BEAD3B-340A-4048-BF63-CF2CA19EEDBB}.Debug|x64.ActiveCfg = Debug|x64 + {D8BEAD3B-340A-4048-BF63-CF2CA19EEDBB}.Debug|x64.Build.0 = Debug|x64 + {D8BEAD3B-340A-4048-BF63-CF2CA19EEDBB}.Release|x64.ActiveCfg = Release|x64 + {D8BEAD3B-340A-4048-BF63-CF2CA19EEDBB}.Release|x64.Build.0 = Release|x64 + {AE9A9C1E-AEE2-3663-B959-03F6532B1260}.Debug|x64.ActiveCfg = Debug|x64 + {AE9A9C1E-AEE2-3663-B959-03F6532B1260}.Debug|x64.Build.0 = Debug|x64 + {AE9A9C1E-AEE2-3663-B959-03F6532B1260}.Release|x64.ActiveCfg = Release|x64 + {AE9A9C1E-AEE2-3663-B959-03F6532B1260}.Release|x64.Build.0 = Release|x64 + {5143773D-DD9F-38CC-A87F-8490661B99FE}.Debug|x64.ActiveCfg = Debug|x64 + {5143773D-DD9F-38CC-A87F-8490661B99FE}.Debug|x64.Build.0 = Debug|x64 + {5143773D-DD9F-38CC-A87F-8490661B99FE}.Release|x64.ActiveCfg = Release|x64 + {5143773D-DD9F-38CC-A87F-8490661B99FE}.Release|x64.Build.0 = Release|x64 + {C76A39F2-DB97-45BF-A8E6-B28C294615ED}.Debug|x64.ActiveCfg = Debug|x64 + {C76A39F2-DB97-45BF-A8E6-B28C294615ED}.Debug|x64.Build.0 = Debug|x64 + {C76A39F2-DB97-45BF-A8E6-B28C294615ED}.Release|x64.ActiveCfg = Release|x64 + {C76A39F2-DB97-45BF-A8E6-B28C294615ED}.Release|x64.Build.0 = Release|x64 + {F7B99396-2AC0-43AE-811C-8ADE785FF450}.Debug|x64.ActiveCfg = Debug|x64 + {F7B99396-2AC0-43AE-811C-8ADE785FF450}.Debug|x64.Build.0 = Debug|x64 + {F7B99396-2AC0-43AE-811C-8ADE785FF450}.Release|x64.ActiveCfg = Release|x64 + {F7B99396-2AC0-43AE-811C-8ADE785FF450}.Release|x64.Build.0 = Release|x64 + {A6A4503E-8287-4915-A1AA-F1DAEE4A46A8}.Debug|x64.ActiveCfg = Debug|x64 + {A6A4503E-8287-4915-A1AA-F1DAEE4A46A8}.Debug|x64.Build.0 = Debug|x64 + {A6A4503E-8287-4915-A1AA-F1DAEE4A46A8}.Release|x64.ActiveCfg = Release|x64 + {A6A4503E-8287-4915-A1AA-F1DAEE4A46A8}.Release|x64.Build.0 = Release|x64 + {B5B55649-93EA-4202-B870-7F813804894B}.Debug|x64.ActiveCfg = Debug|x64 + {B5B55649-93EA-4202-B870-7F813804894B}.Debug|x64.Build.0 = Debug|x64 + {B5B55649-93EA-4202-B870-7F813804894B}.Release|x64.ActiveCfg = Release|x64 + {B5B55649-93EA-4202-B870-7F813804894B}.Release|x64.Build.0 = Release|x64 + {924FC7BC-D2F1-4FB3-87A1-0BC354B37683}.Debug|x64.ActiveCfg = Debug|x64 + {924FC7BC-D2F1-4FB3-87A1-0BC354B37683}.Debug|x64.Build.0 = Debug|x64 + {924FC7BC-D2F1-4FB3-87A1-0BC354B37683}.Release|x64.ActiveCfg = Release|x64 + {924FC7BC-D2F1-4FB3-87A1-0BC354B37683}.Release|x64.Build.0 = Release|x64 + {00F02002-4431-4D9D-9401-FABCAEBB8DE6}.Debug|x64.ActiveCfg = Debug|x64 + {00F02002-4431-4D9D-9401-FABCAEBB8DE6}.Debug|x64.Build.0 = Debug|x64 + {00F02002-4431-4D9D-9401-FABCAEBB8DE6}.Release|x64.ActiveCfg = Release|x64 + {00F02002-4431-4D9D-9401-FABCAEBB8DE6}.Release|x64.Build.0 = Release|x64 + {D881EFA8-952A-45F9-9CB2-68A1BAD9760C}.Debug|x64.ActiveCfg = Debug|x64 + {D881EFA8-952A-45F9-9CB2-68A1BAD9760C}.Debug|x64.Build.0 = Debug|x64 + {D881EFA8-952A-45F9-9CB2-68A1BAD9760C}.Release|x64.ActiveCfg = Release|x64 + {D881EFA8-952A-45F9-9CB2-68A1BAD9760C}.Release|x64.Build.0 = Release|x64 + {932574FD-FA13-4E7E-AB7F-FF4A1F51A556}.Debug|x64.ActiveCfg = Debug|x64 + {932574FD-FA13-4E7E-AB7F-FF4A1F51A556}.Debug|x64.Build.0 = Debug|x64 + {932574FD-FA13-4E7E-AB7F-FF4A1F51A556}.Release|x64.ActiveCfg = Release|x64 + {932574FD-FA13-4E7E-AB7F-FF4A1F51A556}.Release|x64.Build.0 = Release|x64 + {4F27C606-2C1B-4D5C-A27A-837753568C32}.Debug|x64.ActiveCfg = Debug|x64 + {4F27C606-2C1B-4D5C-A27A-837753568C32}.Debug|x64.Build.0 = Debug|x64 + {4F27C606-2C1B-4D5C-A27A-837753568C32}.Release|x64.ActiveCfg = Release|x64 + {4F27C606-2C1B-4D5C-A27A-837753568C32}.Release|x64.Build.0 = Release|x64 + {7A6FE12D-8209-4A70-BFAB-48A5935C43BD}.Debug|x64.ActiveCfg = Debug|x64 + {7A6FE12D-8209-4A70-BFAB-48A5935C43BD}.Debug|x64.Build.0 = Debug|x64 + {7A6FE12D-8209-4A70-BFAB-48A5935C43BD}.Release|x64.ActiveCfg = Release|x64 + {7A6FE12D-8209-4A70-BFAB-48A5935C43BD}.Release|x64.Build.0 = Release|x64 + {EC0C1805-92B9-4AA8-A075-D95BDE943C86}.Debug|x64.ActiveCfg = Debug|x64 + {EC0C1805-92B9-4AA8-A075-D95BDE943C86}.Debug|x64.Build.0 = Debug|x64 + {EC0C1805-92B9-4AA8-A075-D95BDE943C86}.Release|x64.ActiveCfg = Release|x64 + {EC0C1805-92B9-4AA8-A075-D95BDE943C86}.Release|x64.Build.0 = Release|x64 + {236661CB-8C14-4A39-B05E-371500E96413}.Debug|x64.ActiveCfg = Debug|x64 + {236661CB-8C14-4A39-B05E-371500E96413}.Debug|x64.Build.0 = Debug|x64 + {236661CB-8C14-4A39-B05E-371500E96413}.Release|x64.ActiveCfg = Release|x64 + {236661CB-8C14-4A39-B05E-371500E96413}.Release|x64.Build.0 = Release|x64 + {8C1C3ED0-D902-413B-AC6E-BC76D803D002}.Debug|x64.ActiveCfg = Debug|x64 + {8C1C3ED0-D902-413B-AC6E-BC76D803D002}.Debug|x64.Build.0 = Debug|x64 + {8C1C3ED0-D902-413B-AC6E-BC76D803D002}.Release|x64.ActiveCfg = Release|x64 + {8C1C3ED0-D902-413B-AC6E-BC76D803D002}.Release|x64.Build.0 = Release|x64 + {07C10330-9514-4A52-92F5-4F5B834FB912}.Debug|x64.ActiveCfg = Debug|x64 + {07C10330-9514-4A52-92F5-4F5B834FB912}.Debug|x64.Build.0 = Debug|x64 + {07C10330-9514-4A52-92F5-4F5B834FB912}.Release|x64.ActiveCfg = Release|x64 + {07C10330-9514-4A52-92F5-4F5B834FB912}.Release|x64.Build.0 = Release|x64 + {D51876BB-FF02-435F-947B-DBC96DD004A0}.Debug|x64.ActiveCfg = Debug|x64 + {D51876BB-FF02-435F-947B-DBC96DD004A0}.Debug|x64.Build.0 = Debug|x64 + {D51876BB-FF02-435F-947B-DBC96DD004A0}.Release|x64.ActiveCfg = Release|x64 + {D51876BB-FF02-435F-947B-DBC96DD004A0}.Release|x64.Build.0 = Release|x64 + {0DEA2838-C5DE-406D-B4A4-3C5467D9CA09}.Debug|x64.ActiveCfg = Debug|x64 + {0DEA2838-C5DE-406D-B4A4-3C5467D9CA09}.Debug|x64.Build.0 = Debug|x64 + {0DEA2838-C5DE-406D-B4A4-3C5467D9CA09}.Release|x64.ActiveCfg = Release|x64 + {0DEA2838-C5DE-406D-B4A4-3C5467D9CA09}.Release|x64.Build.0 = Release|x64 + {6DA0A884-97E6-44A8-9F85-D6631A87C9FC}.Debug|x64.ActiveCfg = Debug|x64 + {6DA0A884-97E6-44A8-9F85-D6631A87C9FC}.Debug|x64.Build.0 = Debug|x64 + {6DA0A884-97E6-44A8-9F85-D6631A87C9FC}.Release|x64.ActiveCfg = Release|x64 + {6DA0A884-97E6-44A8-9F85-D6631A87C9FC}.Release|x64.Build.0 = Release|x64 + {8B859A7F-931F-4C4A-A2B8-28A411BE604A}.Debug|x64.ActiveCfg = Debug|x64 + {8B859A7F-931F-4C4A-A2B8-28A411BE604A}.Debug|x64.Build.0 = Debug|x64 + {8B859A7F-931F-4C4A-A2B8-28A411BE604A}.Release|x64.ActiveCfg = Release|x64 + {8B859A7F-931F-4C4A-A2B8-28A411BE604A}.Release|x64.Build.0 = Release|x64 + {2978EB53-5AAB-4FB2-8B4F-712952315C94}.Debug|x64.ActiveCfg = Debug|x64 + {2978EB53-5AAB-4FB2-8B4F-712952315C94}.Debug|x64.Build.0 = Debug|x64 + {2978EB53-5AAB-4FB2-8B4F-712952315C94}.Release|x64.ActiveCfg = Release|x64 + {2978EB53-5AAB-4FB2-8B4F-712952315C94}.Release|x64.Build.0 = Release|x64 + {AEF44222-5127-466A-A1D0-4E25800DF7C8}.Debug|x64.ActiveCfg = Debug|x64 + {AEF44222-5127-466A-A1D0-4E25800DF7C8}.Debug|x64.Build.0 = Debug|x64 + {AEF44222-5127-466A-A1D0-4E25800DF7C8}.Release|x64.ActiveCfg = Release|x64 + {AEF44222-5127-466A-A1D0-4E25800DF7C8}.Release|x64.Build.0 = Release|x64 + {B18AC2FA-E268-401E-8D16-14A08A770273}.Debug|x64.ActiveCfg = Debug|x64 + {B18AC2FA-E268-401E-8D16-14A08A770273}.Debug|x64.Build.0 = Debug|x64 + {B18AC2FA-E268-401E-8D16-14A08A770273}.Release|x64.ActiveCfg = Release|x64 + {B18AC2FA-E268-401E-8D16-14A08A770273}.Release|x64.Build.0 = Release|x64 + {32990AD6-F01B-4993-88B6-762CC781AF9D}.Debug|x64.ActiveCfg = Debug|x64 + {32990AD6-F01B-4993-88B6-762CC781AF9D}.Debug|x64.Build.0 = Debug|x64 + {32990AD6-F01B-4993-88B6-762CC781AF9D}.Release|x64.ActiveCfg = Release|x64 + {32990AD6-F01B-4993-88B6-762CC781AF9D}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {C02ECFE1-167F-4B83-B8D2-33025B5B111F} = {998EE075-324E-453F-BE81-9ABF4D2630A5} + {69BC1A2E-5280-4658-B500-DF0ED61F9308} = {998EE075-324E-453F-BE81-9ABF4D2630A5} + {73DF3554-1F71-47DF-8CA6-D774822BA766} = {998EE075-324E-453F-BE81-9ABF4D2630A5} + {AE9A9C1E-AEE2-3663-B959-03F6532B1260} = {998EE075-324E-453F-BE81-9ABF4D2630A5} + {5143773D-DD9F-38CC-A87F-8490661B99FE} = {998EE075-324E-453F-BE81-9ABF4D2630A5} + {F7B99396-2AC0-43AE-811C-8ADE785FF450} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {A6A4503E-8287-4915-A1AA-F1DAEE4A46A8} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {B5B55649-93EA-4202-B870-7F813804894B} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {924FC7BC-D2F1-4FB3-87A1-0BC354B37683} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {00F02002-4431-4D9D-9401-FABCAEBB8DE6} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {D881EFA8-952A-45F9-9CB2-68A1BAD9760C} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {932574FD-FA13-4E7E-AB7F-FF4A1F51A556} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {4F27C606-2C1B-4D5C-A27A-837753568C32} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {7A6FE12D-8209-4A70-BFAB-48A5935C43BD} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {EC0C1805-92B9-4AA8-A075-D95BDE943C86} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {236661CB-8C14-4A39-B05E-371500E96413} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {8C1C3ED0-D902-413B-AC6E-BC76D803D002} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {07C10330-9514-4A52-92F5-4F5B834FB912} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {D51876BB-FF02-435F-947B-DBC96DD004A0} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {0DEA2838-C5DE-406D-B4A4-3C5467D9CA09} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {6DA0A884-97E6-44A8-9F85-D6631A87C9FC} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {8B859A7F-931F-4C4A-A2B8-28A411BE604A} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {2978EB53-5AAB-4FB2-8B4F-712952315C94} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {AEF44222-5127-466A-A1D0-4E25800DF7C8} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {B18AC2FA-E268-401E-8D16-14A08A770273} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + {32990AD6-F01B-4993-88B6-762CC781AF9D} = {670EC23B-CBDB-454D-AF59-A04B77D26987} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {22EADF74-A363-472C-9201-52A949DBEFE8} + EndGlobalSection +EndGlobal diff --git a/player/proj/ONVIFPlayer-VS2022/ONVIFPlayer/ONVIFPlayer.vcxproj b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayer/ONVIFPlayer.vcxproj new file mode 100644 index 0000000..a9c58e5 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayer/ONVIFPlayer.vcxproj @@ -0,0 +1,156 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + Disabled + MultiThreadedDebugDLL + + + + + + + + + + + + + + + + + + + + + + + + {b115ef66-bc92-3e35-acc4-1975596f7d47} + + + {382a6c2f-b2a4-3a00-bfb7-3e0ab14ff870} + + + {c02ecfe1-167f-4b83-b8d2-33025b5b111f} + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + {D8BEAD3B-340A-4048-BF63-CF2CA19EEDBB} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;gui;multimedia;network;widgets + debug + + + Qt 5.12 x64 + core;gui;multimedia;network;widgets + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;$(GSTREAMER)\include\gstreamer-1.0;$(GSTREAMER)\include\glib-2.0;$(GSTREAMER)\lib\glib-2.0\include;..\..\..\src;..\..\..\src\common;..\..\..\src\parser;..\..\..\src\parser\basic;..\..\..\src\parser\basic\mixin;..\..\..\src\parser\helpers;..\..\..\src\parserUI;..\..\..\src\player;..\..\..\src\playerUI;..\..\..\src\tests;..\..\..\3rdparty\portaudio\include;..\..\..\3rdparty\pugixml\src + + + $(OPENSSL_PATH)\lib\VC\x64\MD;$(FFMPEG_PATH)\lib;$(GSTREAMER)\lib;%(AdditionalLibraryDirectories) + ass.lib;avcodec.lib;avfilter.lib;avformat.lib;avutil.lib;bz2.lib;cairo.lib;cairo-gobject.lib;cairo-script-interpreter.lib;charset.lib;croco-0.6.lib;crypto.lib;dav1d.lib;dca.lib;dv.lib;expat.lib;ffi.lib;FLAC.lib;fontconfig.lib;freetype.lib;fribidi.lib;gdk_pixbuf-2.0.lib;ges-1.0.lib;gio-2.0.lib;glib-2.0.lib;gmodule-2.0.lib;gobject-2.0.lib;graphene-1.0.lib;gstadaptivedemux-1.0.lib;gstallocators-1.0.lib;gstanalytics-1.0.lib;gstapp-1.0.lib;gstaudio-1.0.lib;gstbadaudio-1.0.lib;gstbase-1.0.lib;gstbasecamerabinsrc-1.0.lib;gstcheck-1.0.lib;gstcodecparsers-1.0.lib;gstcodecs-1.0.lib;gstcontroller-1.0.lib;gstcuda-1.0.lib;gstd3d11-1.0.lib;gstdxva-1.0.lib;gstfft-1.0.lib;gstgl-1.0.lib;gstinsertbin-1.0.lib;gstisoff-1.0.lib;gstmpegts-1.0.lib;gstmse-1.0.lib;gstnet-1.0.lib;gstpbutils-1.0.lib;gstphotography-1.0.lib;gstplay-1.0.lib;gstplayer-1.0.lib;gstreamer-1.0.lib;gstriff-1.0.lib;gstrtp-1.0.lib;gstrtsp-1.0.lib;gstrtspserver-1.0.lib;gstsctp-1.0.lib;gstsdp-1.0.lib;gsttag-1.0.lib;gsttranscoder-1.0.lib;gsturidownloader-1.0.lib;gstvalidate-1.0.lib;gstvideo-1.0.lib;gstwebrtc-1.0.lib;gstwebrtcnice-1.0.lib;gstwinrt-1.0.lib;gthread-2.0.lib;harfbuzz.lib;iconv.lib;intl.lib;jpeg.lib;json-glib-1.0.lib;ltc.lib;mp3lame.lib;mpg123.lib;nice.lib;ogg.lib;opencore-amrnb.lib;opencore-amrwb.lib;openh264.lib;openjp2.lib;opus.lib;orc-0.4.lib;orc-test-0.4.lib;pango-1.0.lib;pangocairo-1.0.lib;pangoft2-1.0.lib;pangowin32-1.0.lib;pcre2-8.lib;pixman-1.lib;png16.lib;postproc.lib;psl.lib;rsvg-2.lib;rtmp.lib;sbc.lib;SoundTouch.lib;soup-2.4.lib;spandsp.lib;speex.lib;sqlite3.lib;srt.lib;srtp2.lib;ssl.lib;swresample.lib;swscale.lib;tag.lib;theora.lib;theoradec.lib;theoraenc.lib;tiff.lib;turbojpeg.lib;vo-aacenc.lib;vorbis.lib;vorbisenc.lib;vorbisfile.lib;wavpack.lib;x264.lib;xml2.lib;z.lib;zbar.lib;libcrypto.lib;libssl.lib;%(AdditionalDependencies) + + + xcopy /I /Y $(TargetDir) $(ProjectDir)..\..\..\..\setup\input + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;$(GSTREAMER)\include\gstreamer-1.0;$(GSTREAMER)\include\glib-2.0;$(GSTREAMER)\lib\glib-2.0\include;..\..\..\src;..\..\..\src\common;..\..\..\src\parser;..\..\..\src\parser\basic;..\..\..\src\parser\basic\mixin;..\..\..\src\parser\helpers;..\..\..\src\parserUI;..\..\..\src\player;..\..\..\src\playerUI;..\..\..\src\tests;..\..\..\3rdparty\portaudio\include;..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + $(OPENSSL_PATH)\lib\VC\x64\MDd;$(FFMPEG_PATH)\lib;$(GSTREAMER)\lib;%(AdditionalLibraryDirectories) + ass.lib;avcodec.lib;avfilter.lib;avformat.lib;avutil.lib;bz2.lib;cairo.lib;cairo-gobject.lib;cairo-script-interpreter.lib;charset.lib;croco-0.6.lib;crypto.lib;dav1d.lib;dca.lib;dv.lib;expat.lib;ffi.lib;FLAC.lib;fontconfig.lib;freetype.lib;fribidi.lib;gdk_pixbuf-2.0.lib;ges-1.0.lib;gio-2.0.lib;glib-2.0.lib;gmodule-2.0.lib;gobject-2.0.lib;graphene-1.0.lib;gstadaptivedemux-1.0.lib;gstallocators-1.0.lib;gstanalytics-1.0.lib;gstapp-1.0.lib;gstaudio-1.0.lib;gstbadaudio-1.0.lib;gstbase-1.0.lib;gstbasecamerabinsrc-1.0.lib;gstcheck-1.0.lib;gstcodecparsers-1.0.lib;gstcodecs-1.0.lib;gstcontroller-1.0.lib;gstcuda-1.0.lib;gstd3d11-1.0.lib;gstdxva-1.0.lib;gstfft-1.0.lib;gstgl-1.0.lib;gstinsertbin-1.0.lib;gstisoff-1.0.lib;gstmpegts-1.0.lib;gstmse-1.0.lib;gstnet-1.0.lib;gstpbutils-1.0.lib;gstphotography-1.0.lib;gstplay-1.0.lib;gstplayer-1.0.lib;gstreamer-1.0.lib;gstriff-1.0.lib;gstrtp-1.0.lib;gstrtsp-1.0.lib;gstrtspserver-1.0.lib;gstsctp-1.0.lib;gstsdp-1.0.lib;gsttag-1.0.lib;gsttranscoder-1.0.lib;gsturidownloader-1.0.lib;gstvalidate-1.0.lib;gstvideo-1.0.lib;gstwebrtc-1.0.lib;gstwebrtcnice-1.0.lib;gstwinrt-1.0.lib;gthread-2.0.lib;harfbuzz.lib;iconv.lib;intl.lib;jpeg.lib;json-glib-1.0.lib;ltc.lib;mp3lame.lib;mpg123.lib;nice.lib;ogg.lib;opencore-amrnb.lib;opencore-amrwb.lib;openh264.lib;openjp2.lib;opus.lib;orc-0.4.lib;orc-test-0.4.lib;pango-1.0.lib;pangocairo-1.0.lib;pangoft2-1.0.lib;pangowin32-1.0.lib;pcre2-8.lib;pixman-1.lib;png16.lib;postproc.lib;psl.lib;rsvg-2.lib;rtmp.lib;sbc.lib;SoundTouch.lib;soup-2.4.lib;spandsp.lib;speex.lib;sqlite3.lib;srt.lib;srtp2.lib;ssl.lib;swresample.lib;swscale.lib;tag.lib;theora.lib;theoradec.lib;theoraenc.lib;tiff.lib;turbojpeg.lib;vo-aacenc.lib;vorbis.lib;vorbisenc.lib;vorbisfile.lib;wavpack.lib;x264.lib;xml2.lib;z.lib;zbar.lib;libcrypto.lib;libssl.lib;%(AdditionalDependencies) + + + xcopy /I /Y $(TargetDir) $(ProjectDir)..\..\..\..\setup\input + + + + + true + true + ProgramDatabase + Disabled + + + Windows + true + + + + + true + true + None + MaxSpeed + + + Windows + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/ONVIFPlayer/ONVIFPlayer.vcxproj.filters b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayer/ONVIFPlayer.vcxproj.filters new file mode 100644 index 0000000..22adbd9 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayer/ONVIFPlayer.vcxproj.filters @@ -0,0 +1,56 @@ + + + + + + + + {799fc2ec-c0a7-46a7-ac65-296960308ce1} + + + + + resources + + + resources + + + resources + + + resources + + + resources + + + resources + + + resources + + + resources + + + resources + + + resources + + + resources + + + + + resources + + + + + resources + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/ONVIFPlayerLib/ONVIFPlayerLib.vcxproj b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayerLib/ONVIFPlayerLib.vcxproj new file mode 100644 index 0000000..4c07c5f --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayerLib/ONVIFPlayerLib.vcxproj @@ -0,0 +1,266 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {C76A39F2-DB97-45BF-A8E6-B28C294615ED} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + StaticLibrary + v143 + + + StaticLibrary + v143 + + + + + + + Qt 5.12 x64 + core;gui;multimedia;network;widgets + debug + + + Qt 5.12 x64 + core;gui;multimedia;network;widgets + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;$(GSTREAMER)\include\gstreamer-1.0;$(GSTREAMER)\include\glib-2.0;$(GSTREAMER)\lib\glib-2.0\include;..\..\..\src;..\..\..\src\common;..\..\..\src\parser;..\..\..\src\parser\basic;..\..\..\src\parser\basic\mixin;..\..\..\src\parser\helpers;..\..\..\src\parserUI;..\..\..\src\player;..\..\..\src\playerUI;..\..\..\src\tests;..\..\..\3rdparty\portaudio\include;..\..\..\3rdparty\pugixml\src;..\..\..\3rdparty\signed-media-framework\lib\src;..\..\..\3rdparty\signed-media-framework\lib\src\includes + + MultiThreadedDebugDLL + + + $(OPENSSL_PATH)\lib\VC\x64\MDd;$(FFMPEG_PATH)\lib;$(GSTREAMER)\lib;%(AdditionalLibraryDirectories) + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;$(GSTREAMER)\include\gstreamer-1.0;$(GSTREAMER)\include\glib-2.0;$(GSTREAMER)\lib\glib-2.0\include;..\..\..\src;..\..\..\src\common;..\..\..\src\parser;..\..\..\src\parser\basic;..\..\..\src\parser\basic\mixin;..\..\..\src\parser\helpers;..\..\..\src\parserUI;..\..\..\src\player;..\..\..\src\playerUI;..\..\..\src\tests;..\..\..\3rdparty\portaudio\include;..\..\..\3rdparty\pugixml\src;..\..\..\3rdparty\signed-media-framework\lib\src;..\..\..\3rdparty\signed-media-framework\lib\src\includes + + + $(OPENSSL_PATH)\lib\VC\x64\MD;$(FFMPEG_PATH)\lib;$(GSTREAMER)\lib;%(AdditionalLibraryDirectories) + + + + + true + true + ProgramDatabase + Disabled + + + Windows + true + + + + + true + true + None + MaxSpeed + + + Windows + false + + + + + {b115ef66-bc92-3e35-acc4-1975596f7d47} + + + {382a6c2f-b2a4-3a00-bfb7-3e0ab14ff870} + + + {c02ecfe1-167f-4b83-b8d2-33025b5b111f} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/ONVIFPlayerLib/ONVIFPlayerLib.vcxproj.filters b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayerLib/ONVIFPlayerLib.vcxproj.filters new file mode 100644 index 0000000..90e5409 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/ONVIFPlayerLib/ONVIFPlayerLib.vcxproj.filters @@ -0,0 +1,457 @@ + + + + + {017c9deb-1c4d-46e1-87af-7c09c81a985a} + + + {019a611d-2be6-4718-b6e3-2d532e688962} + + + {707c5331-4a7f-4a73-ae4f-48805127c35d} + + + {b261445a-1cf9-448b-91b3-19407c9454e9} + + + {fc88d9bd-a2a1-42bd-bdd0-12b0d44b287d} + + + {a76a09b5-4f3e-404b-9ebe-3deb5082dd30} + + + {cce75cef-3fbf-47bb-aff9-8d76a4734152} + + + {b4c20de4-a198-4f48-9e1f-be70bb7448c8} + + + + + playerUI + + + playerUI + + + playerUI + + + playerUI + + + playerUI + + + playerUI + + + common + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser\basic + + + parser\basic + + + parser\basic + + + parserUI + + + parserUI + + + parserUI + + + parserUI + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + parserUI + + + + + playerUI + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser\basic + + + parser\basic + + + parser\basic + + + parser\basic + + + parser\basic + + + parser\basic + + + parser\basic + + + parser\basic + + + parser\basic + + + parser\basic + + + parser\basic\mixin + + + parser\basic\mixin + + + parser\basic\mixin + + + parser\helpers + + + parser\helpers + + + parser\helpers + + + parser\helpers + + + parser\helpers + + + parser\helpers + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + player + + + + + playerUI + + + playerUI + + + playerUI + + + playerUI + + + playerUI + + + playerUI + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parser + + + parserUI + + + parserUI + + + parserUI + + + parserUI + + + player + + + player + + + player + + + player + + + player + + + player + + + parserUI + + + player + + + player + + + player + + + + + playerUI + + + playerUI + + + parserUI + + + parserUI + + + parserUI + + + parserUI + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/additionalUserInformationBoxTest/additionalUserInformationBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/additionalUserInformationBoxTest/additionalUserInformationBoxTest.vcxproj new file mode 100644 index 0000000..7829191 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/additionalUserInformationBoxTest/additionalUserInformationBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + {F7B99396-2AC0-43AE-811C-8ADE785FF450} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/afIdentificationBoxTest/afIdentificationBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/afIdentificationBoxTest/afIdentificationBoxTest.vcxproj new file mode 100644 index 0000000..abdcb77 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/afIdentificationBoxTest/afIdentificationBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {A6A4503E-8287-4915-A1AA-F1DAEE4A46A8} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/cameraMicrophoneIdentificationBoxTest/cameraMicrophoneIdentificationBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/cameraMicrophoneIdentificationBoxTest/cameraMicrophoneIdentificationBoxTest.vcxproj new file mode 100644 index 0000000..3f168ce --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/cameraMicrophoneIdentificationBoxTest/cameraMicrophoneIdentificationBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {B5B55649-93EA-4202-B870-7F813804894B} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/certificateBoxTest/certificateBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/certificateBoxTest/certificateBoxTest.vcxproj new file mode 100644 index 0000000..03cec58 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/certificateBoxTest/certificateBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {924FC7BC-D2F1-4FB3-87A1-0BC354B37683} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/certificateSSLTest/certificateSSLTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/certificateSSLTest/certificateSSLTest.vcxproj new file mode 100644 index 0000000..38f7796 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/certificateSSLTest/certificateSSLTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {00F02002-4431-4D9D-9401-FABCAEBB8DE6} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib;network + debug + + + Qt 5.12 x64 + core;testlib;network + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/compactSampleSizeBoxTest/compactSampleSizeBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/compactSampleSizeBoxTest/compactSampleSizeBoxTest.vcxproj new file mode 100644 index 0000000..b5835f7 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/compactSampleSizeBoxTest/compactSampleSizeBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {D881EFA8-952A-45F9-9CB2-68A1BAD9760C} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/editListBoxTest/editListBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/editListBoxTest/editListBoxTest.vcxproj new file mode 100644 index 0000000..c858605 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/editListBoxTest/editListBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {932574FD-FA13-4E7E-AB7F-FF4A1F51A556} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/mediaHeaderBoxTest/mediaHeaderBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/mediaHeaderBoxTest/mediaHeaderBoxTest.vcxproj new file mode 100644 index 0000000..a6bebbb --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/mediaHeaderBoxTest/mediaHeaderBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {4F27C606-2C1B-4D5C-A27A-837753568C32} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/movieExtendsHeaderBoxTest/movieExtendsHeaderBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/movieExtendsHeaderBoxTest/movieExtendsHeaderBoxTest.vcxproj new file mode 100644 index 0000000..a858b42 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/movieExtendsHeaderBoxTest/movieExtendsHeaderBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {7A6FE12D-8209-4A70-BFAB-48A5935C43BD} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/movieHeaderBoxTest/movieHeaderBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/movieHeaderBoxTest/movieHeaderBoxTest.vcxproj new file mode 100644 index 0000000..8a96ec3 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/movieHeaderBoxTest/movieHeaderBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {EC0C1805-92B9-4AA8-A075-D95BDE943C86} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/sampleDependencyTypeBoxTest/sampleDependencyTypeBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/sampleDependencyTypeBoxTest/sampleDependencyTypeBoxTest.vcxproj new file mode 100644 index 0000000..38bed8b --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/sampleDependencyTypeBoxTest/sampleDependencyTypeBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {236661CB-8C14-4A39-B05E-371500E96413} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/sampleSizeBoxTest/sampleSizeBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/sampleSizeBoxTest/sampleSizeBoxTest.vcxproj new file mode 100644 index 0000000..dee6fbe --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/sampleSizeBoxTest/sampleSizeBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {8C1C3ED0-D902-413B-AC6E-BC76D803D002} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/signatureBoxTest/signatureBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/signatureBoxTest/signatureBoxTest.vcxproj new file mode 100644 index 0000000..bf3ac31 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/signatureBoxTest/signatureBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {07C10330-9514-4A52-92F5-4F5B834FB912} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/signatureConfigurationBoxTest/signatureConfigurationBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/signatureConfigurationBoxTest/signatureConfigurationBoxTest.vcxproj new file mode 100644 index 0000000..6d7bc5d --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/signatureConfigurationBoxTest/signatureConfigurationBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {D51876BB-FF02-435F-947B-DBC96DD004A0} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/surveillanceExportBoxTest/surveillanceExportBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/surveillanceExportBoxTest/surveillanceExportBoxTest.vcxproj new file mode 100644 index 0000000..4c932a9 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/surveillanceExportBoxTest/surveillanceExportBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {0DEA2838-C5DE-406D-B4A4-3C5467D9CA09} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/surveillanceMetadataSampleConfigBoxTest/surveillanceMetadataSampleConfigBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/surveillanceMetadataSampleConfigBoxTest/surveillanceMetadataSampleConfigBoxTest.vcxproj new file mode 100644 index 0000000..2bf33ec --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/surveillanceMetadataSampleConfigBoxTest/surveillanceMetadataSampleConfigBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {6DA0A884-97E6-44A8-9F85-D6631A87C9FC} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/surveillanceMetadataSampleEntryBoxTest/surveillanceMetadataSampleEntryBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/surveillanceMetadataSampleEntryBoxTest/surveillanceMetadataSampleEntryBoxTest.vcxproj new file mode 100644 index 0000000..06de068 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/surveillanceMetadataSampleEntryBoxTest/surveillanceMetadataSampleEntryBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {8B859A7F-931F-4C4A-A2B8-28A411BE604A} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/trackFragmentHeaderBoxTest/trackFragmentHeaderBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/trackFragmentHeaderBoxTest/trackFragmentHeaderBoxTest.vcxproj new file mode 100644 index 0000000..dafd879 --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/trackFragmentHeaderBoxTest/trackFragmentHeaderBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {2978EB53-5AAB-4FB2-8B4F-712952315C94} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/trackFragmentRandomAccessBoxTest/trackFragmentRandomAccessBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/trackFragmentRandomAccessBoxTest/trackFragmentRandomAccessBoxTest.vcxproj new file mode 100644 index 0000000..aafa6aa --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/trackFragmentRandomAccessBoxTest/trackFragmentRandomAccessBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {AEF44222-5127-466A-A1D0-4E25800DF7C8} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/trackHeaderBoxTest/trackHeaderBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/trackHeaderBoxTest/trackHeaderBoxTest.vcxproj new file mode 100644 index 0000000..e00f67c --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/trackHeaderBoxTest/trackHeaderBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {B18AC2FA-E268-401E-8D16-14A08A770273} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/ONVIFPlayer-VS2022/tests/trackRunBoxTest/trackRunBoxTest.vcxproj b/player/proj/ONVIFPlayer-VS2022/tests/trackRunBoxTest/trackRunBoxTest.vcxproj new file mode 100644 index 0000000..617912e --- /dev/null +++ b/player/proj/ONVIFPlayer-VS2022/tests/trackRunBoxTest/trackRunBoxTest.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + x64 + + + Release + x64 + + + + + {c76a39f2-db97-45bf-a8e6-b28c294615ed} + + + + + + + + + + {32990AD6-F01B-4993-88B6-762CC781AF9D} + QtVS_v304 + 10.0.22621.0 + 10.0.22621.0 + $(MSBuildProjectDirectory)\QtMsBuild + + + + Application + v143 + + + Application + v143 + + + + + + + Qt 5.12 x64 + core;testlib + debug + + + Qt 5.12 x64 + core;testlib + release + + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + MultiThreadedDebugDLL + + + + + %(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_);$(OPENSSL_PATH)\include;$(FFMPEG_PATH)\include;..\..\..\..\src;..\..\..\..\src\common;..\..\..\..\src\parser;..\..\..\..\src\parser\basic;..\..\..\..\src\parser\basic\mixin;..\..\..\..\src\parser\helpers;..\..\..\..\src\parserUI;..\..\..\..\src\player;..\..\..\..\src\playerUI;..\..\..\..\src\tests;..\..\..\..\3rdparty\portaudio\include;..\..\..\..\3rdparty\pugixml\src + + + + + true + true + ProgramDatabase + Disabled + + + Console + true + + + + + true + true + None + MaxSpeed + + + Console + false + + + + + + + + + \ No newline at end of file diff --git a/player/proj/tests/main.cpp b/player/proj/tests/main.cpp deleted file mode 100644 index 8accf7e..0000000 --- a/player/proj/tests/main.cpp +++ /dev/null @@ -1,157 +0,0 @@ -/************************************************************************************ -* Copyright (c) 2013 ONVIF. -* All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of ONVIF nor the names of its contributors may be -* used to endorse or promote products derived from this software -* without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -************************************************************************************/ - -#include "afIdentificationBoxTest.h" -#include "cameraMicrophoneIdentificationBoxTest.h" -#include "certificateBoxTest.h" -#include "compactSampleSizeBoxTest.h" -#include "engineTest.h" -#include "surveillanceExportBoxTest.h" -#include "movieHeaderBoxTest.h" -#include "movieExtendsHeaderBoxTest.h" -#include "mediaHeaderBoxTest.h" -#include "additionalUserInformationBoxTest.h" -#include "trackFragmentHeaderBoxTest.h" -#include "editListBoxTest.h" -#include "sampleDependencyTypeBoxTest.h" -#include "sampleSizeBoxTest.h" -#include "signatureBoxTest.h" -#include "signatureConfigurationBoxTest.h" -#include "surveillanceMetadataSampleConfigBoxTest.h" -#include "surveillanceMetadataSampleEntryBoxTest.h" -#include "trackFragmentRandomAccessBoxTest.h" -#include "trackHeaderBoxTest.h" -#include "trackRunBoxTest.h" -#include "certificateSSLTest.h" - -int main(int argc, char *argv[]) -{ - int result = 0; - - { - AfIdentificationBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - CameraMicrophoneIdentificationBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - CertificateBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - CompactSampleSizeBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - EngineTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - SurveillanceExportBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - MediaHeaderBoxTest32 tc; - result += QTest::qExec(&tc, argc, argv); - } - { - MediaHeaderBoxTest64 tc; - result += QTest::qExec(&tc, argc, argv); - } - { - AdditionalUserInformationBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - EditListBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - MovieExtendsHeaderBoxTest32 tc; - result += QTest::qExec(&tc, argc, argv); - } - { - MovieExtendsHeaderBoxTest64 tc; - result += QTest::qExec(&tc, argc, argv); - } - { - MovieHeaderBoxTest32 tc; - result += QTest::qExec(&tc, argc, argv); - } - { - MovieHeaderBoxTest64 tc; - result += QTest::qExec(&tc, argc, argv); - } - { - SampleDependencyTypeBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - SampleSizeBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - SignatureBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - SignatureConfigurationBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - SurveillanceMetadataSampleConfigBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - TrackFragmentHeaderBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - TrackFragmentRandomAccessBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - TrackHeaderBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - TrackRunBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - CertificateSSLTest tc; - result += QTest::qExec(&tc, argc, argv); - } - { - SurveillanceMetadataSampleEntryBoxTest tc; - result += QTest::qExec(&tc, argc, argv); - } - - return result; -} diff --git a/player/proj/tests/tests.pro b/player/proj/tests/tests.pro deleted file mode 100644 index d43b64e..0000000 --- a/player/proj/tests/tests.pro +++ /dev/null @@ -1,169 +0,0 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2013-06-10T10:29:05 -# -#------------------------------------------------- - -QT += core testlib gui network - -TARGET = tests -CONFIG += console -CONFIG -= app_bundle - -TEMPLATE = app - -QMAKE_CXXFLAGS += -std=c++11 - -INCLUDEPATH += ../../src \ - ../../src/common \ - ../../src/player \ - ../../src/parser \ - ../../src/tests - -DEFINES += DECODE_USING_QUEUE -#DEFINES += DECODE_WITHOUT_QUEUE - -#DEFINES += MEMORY_INFO - -INCLUDEPATH += ../../ext/FFMPEG-1.2/include -INCLUDEPATH += ../../ext/PortAudio/include -INCLUDEPATH += ../../ext/OpenSSL-1.0.1/include - -SOURCES += main.cpp \ - ../../src/common/fragmentInfo.cpp \ - ../../src/parser/basic/box.cpp \ - ../../src/parser/basic/mandatoryBox.cpp \ - ../../src/parser/basic/unknownBox.cpp \ - ../../src/parser/boxFactory.cpp \ - ../../src/parser/certificateStorage.cpp \ - ../../src/parser/consistencyChecker.cpp \ - ../../src/parser/fourcc.cpp \ - ../../src/parser/fragmentExtractor.cpp \ - ../../src/parser/mediaParser.cpp \ - ../../src/parser/oxfverifier.cpp \ - ../../src/parser/signatureExtractor.cpp \ - ../../src/parser/validatorISO.cpp \ - ../../src/parser/validatorOXF.cpp \ - ../../src/parser/validatorSurveillance.cpp \ - ../../src/tests/afIdentificationBoxTest.cpp \ - ../../src/tests/cameraMicrophoneIdentificationBoxTest.cpp \ - ../../src/tests/certificateBoxTest.cpp \ - ../../src/tests/engineTest.cpp \ - ../../src/tests/compactSampleSizeBoxTest.cpp \ - ../../src/tests/movieHeaderBoxTest.cpp \ - ../../src/tests/movieExtendsHeaderBoxTest.cpp \ - ../../src/tests/mediaHeaderBoxTest.cpp \ - ../../src/tests/additionalUserInformationBoxTest.cpp \ - ../../src/tests/surveillanceExportBoxTest.cpp \ - ../../src/tests/editListBoxTest.cpp \ - ../../src/tests/trackFragmentHeaderBoxTest.cpp \ - ../../src/tests/sampleDependencyTypeBoxTest.cpp \ - ../../src/tests/sampleSizeBoxTest.cpp \ - ../../src/tests/signatureBoxTest.cpp \ - ../../src/tests/signatureConfigurationBoxTest.cpp \ - ../../src/tests/surveillanceMetadataSampleConfigBoxTest.cpp \ - ../../src/tests/trackFragmentRandomAccessBoxTest.cpp \ - ../../src/tests/trackHeaderBoxTest.cpp \ - ../../src/tests/trackRunBoxTest.cpp \ - ../../src/tests/certificateSSLTest.cpp \ - ../../src/tests/surveillanceMetadataSampleEntryBoxTest.cpp - -HEADERS += \ - ../../src/common/crosscompilation_cxx11.h \ - ../../src/common/crosscompilation_inttypes.h \ - ../../src/common/defines.h \ - ../../src/common/enums.h \ - ../../src/common/ffmpeg.h \ - ../../src/common/segmentInfo.h \ - ../../src/common/ONVIFSignInfo.h \ - ../../src/common/queue.h \ - ../../src/common/signingInformation.h \ - ../../src/common/types.h \ - ../../src/parser/additionalUserInformation.hpp \ - ../../src/parser/afIdentificationBox.hpp \ - ../../src/parser/basic/box.h \ - ../../src/parser/basic/contentBox.hpp \ - ../../src/parser/basic/dataBox.hpp \ - ../../src/parser/basic/fileBox.hpp \ - ../../src/parser/basic/fullBox.hpp \ - ../../src/parser/basic/mandatoryBox.h \ - ../../src/parser/basic/mixin/children.hpp \ - ../../src/parser/basic/mixin/data.hpp \ - ../../src/parser/basic/mixin/table.hpp \ - ../../src/parser/basic/superBox.hpp \ - ../../src/parser/basic/superFullBox.hpp \ - ../../src/parser/basic/tableBox.hpp \ - ../../src/parser/basic/unknownBox.h \ - ../../src/parser/boxFactory.h \ - ../../src/parser/cameraMicrophoneIdentificationBox.hpp \ - ../../src/parser/certificateBox.hpp \ - ../../src/parser/certificateStorage.h \ - ../../src/parser/compactSampleSizeBox.hpp \ - ../../src/parser/consistencyChecker.h \ - ../../src/parser/editListBox.hpp \ - ../../src/parser/fileTypeBox.hpp \ - ../../src/parser/fourcc.h \ - ../../src/parser/fragmentExtractor.h \ - ../../src/parser/helpers/endian.hpp \ - ../../src/parser/helpers/is_a.hpp \ - ../../src/parser/helpers/istream.hpp \ - ../../src/parser/helpers/optional.hpp \ - ../../src/parser/helpers/property.hpp \ - ../../src/parser/helpers/uint24.hpp \ - ../../src/parser/mediaHeaderBox.hpp \ - ../../src/parser/mediaParser.h \ - ../../src/parser/movieExtendsHeaderBox.hpp \ - ../../src/parser/movieHeaderBox.hpp \ - ../../src/parser/oxfverifier.h \ - ../../src/parser/sampleDependencyTypeBox.hpp \ - ../../src/parser/sampleSizeBox.hpp \ - ../../src/parser/signatureBox.hpp \ - ../../src/parser/signatureConfigurationBox.hpp \ - ../../src/parser/signatureExtractor.h \ - ../../src/parser/surveillanceExportBox.hpp \ - ../../src/parser/surveillanceMetadataSampleConfigBox.hpp \ - ../../src/parser/surveillanceMetadataSampleEntryBox.hpp \ - ../../src/parser/templateContentBoxes.hpp \ - ../../src/parser/templateFullBoxes.hpp \ - ../../src/parser/templateSuperBoxes.hpp \ - ../../src/parser/templateSuperFullBoxes.hpp \ - ../../src/parser/templateTableBoxes.hpp \ - ../../src/parser/trackFragmentHeaderBox.hpp \ - ../../src/parser/trackFragmentRandomAccessBox.hpp \ - ../../src/parser/trackHeaderBox.hpp \ - ../../src/parser/trackRunBox.hpp \ - ../../src/parser/validatorISO.h \ - ../../src/parser/validatorOXF.h \ - ../../src/parser/validatorSurveillance.h \ - ../../src/tests/afIdentificationBoxTest.h \ - ../../src/tests/boxTestsCommon.h \ - ../../src/tests/cameraMicrophoneIdentificationBoxTest.h \ - ../../src/tests/certificateBoxTest.h \ - ../../src/tests/engineTest.h \ - ../../src/tests/ostream.hpp \ - ../../src/tests/compactSampleSizeBoxTest.h \ - ../../src/tests/movieHeaderBoxTest.h \ - ../../src/tests/movieExtendsHeaderBoxTest.h \ - ../../src/tests/mediaHeaderBoxTest.h \ - ../../src/tests/additionalUserInformationBoxTest.h \ - ../../src/tests/surveillanceExportBoxTest.h \ - ../../src/tests/editListBoxTest.h \ - ../../src/tests/trackFragmentHeaderBoxTest.h \ - ../../src/tests/sampleDependencyTypeBoxTest.h \ - ../../src/tests/sampleSizeBoxTest.h \ - ../../src/tests/signatureBoxTest.h \ - ../../src/tests/signatureConfigurationBoxTest.h \ - ../../src/tests/surveillanceMetadataSampleConfigBoxTest.h \ - ../../src/tests/trackFragmentRandomAccessBoxTest.h \ - ../../src/tests/trackHeaderBoxTest.h \ - ../../src/tests/trackRunBoxTest.h \ - ../../src/tests/certificateSSLTest.h \ - ../../src/tests/surveillanceMetadataSampleEntryBoxTest.h - -win32:LIBS += -L../../ext/FFMPEG-1.2/lib/Windows -L../../ext/PortAudio/lib/Windows -L../../ext/OpenSSL-1.0.1/lib -unix:LIBS += -L../../ext/FFMPEG-1.2/lib/Unix -L../../ext/PortAudio/lib/Unix -L/usr/lib/i386-linux-gnu - -LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lswresample -lswscale -lssl -lcrypto - -win32:LIBS += -lportaudio.dll -unix:LIBS += -lportaudio diff --git a/player/src/CMakeLists.txt b/player/src/CMakeLists.txt new file mode 100644 index 0000000..c0bc4b5 --- /dev/null +++ b/player/src/CMakeLists.txt @@ -0,0 +1,81 @@ +if(NOT LINUX) + message( FATAL_ERROR "Only for linux build" ) +endif() + +# Common includes +include_directories(${FFMPEG_PATH}/include) +include_directories(.) +include_directories(./common) +include_directories(./parser) +include_directories(./parser/basic) +include_directories(./parser/basic/mixin) +include_directories(./parser/helpers) +include_directories(./parserUI) +include_directories(./player) +include_directories(./playerUI) +include_directories(./resources) + +# Where to search FFmpeg libs +link_directories(${FFMPEG_PATH}/lib) + +# Where to put output +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../bin) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_BINARY_DIR}/../bin/Debug) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_BINARY_DIR}/../bin/Debug) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_BINARY_DIR}/../bin/Release) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_BINARY_DIR}/../bin/Release) + +# Add library to use in application and tests +file(GLOB_RECURSE LIBRARY_SRC common/*.* parser/*.* parserUI/*.* player/*.* playerUI/*.* resources/*.*) + +add_library(ONVIFPlayerLib STATIC ${LIBRARY_SRC}) + +target_link_libraries(ONVIFPlayerLib + PUBLIC + Qt5::Core + Qt5::Widgets + Qt5::Network + Qt5::Multimedia + OpenSSL::SSL + PortAudio + pugixml-static + avcodec + avdevice + avfilter + avformat + avutil + postproc + swresample + swscale + signed-media-framework + PkgConfig::GLIB + PkgConfig::GST +) + +# Add executable +add_executable(ONVIFPlayer + resources/resources.qrc + main.cpp +) + +target_link_libraries(ONVIFPlayer + PUBLIC + ONVIFPlayerLib +) + +# Add tests + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../bin/tests) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_BINARY_DIR}/../bin/Debug/tests) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_BINARY_DIR}/../bin/Release/tests) + +file(GLOB TESTS_SRC tests/*.cpp) + +foreach(TEST_SRC ${TESTS_SRC}) + get_filename_component(FILE_NAME ${TEST_SRC} NAME_WLE) + add_executable(${FILE_NAME} ${TEST_SRC}) + add_test(NAME ${FILE_NAME} COMMAND ${FILE_NAME}) + target_link_libraries(${FILE_NAME} PRIVATE Qt5::Test ONVIFPlayerLib) +endforeach() + diff --git a/player/src/parser/basic/fullBox.hpp b/player/src/parser/basic/fullBox.hpp index 02b53a7..389c6bc 100644 --- a/player/src/parser/basic/fullBox.hpp +++ b/player/src/parser/basic/fullBox.hpp @@ -69,8 +69,8 @@ class FullBox void initializeHeaders(LimitedStreamReader& stream) { Box::initialize(stream); - stream.read(std::get<0>(m_data)); - stream.read(std::get<1>(m_data)); + stream.read(std::get<0>(FullBoxMixin::m_data)); + stream.read(std::get<1>(FullBoxMixin::m_data)); } }; diff --git a/player/src/parser/certificateStorage.cpp b/player/src/parser/certificateStorage.cpp index b31465e..e51c036 100644 --- a/player/src/parser/certificateStorage.cpp +++ b/player/src/parser/certificateStorage.cpp @@ -47,9 +47,9 @@ QString CertificateStorage::getCertificateFolder() #ifdef WIN32 certificates_folder = QDir::homePath() + WINP_APP_DATA_ROAMING + COMPANY_NAME + "/" + PRODUCT_NAME + "/" + CERTIFICATES_FOLDER; #endif //WIN32 -#ifdef UNIX +#ifdef __linux__ certificates_folder = QDir::homePath() + "/." + PRODUCT_NAME + "/" + CERTIFICATES_FOLDER; -#endif //UNIX +#endif //__linux__ //create it if needed if(!QDir().exists(certificates_folder)) diff --git a/player/src/parser/helpers/endian.hpp b/player/src/parser/helpers/endian.hpp index 9a06a69..3b7bfd2 100644 --- a/player/src/parser/helpers/endian.hpp +++ b/player/src/parser/helpers/endian.hpp @@ -34,6 +34,30 @@ #include "crosscompilation_inttypes.h" + +// This is dirty hach for Linux see description at +// https://www.qtcentre.org/threads/18728-qFromBigEndian(-)-not-found and https://github.com/goldendict/goldendict/issues/714 +// solution https://github.com/pstavirs/ostinato/issues/265 +#ifdef __linux__ + +template <> inline Q_DECL_CONSTEXPR unsigned long qbswap(unsigned long source) { + if (sizeof(unsigned long) == 8) { + return qbswap(quint64(source)); + } else { + return qbswap(quint32(source)); + } +} + +template <> inline Q_DECL_CONSTEXPR long qbswap(long source) { + if (sizeof(long) == 8) { + return qbswap(quint64(source)); + } else { + return qbswap(quint32(source)); + } +} + +#endif //__llinux__ + namespace detail { //! Helper class for identifying endianess convertible types. diff --git a/player/src/parser/helpers/property.hpp b/player/src/parser/helpers/property.hpp index 9039640..538a70c 100644 --- a/player/src/parser/helpers/property.hpp +++ b/player/src/parser/helpers/property.hpp @@ -42,6 +42,7 @@ #include #include #include +#include #include "defines.h" #include "endian.hpp" @@ -153,6 +154,16 @@ class Property CC_CXX11_FINAL } } + inline void convert(QVector value) + { + m_string = QString("Byte array of %1 records").arg(value.size()); + for(auto it = value.begin(), end = value.end(); it != end; ++it) + { + uint8_t entry = *it; + push_back( Property(entry) ); + } + } + //! Converts optional values to strings. template inline void convert(optional value) diff --git a/player/src/parser/oxfverifier.cpp b/player/src/parser/oxfverifier.cpp deleted file mode 100644 index 571ea2e..0000000 --- a/player/src/parser/oxfverifier.cpp +++ /dev/null @@ -1,605 +0,0 @@ -/************************************************************************************ -* Copyright (c) 2013 ONVIF. -* All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of ONVIF nor the names of its contributors may be -* used to endorse or promote products derived from this software -* without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -************************************************************************************/ - -#include "crosscompilation_cxx11.h" - -#include -#include -#include -#include -#include -#include -#include "oxfverifier.h" - -#include -#include -#include - -static const qint64 cMaxLen = 1024*8; - -QString toDebug(const char * line, int size) -{ - QString s; - uchar c; - - for ( int i=0; i < size; i++) - { - c = *(line + i); - s.append(QString("%1").arg(c, 2, 16, QChar('0'))); - } - return s; -} - -QString toDebug(const QByteArray & line) -{ - return toDebug((const char *)line.constData(), line.length()); -} - -// ctor -OXFVerifier::OXFVerifier(QObject *parent) - : QThread() -{ - m_cancel_operation = false; - m_parent = parent; - m_sibo_box = nullptr; -} - -void OXFVerifier::initialize(const SigningInformation* pInf, const QString& file) -{ - m_cert.clear(); - - QByteArray data = pInf->getCertificate(); - QList s = QSslCertificate::fromData(data, QSsl::Der); - if (s.length() != 0) - m_cert = s.at(0); - else - m_cert = QSslCertificate(); - - m_fileName = file; - m_sibo_box = pInf->getSignatureBox(); -} - -/* starts execution in thread*/ -void OXFVerifier::start(void) -{ - m_cancel_operation = false; - QThread::start(); - //run(); -} - -/*! Calculate the cryptographic hash till the stop mark - * @param sh - cryptographic hash object - * @param inp - input file - * @param stop - where we need to stop calculation - */ -bool OXFVerifier::calculateCryptoHashRaw(QCryptographicHash& sh, QIODevice& inp, qint64 stop) -{ - qint64 actualRead = 1; - qint64 bytesCalculated = 0; - qint64 bytesToRead = 0; - - char* buffer = new char[cMaxLen]; - while ((!m_cancel_operation) && (actualRead != 0)) - { - // how many bytes we need to read - bytesToRead = std::min(cMaxLen, (stop - bytesCalculated)); - // what we actualy read - actualRead = inp.read(buffer, bytesToRead); - // count them - bytesCalculated += actualRead; - - // add to hash - sh.addData(buffer, actualRead); - - emit operationRunning(); - if (m_cancel_operation) - { - qDebug() << "Operation has been canceled"; - delete[] buffer; - return false; - } - } // end of while (reading) - - delete[] buffer; - return true; -} - -/*! Calculate the cryptographic hash for the meta box till the end of file - * @param sh - cryptographic hash object - * @param inp - input file - * @param start - where we need to start calculation - * @param size - how many bytes to calculate - */ -bool OXFVerifier::calculateCryptoHashLast(QCryptographicHash& sh, QIODevice& inp, qint64 start, qint64 size) -{ - qint64 actualRead = 1; - qint64 bytesToRead = size; - - char* buffer = new char[bytesToRead]; - - while ((!m_cancel_operation) && (actualRead != 0)) - { - // what we actualy read - actualRead = inp.read(buffer, bytesToRead); - - // we need to zero the signature - qint64 signatureOffset = m_sibo_box->getBoxOffset() + 8; - qint64 shift = signatureOffset - start; - - memset(buffer + shift, 0, m_sibo_box->getSignature().size()); - - // add to hash - sh.addData(buffer, actualRead); - - emit operationRunning(); - if (m_cancel_operation) - { - qDebug() << "Operation has been canceled"; - delete[] buffer; - return false; - } - } // end of while (reading) - - delete[] buffer; - return true; -} - -/*! Calculate the cryptographic hash for the meta box till the end of corresponding sinf box - * @param sh - cryptographic hash object - * @param inp - input file - * @param start - where we need to start calculation - * @param end - where to stop - */ -bool OXFVerifier::calculateCryptoHashOther(QCryptographicHash& sh, QIODevice& inp, qint64 start, qint64 end) -{ - qint64 actualRead = 1; - qint64 bytesToRead = end - start; - - char* buffer = new char[bytesToRead]; - - // what we actualy read - actualRead = inp.read(buffer, bytesToRead); - - // we need to zero the signature - qint64 signatureOffset = m_sibo_box->getBoxOffset() + 8; - qint64 shift = signatureOffset - start; - - memset(buffer + shift, 0, m_sibo_box->getSignature().size()); - - // and also we nned to adjust meta and ipro boxes - Box* pIpro = m_sibo_box->getParent()->getParent()->getParent(); - qint64 iproOffset = pIpro->getBoxOffset(); - int newsize = end - iproOffset; - newsize =qToBigEndian(newsize); - - shift = iproOffset - start; - *(int*)((char*)(buffer + shift)) = newsize; - - Box* pMeta = pIpro->getParent(); - qint64 metaOffset = pMeta->getBoxOffset(); - newsize = end - metaOffset; - newsize = qToBigEndian(newsize); - - shift = metaOffset - start; - *(int*)((char*)(buffer + shift)) = newsize; - - // add to hash - sh.addData(buffer, actualRead); - - emit operationRunning(); - if (m_cancel_operation) - { - qDebug() << "Operation has been canceled"; - delete[] buffer; - return false; - } - - delete[] buffer; - return true; -} - - -// thread proc -void OXFVerifier::run() -{ - VerificationStatus st = vsNA; - QFile inp(m_fileName); - QFileInfo iff(inp); - - if (!inp.open(QIODevice::ReadOnly)) - { - emit operationCompleted(vsFailed); - return; - } - - qint64 fileSize = iff.size(); - int steps = fileSize/cMaxLen + 15; - - emit operationStarted(steps); - - QCryptographicHash sh(QCryptographicHash::Sha256); - Box* pMeta = m_sibo_box->getParent()->getParent()->getParent()->getParent(); - qint64 firstStop = pMeta->getBoxOffset(); - - // calculate bytes till meta box first - bool bRes = calculateCryptoHashRaw(sh, inp, firstStop); - if (bRes) - { - // ok, the most interesting part - auto total_size = m_sibo_box->getTotalSize(); - if (total_size < (firstStop + pMeta->getBoxSize()) ) - { - bRes = calculateCryptoHashOther(sh, inp, firstStop, total_size); - } - else - { - bRes = calculateCryptoHashLast(sh, inp, firstStop, pMeta->getBoxSize()); - } - } - - if (!bRes) - { - inp.close(); - emit operationCompleted(vsCanceled); - return; - } - - // ok we have got hash - emit operationRunning(); - if ((!m_cancel_operation)) - { - QByteArray data = sh.result(); - m_sign = m_sibo_box->getSignature(); - - // and now we are ready to verify the signature - bool res = verifySinature(data); - st = res ? vsOK : vsFailed; - - emit operationCompleted(st); - return; - } - emit operationCompleted(vsCanceled); - return; -} - -/*! Perform signature validation. Certificate has to be loaded and valid at this point. - * public key will be taken from certificate. - * @param hashData - binary data of cryptographic hash - */ -bool OXFVerifier::verifySinature(const QByteArray& hashData) -{ - // first of all make sure the OpenSSL is initialized - // some stuff is prepared in Qt, so may be we don't need all init here - OpenSSL_add_all_algorithms(); // !! IMPORTANT - OpenSSL_add_all_digests(); - SSL_library_init(); - - // get the public key - QSslKey key = m_cert.publicKey(); // get key - EVP_PKEY* pkey = EVP_PKEY_new(); - - if (key.algorithm() == QSsl::Rsa) - EVP_PKEY_assign_RSA(pkey, (RSA *)key.handle()); - else - EVP_PKEY_assign_DSA(pkey, (DSA *)key.handle()); - - while ( 0 != ERR_get_error() ); // clean up error queue - - // and not let check signature - // we have several variants on how to perform this - // 1. decrypt data with public key and compare hashes - //return verifySignatureWithDecrypt(hashData, pkey); - - // OID 1.2.840.113549.1.1.10 corresponds to RSASSA-PSS - // unfortunately it is not clear how it is implemented in openssl RSASSA-PKCS1-V1_5 or RSASSA-PSS - // The low-level functions RSA_padding_add_PKCS1_PSS and RSA_verify_PKCS1_PSS should be used - // let try to verify with these functions - return verifySignatureWithPss(hashData, pkey); - - // verify via digest with public key - //return verifySignatureWithDigest(hashData, pkey); -} - - -/* Trying to check signature with PSS functionality of openSSL. Note this works with openssl starting from 1.0.2 -*/ -bool OXFVerifier::verifySignatureWithPss(const QByteArray& hashData, EVP_PKEY* pkey) -{ - RSA* pRsaKey = EVP_PKEY_get1_RSA(pkey); - - int keysize = RSA_size(pRsaKey); - int rsa_inlen = m_sign.length(); // what we got from parser - int status = 0; - - unsigned char * rsa_out = (unsigned char*)OPENSSL_malloc(keysize); - - /* now we will verify the signature - Start by a RAW decrypt of the signature - */ - int rsa_outlen = RSA_public_decrypt(rsa_inlen/*keysize*/, (unsigned char*)m_sign.data(), rsa_out, pRsaKey, RSA_NO_PADDING /*RSA_PKCS1_PADDING*/); - int err; - if (rsa_outlen <= 0) - { - while ( 0 != (err = ERR_get_error()) ) - qDebug() << "decrypt ERROR: " << ERR_error_string(ERR_get_error(),NULL); - } - else - { - qDebug() << "hash sum from signature in file : " << toDebug((const char *)rsa_out, rsa_outlen); - qDebug() << "hash calculated : " << toDebug(hashData); - - //qDebug() << "signarure : " << toDebug(m_sign); - - /* verify the data */ - status = RSA_verify_PKCS1_PSS(pRsaKey, (const unsigned char*)hashData.data(), EVP_sha256(), rsa_out, -2 /* salt length recovered from signature*/); - if (status == 1) - { - qDebug() << "Signature verification successfull!"; - } - else - { - qDebug() << "RSA_verify_PKCS1_PSS failed with error " << ERR_error_string(ERR_get_error(), NULL); - } - } - - RSA_free(pRsaKey); - if (rsa_out) - OPENSSL_free(rsa_out); - - CRYPTO_cleanup_all_ex_data(); - EVP_cleanup(); - return (status == 1) ? true : false; -} - - -/*! Perform signature extraction from a signing data. Compare the calcu;lated hash with decrypted. - * @param hashData - binary data of cryptographic hash - * @param pkey - public key - */ -bool OXFVerifier::verifySignatureWithDecrypt(const QByteArray& hashData, EVP_PKEY* pkey) -{ - // get the RSA key - RSA* rsa = EVP_PKEY_get1_RSA(pkey); - - int keysize = RSA_size(rsa); - int rsa_inlen = m_sign.length(); // what we got from parser - - unsigned char * rsa_out = (unsigned char*)OPENSSL_malloc(keysize); - - int rsa_outlen = RSA_public_decrypt(rsa_inlen/*keysize*/, (unsigned char*)m_sign.data(), rsa_out, rsa, /*RSA_PKCS1_PADDING*/ RSA_PKCS1_PSS_PADDING); - int err; - if (rsa_outlen <= 0) - { - while ( 0 != (err = ERR_get_error()) ) - qDebug() << "decrypt ERROR: " << ERR_error_string(ERR_get_error(),NULL); - } - -#ifdef _DEBUG - qDebug() << "hash sum from signature in file : " << toDebug((const char *)rsa_out, rsa_outlen); - qDebug() << "hash calculated : " << toDebug(hashData); - - qDebug() << "signarure : " << toDebug(m_sign); -#endif - int evpRes = 1; - - // hack - if (rsa_outlen == 47) - { - evpRes = memcmp(rsa_out + 15, (const char*)hashData, hashData.length()); - } - else - { - if (rsa_outlen == hashData.length()) - evpRes = memcmp(rsa_out, (const char*)hashData, rsa_outlen); - } - - RSA_free(rsa); - if (rsa_out) - OPENSSL_free(rsa_out); - - return (evpRes == 0) ? true : false; -} - -// one more experimental functionality -bool OXFVerifier::verifySignatureWithDigest(const QByteArray& hashData, EVP_PKEY* pkey) -{ - // EVP context initialization - EVP_MD_CTX ctx; - EVP_MD_CTX_init(&ctx); - - int keysize = EVP_PKEY_size(pkey); - int rsa_inlen = m_sign.length(); // what we got from parser - if (keysize != rsa_inlen) - qDebug() << "Size from EVP_PKEY_size is not equal to signature in file."; - - //EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new(pkey, nullptr); - - int evpRes = 0; - int res1 = EVP_DigestVerifyInit(&ctx, /*&pctx*/nullptr, EVP_sha256(), nullptr, pkey); - int res2 = EVP_DigestVerifyUpdate(&ctx, hashData.data(), hashData.length()); - if ( (1 == res1) && (1 == res2)) - { - evpRes = EVP_DigestVerifyFinal(&ctx, (unsigned char*)m_sign.data(), rsa_inlen); - if (1 != evpRes) - { - ERR_load_crypto_strings(); - qDebug() << "verify ERROR: " << ERR_error_string(ERR_get_error(),NULL); - } - } - else - { - ERR_load_crypto_strings(); - qDebug() << "EVP_Digest ERROR: " << ERR_error_string(ERR_get_error(),NULL); - } - - EVP_MD_CTX_cleanup(&ctx); - return (evpRes != 0) ? true : false; -} - -/*! Return information about certificate issuer - * @return issuer - */ -QString OXFVerifier::getCertificateIssuer(void) -{ - if (m_cert.isNull()) - return tr("Certificate is not valid."); - - QStringList res; - - res << m_cert.issuerInfo(QSslCertificate::CommonName).join(QLatin1Char(' ')); - res << m_cert.issuerInfo(QSslCertificate::Organization).join(QLatin1Char(' ')); - return res.join(' '); -} - -/*! load certificate from a file system - * @param certName - certificate file name - * @return result - */ -bool OXFVerifier::loadCertificateFromFile(const QString& certName) -{ - QSsl::EncodingFormat fmt = getSslFormatFromName(certName); - - QFile file(certName); - if (!file.open(QIODevice::ReadOnly)) - return false; - - QByteArray array = file.readAll(); - file.close(); - - QList s = QSslCertificate::fromData(array, fmt); - if (s.length() != 0) - m_cert = s.at(0); - else - m_cert = QSslCertificate(); - - return true; -} - -/*! Save existing certificate to file - * @param certName - certificate file name to save - * @return result - */ -bool OXFVerifier::saveCertificateToFile(const QString& certName) -{ - QByteArray data; - QSsl::EncodingFormat inFmt = getSslFormatFromName(certName); - if (inFmt == QSsl::Der) - data = m_cert.toDer(); - else - data = m_cert.toPem(); - - QFile file(certName); - if (!file.open(QIODevice::WriteOnly)) - return false; - - file.write(data); - - file.flush(); - file.close(); - return true; -} - -/*! Get binary certificate content - */ -QByteArray OXFVerifier::getBinaryCertificate() -{ - return m_cert.toDer(); -} - -/*! Parse file name and get certificate format (binary or text with base64 encoding) - * @param certName - certificate file name to save - * @return format - */ -QSsl::EncodingFormat OXFVerifier::getSslFormatFromName(const QString& certName) -{ - QSsl::EncodingFormat inFmt; - - QFileInfo fi(certName); - if ( fi.suffix().compare(QString("pem"), Qt::CaseInsensitive) == 0) - { - inFmt = QSsl::Pem; - } - else if ( fi.suffix().compare(QString("der"), Qt::CaseInsensitive) == 0 ) - { - inFmt = QSsl::Der; - } - else - { - inFmt = QSsl::Pem; - qDebug() << "Unknown file extention. trying PEM"; - } - return inFmt; -} - -/*! Returns complete information from certificate - * @param certInfo - this list will be populated with information - * @return none - */ -void OXFVerifier::getCertificateInfo(QStringList& certInfo) -{ - if (m_cert.isNull()) - { - certInfo.append(tr("Not valid certificate.")); - return; - } - - qDebug() << m_cert.toText(); - - certInfo << tr("Certificate version: ") << m_cert.version(); - certInfo << tr("Organization: %1").arg(m_cert.subjectInfo(QSslCertificate::Organization).join(QLatin1Char(' '))) - << tr("Subunit: %1").arg(m_cert.subjectInfo(QSslCertificate::OrganizationalUnitName).join(QLatin1Char(' '))) - << tr("Country: %1").arg(m_cert.subjectInfo(QSslCertificate::CountryName).join(QLatin1Char(' '))) - << tr("Locality: %1").arg(m_cert.subjectInfo(QSslCertificate::LocalityName).join(QLatin1Char(' '))) - << tr("State/Province: %1").arg(m_cert.subjectInfo(QSslCertificate::StateOrProvinceName).join(QLatin1Char(' '))) - << tr("Common Name: %1").arg(m_cert.subjectInfo(QSslCertificate::CommonName).join(QLatin1Char(' '))) - << QString() - << tr("Issuer Organization: %1").arg(m_cert.issuerInfo(QSslCertificate::Organization).join(QLatin1Char(' '))) - << tr("Issuer Unit Name: %1").arg(m_cert.issuerInfo(QSslCertificate::OrganizationalUnitName).join(QLatin1Char(' '))) - << tr("Issuer Country: %1").arg(m_cert.issuerInfo(QSslCertificate::CountryName).join(QLatin1Char(' '))) - << tr("Issuer Locality: %1").arg(m_cert.issuerInfo(QSslCertificate::LocalityName).join(QLatin1Char(' '))) - << tr("Issuer State/Province: %1").arg(m_cert.issuerInfo(QSslCertificate::StateOrProvinceName).join(QLatin1Char(' '))) - << tr("Issuer Common Name: %1").arg(m_cert.issuerInfo(QSslCertificate::CommonName).join(QLatin1Char(' '))); - - QDateTime beginDate = m_cert.effectiveDate(); - QDateTime endDate = m_cert.expiryDate(); - - certInfo << QString("Certeficate Start date: %1").arg(beginDate.toString()); - certInfo << QString("Certeficate End date: %1").arg(endDate.toString()); - - QSslKey signKey = m_cert.publicKey(); - if (QSsl::Rsa == signKey.algorithm()) - certInfo << tr("RSA key in certificate."); - else - certInfo << tr("DSA key in certificate."); - - if ( QSsl::PublicKey == signKey.type()) - certInfo << tr("Public key in certificate."); - else - certInfo << tr("Private key in certificate."); - - return; -} diff --git a/player/src/parser/oxfverifier.h b/player/src/parser/oxfverifier.h deleted file mode 100644 index 52506f7..0000000 --- a/player/src/parser/oxfverifier.h +++ /dev/null @@ -1,140 +0,0 @@ -/************************************************************************************ -* Copyright (c) 2013 ONVIF. -* All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of ONVIF nor the names of its contributors may be -* used to endorse or promote products derived from this software -* without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -************************************************************************************/ - -#ifndef OXFVERIFIER_H -#define OXFVERIFIER_H - -#include "crosscompilation_cxx11.h" - -#include -#include -#include -#include -#include - -#include "ONVIFSignInfo.h" - -struct evp_pkey_st; - -typedef enum _VerificationStatus -{ - vsNA = 0, - vsFailed, - vsOK, - vsCanceled -} VerificationStatus; - - -/*! This class performing signature verification for the file - * It calculates the hash sum and then verify this hash against signed has from a sibo box from file - * - */ -class OXFVerifier : public QThread -{ - Q_OBJECT -public: - explicit OXFVerifier(QObject *parent = 0); - - /*! - * Empty Destructor - */ - virtual ~OXFVerifier() {} - - /*! - * @brief Start operation in separate thread - */ - void start(void); - - //! prepare for verification - //! @param sInf - signing information obtained from file - //! @param file - file with data - void initialize(const SigningInformation* pInf, const QString& file); - - //! get all information available in certificate - void getCertificateInfo(QStringList& certInfo); - - //! get just Issuer name - QString getCertificateIssuer(void); - - //! certificate loading from external resource - bool loadCertificateFromFile(const QString& certName); - //! save certificate from file for late usage - bool saveCertificateToFile(const QString& certName); - - //! get binary certificate content - QByteArray getBinaryCertificate(); - - void setCancelOperation(bool val) { m_cancel_operation = val; } - -signals: - - //! signal would emit right before verification is started, providing estimated number of steps to complete - void operationStarted(int steps); - - //! signal would emit after verification is finished - void operationCompleted(VerificationStatus); - - //! signal would emit during operation - void operationRunning(void); - //void operationRunning(bool* bContinue); - -public slots: - - -private: - /*! - * @brief reimplemented function from base class for multiprocessing - * - */ - virtual void run (void); - - bool verifySinature(const QByteArray& hashData); - - bool verifySignatureWithDecrypt(const QByteArray& hashData, evp_pkey_st* pkey); - bool verifySignatureWithPss(const QByteArray& hashData, evp_pkey_st* pkey); - bool verifySignatureWithDigest(const QByteArray& hashData, evp_pkey_st* pkey); - - bool calculateCryptoHashRaw(QCryptographicHash&, QIODevice& , qint64 ); - bool calculateCryptoHashLast(QCryptographicHash& , QIODevice& , qint64 , qint64 ); - bool calculateCryptoHashOther(QCryptographicHash& , QIODevice& , qint64 , qint64 ); - - QSsl::EncodingFormat getSslFormatFromName(const QString& certName); - -private: - QObject* m_parent; //! keep parent for future notification - - QSslCertificate m_cert; //! certificate from loaded file - QSslKey m_key; //! public key from certificate - - SignatureBox* m_sibo_box; //! point to the box with signature - QByteArray m_sign; //! signature from file - - QString m_fileName; //! file name of vide to check - bool m_cancel_operation; -}; - -#endif // OXFVERIFIER_H diff --git a/player/src/parserUI/certificateStorageDialog.cpp b/player/src/parserUI/certificateStorageDialog.cpp index e3da1e8..6e79c0c 100644 --- a/player/src/parserUI/certificateStorageDialog.cpp +++ b/player/src/parserUI/certificateStorageDialog.cpp @@ -76,9 +76,9 @@ void CertificateStorageDialog::onAdd() #ifdef WIN32 QSettings settings(QDir::homePath() + WINP_APP_DATA_ROAMING + COMPANY_NAME + "/" + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat); #endif //WIN32 -#ifdef UNIX +#ifdef __linux__ QSettings settings(QDir::homePath() + "/." + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat); -#endif //UNIX +#endif //__linux__ QString file_name = QFileDialog::getOpenFileName(this, tr("Add certificate file"), settings.value("lastOpenedCertificateFolder", QDir::homePath()).toString(), BINARY_FORMAT); if(file_name.isEmpty()) diff --git a/player/src/parserUI/oxfverifier.cpp b/player/src/parserUI/oxfverifier.cpp index 43b1375..701b9a4 100644 --- a/player/src/parserUI/oxfverifier.cpp +++ b/player/src/parserUI/oxfverifier.cpp @@ -428,8 +428,8 @@ bool OXFVerifier::verifySignatureWithDecrypt(const QByteArray& hashData, EVP_PKE bool OXFVerifier::verifySignatureWithDigest(const QByteArray& hashData, EVP_PKEY* pkey) { // EVP context initialization - EVP_MD_CTX ctx; - EVP_MD_CTX_init(&ctx); + EVP_MD_CTX* ctx = EVP_MD_CTX_create(); + EVP_MD_CTX_init(ctx); int keysize = EVP_PKEY_size(pkey); int rsa_inlen = m_sign.length(); // what we got from parser @@ -439,11 +439,11 @@ bool OXFVerifier::verifySignatureWithDigest(const QByteArray& hashData, EVP_PKEY //EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new(pkey, nullptr); int evpRes = 0; - int res1 = EVP_DigestVerifyInit(&ctx, /*&pctx*/nullptr, EVP_sha256(), nullptr, pkey); - int res2 = EVP_DigestVerifyUpdate(&ctx, hashData.data(), hashData.length()); + int res1 = EVP_DigestVerifyInit(ctx, /*&pctx*/nullptr, EVP_sha256(), nullptr, pkey); + int res2 = EVP_DigestVerifyUpdate(ctx, hashData.data(), hashData.length()); if ( (1 == res1) && (1 == res2)) { - evpRes = EVP_DigestVerifyFinal(&ctx, (unsigned char*)m_sign.data(), rsa_inlen); + evpRes = EVP_DigestVerifyFinal(ctx, (unsigned char*)m_sign.data(), rsa_inlen); if (1 != evpRes) { ERR_load_crypto_strings(); @@ -456,7 +456,7 @@ bool OXFVerifier::verifySignatureWithDigest(const QByteArray& hashData, EVP_PKEY qDebug() << "EVP_Digest ERROR: " << ERR_error_string(ERR_get_error(),NULL); } - EVP_MD_CTX_cleanup(&ctx); + EVP_MD_CTX_destroy(ctx); return (evpRes != 0) ? true : false; } diff --git a/player/src/parserUI/smfValidatorWidget.cpp b/player/src/parserUI/smfValidatorWidget.cpp new file mode 100644 index 0000000..6853bec --- /dev/null +++ b/player/src/parserUI/smfValidatorWidget.cpp @@ -0,0 +1,108 @@ +#include "smfValidatorWidget.h" + +#include +#include + +#include "defines.h" +#include "ui_smfValidatorWidget.h" +#include + +namespace { + + SMFValidationWidget* widget = nullptr; + + void validationFinished(ValidationResult validationResult) { + if (widget) + widget->validationCallback(validationResult); + } + + QString GetCertPath() { +#ifdef WIN32 + return QSettings(QDir::homePath() + WINP_APP_DATA_ROAMING + COMPANY_NAME + "/" + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat) +#endif // WIN32 +#ifdef __linux__ + return QSettings(QDir::homePath() + "/." + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat) +#endif //__linux__ + .value("SMFPath", "").toString(); + } + + void SetCertPath(const QString& path) { +#ifdef WIN32 + QSettings(QDir::homePath() + WINP_APP_DATA_ROAMING + COMPANY_NAME + "/" + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat) +#endif // WIN32 +#ifdef __linux__ + QSettings(QDir::homePath() + "/." + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat) +#endif //__linux__ + .setValue("SMFPath", path); + } + +} // namespace + +SMFValidationWidget::SMFValidationWidget(QWidget* parent, const QString& file_name, const QString& codecString) + : QDialog(parent), m_ui(new Ui::SMFValidationWidget()) { + m_ui->setupUi(this); + + m_ui->bulk_cb->hide(); + + m_ui->certificate_path_txt->setText(GetCertPath()); + m_ui->validate_btn->setText(QObject::tr("Validate")); + m_ui->validate_btn->show(); + + QObject::connect(m_ui->certificate_path_btn, &QPushButton::clicked, this, [this]() { + const QString certificateFilePath = + QFileDialog::getOpenFileName(nullptr, "Select certificate file..", m_ui->certificate_path_txt->text(), BASE64_FORMAT); + m_ui->certificate_path_txt->setText(certificateFilePath); + SetCertPath(certificateFilePath); + }); + + QObject::connect(m_ui->validate_btn, &QPushButton::clicked, this, [this, file_name, codecString]() { + if (m_ui->stackedWidget->currentIndex() == 0) { + m_ui->validate_btn->hide(); + m_ui->stackedWidget->setCurrentIndex(1); + + m_tmpFile = new QTemporaryFile(); + m_tmpFile->open(); + ::widget = this; + validation_callback(validationFinished); + validate((gchar*)codecString.toStdString().data(), + (gchar*)m_ui->certificate_path_txt->text().toStdString().data(), (gchar*)file_name.toStdString().data(), + m_ui->bulk_cb->isChecked(), m_tmpFile->fileName().toUtf8().constData()); + } + else if (m_ui->stackedWidget->currentIndex() == 2) { + m_ui->validate_btn->setText(QObject::tr("Validate")); + m_ui->validate_btn->show(); + m_ui->stackedWidget->setCurrentIndex(0); + } + }); + + QObject::connect(m_ui->close_btn, &QPushButton::clicked, this, [this]() { + widget = nullptr; + this->accept(); + }); +} + +SMFValidationWidget::~SMFValidationWidget() { + widget = nullptr; + delete m_ui; +} + +void SMFValidationWidget::validationCallback(ValidationResult validationResult) { + m_ui->validate_btn->setText(QObject::tr("Again")); + m_ui->validate_btn->show(); + m_ui->stackedWidget->setCurrentIndex(2); + widget = nullptr; + + QString message; + + { + QFile validationResultsFile(m_tmpFile->fileName()); + if (!validationResultsFile.open(QIODevice::ReadOnly)) { + message = "Failed to open results file..."; + } else + message = validationResultsFile.readAll(); + delete m_tmpFile; + m_tmpFile = nullptr; + } + + m_ui->textEdit->setText(message); +} \ No newline at end of file diff --git a/player/src/parserUI/smfValidatorWidget.h b/player/src/parserUI/smfValidatorWidget.h new file mode 100644 index 0000000..ceea37e --- /dev/null +++ b/player/src/parserUI/smfValidatorWidget.h @@ -0,0 +1,26 @@ +#pragma once + +#include +#include + +#include "onvif_validator.h" + +namespace Ui { + class SMFValidationWidget; +} + +class SMFValidationWidget final : public QDialog { +private: + Q_OBJECT + +public: + SMFValidationWidget(QWidget* parent, const QString& file_name, const QString& codecString); + + virtual ~SMFValidationWidget(); + + void validationCallback(ValidationResult validationResult); + +private: + Ui::SMFValidationWidget* m_ui; + QTemporaryFile* m_tmpFile; +}; diff --git a/player/src/parserUI/smfValidatorWidget.ui b/player/src/parserUI/smfValidatorWidget.ui new file mode 100644 index 0000000..fd1e797 --- /dev/null +++ b/player/src/parserUI/smfValidatorWidget.ui @@ -0,0 +1,139 @@ + + + SMFValidationWidget + + + + 0 + 0 + 500 + 350 + + + + + 500 + 350 + + + + Validate using signed-media-framework + + + + + + Close + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Path to trusted certificate: + + + + + + + Bulk run + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 30 + 16777215 + + + + ... + + + + + + + + + + + + + + Validating.... + + + Qt::AlignCenter + + + + + + + + + + + QFrame::NoFrame + + + false + + + true + + + + + + + + + + + + + + + + + + + diff --git a/player/src/parserUI/verifyerdialog.cpp b/player/src/parserUI/verifyerdialog.cpp index 441975d..5f9bc07 100644 --- a/player/src/parserUI/verifyerdialog.cpp +++ b/player/src/parserUI/verifyerdialog.cpp @@ -223,9 +223,9 @@ void VerifyerDialog::onCertificateActionClicked(void) #ifdef WIN32 dir = QDir::homePath() + WINP_APP_DATA_ROAMING + COMPANY_NAME + "/" + PRODUCT_NAME + "/" + CERTIFICATES_FOLDER + "/"; #endif //WIN32 -#ifdef UNIX +#ifdef __linux__ dir = QDir::homePath() + "/." + PRODUCT_NAME + "/" + CERTIFICATES_FOLDER + "/"; -#endif //UNIX +#endif //__linux__ if(!QDir(dir).exists()) QDir().mkpath(dir); QFileDialog save_file_dialog(this); diff --git a/player/src/player/audioContext.cpp b/player/src/player/audioContext.cpp index 8cedca2..006c7a7 100644 --- a/player/src/player/audioContext.cpp +++ b/player/src/player/audioContext.cpp @@ -29,8 +29,7 @@ #include "audioContext.h" -#include -#include +#include AudioContext::AudioContext() { @@ -48,7 +47,7 @@ bool AudioContext::init(AVCodecContext* codecContext) if(audio_codec_context == nullptr) return false; - QAudioDevice default_device_info = QMediaDevices::defaultAudioOutput(); + QAudioDeviceInfo default_device_info = QAudioDeviceInfo::defaultOutputDevice(); QAudioFormat audio_format = default_device_info.preferredFormat(); audio_format.setSampleRate(audio_codec_context->sample_rate); audio_format.setChannelCount(audio_codec_context->channels); @@ -59,6 +58,7 @@ bool AudioContext::init(AVCodecContext* codecContext) m_audio_params.m_freq = audio_format.sampleRate(); m_audio_params.m_channels = audio_format.channelCount(); m_audio_params.m_channel_layout = av_get_default_channel_layout(m_audio_params.m_channels); + /* switch(audio_format.sampleFormat()) { case QAudioFormat::Int16: @@ -75,6 +75,24 @@ bool AudioContext::init(AVCodecContext* codecContext) default: break; } + */ + switch(audio_format.sampleType()) + { + case QAudioFormat::Unknown: + m_audio_params.m_fmt = AV_SAMPLE_FMT_NONE; + break; + case QAudioFormat::SignedInt: + m_audio_params.m_fmt = AV_SAMPLE_FMT_S32; + break; + case QAudioFormat::UnSignedInt: + m_audio_params.m_fmt = AV_SAMPLE_FMT_U8; + break; + case QAudioFormat::Float: + m_audio_params.m_fmt = AV_SAMPLE_FMT_FLT; + break; + default: + break; + } if(m_audio_params.m_fmt == AV_SAMPLE_FMT_NONE) { clear(); diff --git a/player/src/player/controller.cpp b/player/src/player/controller.cpp index 72852fe..7b6e64e 100644 --- a/player/src/player/controller.cpp +++ b/player/src/player/controller.cpp @@ -35,6 +35,7 @@ #include "certificateStorage.h" #include "certificateStorageDialog.h" #include "queuedMetadataDecoder.h" +#include "smfValidatorWidget.h" Controller::Controller(Engine& engine, PlayerWidget& player_widget, FullscreenPlayerWidget& fullscreen_player_widget, ControlsWidget& controls_widget, @@ -55,11 +56,13 @@ Controller::Controller(Engine& engine, QObject::connect(&m_player_widget, SIGNAL(changeAudioStream(int)), this, SLOT(onAudioStreamIndexChanged(int))); QObject::connect(&m_player_widget, SIGNAL(showFileStructure()), this, SLOT(showFileStructure())); QObject::connect(&m_player_widget, SIGNAL(verifyFileSignature()), this, SLOT(verifyFileSignature())); + QObject::connect(&m_player_widget, SIGNAL(verifyUsingSignedMediaFramework()), this, SLOT(verifyUsingSignedMediaFramework())); QObject::connect(&m_player_widget, SIGNAL(openCertificateStorage()), this, SLOT(openCertificateStorage())); QObject::connect(&m_player_widget, SIGNAL(exit()), this, SLOT(exit())); QObject::connect(&m_player_widget, SIGNAL(showLocalTimeChanged(bool)), this, SLOT(onshowLocalTimeChanged(bool))); - QObject::connect(&m_engine, SIGNAL(playbackFinished()), this, SLOT(onPlaybackFinished())); + QObject::connect(&m_engine, SIGNAL(playbackFinished()), this, SLOT(onPlaybackFinished())); + QObject::connect(&m_engine, &Engine::openedFileCodec, this, [this](AVCodecID codec) { m_current_codec = codec; }); QObject::connect(&m_controls_widget, SIGNAL(started()), this, SLOT(onPlay()), Qt::QueuedConnection); QObject::connect(&m_controls_widget, SIGNAL(paused()), this, SLOT(onPause()), Qt::QueuedConnection); @@ -98,12 +101,16 @@ Controller::~Controller() { m_engine.stop(); m_engine.clear(); + m_current_file_name.clear(); + m_current_codec = AVCodecID::AV_CODEC_ID_NONE; } void Controller::openFile(const QString& file_name) { m_engine.stop(); m_engine.clear(); + m_current_file_name.clear(); + m_current_codec = AVCodecID::AV_CODEC_ID_NONE; m_player_widget.getEventWidget()->clear(); m_player_widget.getVideoWidget()->clear(); m_player_widget.getEventTreeWidget()->clear(); @@ -151,6 +158,7 @@ void Controller::openFile(const QString& file_name) m_controls_widget.startPlayback(); m_controls_widget.updateUI(); m_engine.start(); + m_current_file_name = file_name; } void Controller::showFileStructure() @@ -167,6 +175,29 @@ void Controller::verifyFileSignature() m_verifyer_dialog.show(); } +void Controller::verifyUsingSignedMediaFramework() { + if (m_current_file_name.isEmpty()) + return; + + QString codecString; + switch(m_current_codec) { + case AVCodecID::AV_CODEC_ID_H264: + codecString = "h264"; + break; + case AV_CODEC_ID_H265: + codecString = "h265"; + break; + default: { + QMessageBox message_box(QMessageBox::Warning, m_player_widget.windowTitle(), QString("File can not be verified, because signing only allowed for H.265/H.264 encoders."), + QMessageBox::Ok, &m_player_widget); + message_box.exec(); + } + return; + } + SMFValidationWidget dialog(&m_player_widget, m_current_file_name, codecString); + dialog.exec(); +} + void Controller::openCertificateStorage() { CertificateStorageDialog certificate_storage_dialog(&m_player_widget); @@ -177,6 +208,8 @@ void Controller::exit() { m_engine.stop(); m_engine.clear(); + m_current_file_name.clear(); + m_current_codec = AVCodecID::AV_CODEC_ID_NONE; qApp->quit(); } diff --git a/player/src/player/controller.h b/player/src/player/controller.h index c44e1f8..0893a13 100644 --- a/player/src/player/controller.h +++ b/player/src/player/controller.h @@ -63,6 +63,9 @@ private slots: //! This slot will be called when file signature needs to be verified. void verifyFileSignature(); + //! This slot will be called when file or stream signature needs to be verified using signed-media-framework library. + void verifyUsingSignedMediaFramework(); + //! This slot will be called when we want to work with certificates. void openCertificateStorage(); @@ -148,9 +151,13 @@ private slots: //! Media parser to validate file. MediaParser& m_media_parser; //! Fragments info of opened file/file set. - SegmentList m_segments; + SegmentList m_segments; //! Currently playing fragment. int m_playing_fragment_index; + //! Currently opened file name + QString m_current_file_name; + //! Currently opened file coded + AVCodecID m_current_codec = AVCodecID::AV_CODEC_ID_NONE; }; #endif // CONTROLLER_H diff --git a/player/src/player/engine.cpp b/player/src/player/engine.cpp index 06c8b8a..621742c 100644 --- a/player/src/player/engine.cpp +++ b/player/src/player/engine.cpp @@ -48,6 +48,7 @@ Engine::Engine() : //direct connection used to prevent receiving messages from previously opened file QObject::connect(&m_audio_playback, SIGNAL(played(BasePlayback*)), &m_video_playback, SLOT(syncWithAudio(BasePlayback*)), Qt::DirectConnection); QObject::connect(&m_audio_playback, SIGNAL(playbackFinished()), this, SLOT(onFinished())); + QObject::connect(&m_video_decoder, &QueuedVideoDecoder::openedFileCodec, this, &Engine::openedFileCodec); } Engine::~Engine() diff --git a/player/src/player/engine.h b/player/src/player/engine.h index 0bbe157..b95b0c8 100644 --- a/player/src/player/engine.h +++ b/player/src/player/engine.h @@ -100,6 +100,9 @@ class Engine : public BasePlayback //! Set new stream index for audio. void setAudioStreamIndex(int index); +signals: + void openedFileCodec(AVCodecID codec); + public slots: //! Set volume. Volume should be between 0 and 100. void setVolume(int volume); diff --git a/player/src/player/queuedDecoder.h b/player/src/player/queuedDecoder.h index bb7cf28..1f42c2c 100644 --- a/player/src/player/queuedDecoder.h +++ b/player/src/player/queuedDecoder.h @@ -114,7 +114,7 @@ class QueuedDecoder : public Decoder, public SyncThread int targetSize = (m_queue.empty() && m_pause) ? 2 : m_queue.size() + MINIMUM_FRAMES_IN_QUEUE / 2; while (m_queue.size() < targetSize) { - auto ctx = getFormatContext(); + auto ctx = Decoder::getFormatContext(); if (ctx == 0) return false; int read_result = av_read_frame(ctx, packet); @@ -124,7 +124,7 @@ class QueuedDecoder : public Decoder, public SyncThread //packet read normally if(packet->stream_index == Decoder::m_stream->index) { - int time = (int)((double)packet->pts * av_q2d(m_stream->time_base) * 1000.0); + int time = (int)((double)packet->pts * av_q2d(Decoder::m_stream->time_base) * 1000.0); processPacket(packet, time); } } diff --git a/player/src/player/queuedMetadataDecoder.cpp b/player/src/player/queuedMetadataDecoder.cpp index 1fa43cb..b16b6bf 100644 --- a/player/src/player/queuedMetadataDecoder.cpp +++ b/player/src/player/queuedMetadataDecoder.cpp @@ -34,7 +34,7 @@ #include #include -#include "../../ext/pugixml/src/pugixml.hpp" +#include #include #include diff --git a/player/src/player/queuedVideoDecoder.cpp b/player/src/player/queuedVideoDecoder.cpp index 27ed08d..a079b75 100644 --- a/player/src/player/queuedVideoDecoder.cpp +++ b/player/src/player/queuedVideoDecoder.cpp @@ -61,6 +61,7 @@ void QueuedVideoDecoder::setStream(int index, double fps) m_context.open(getStream(m_streamIndex), fps); m_stream = getStream(m_streamIndex); + emit openedFileCodec(m_stream->codec->codec_id); } void QueuedVideoDecoder::processPacket(AVPacket* packet, int timestamp_ms) diff --git a/player/src/player/queuedVideoDecoder.h b/player/src/player/queuedVideoDecoder.h index de00701..b85d0fe 100644 --- a/player/src/player/queuedVideoDecoder.h +++ b/player/src/player/queuedVideoDecoder.h @@ -35,6 +35,9 @@ class QueuedVideoDecoder : public QueuedDecoder { +private: + Q_OBJECT + public: QueuedVideoDecoder(AVMediaType type = AVMEDIA_TYPE_VIDEO); @@ -49,6 +52,9 @@ class QueuedVideoDecoder : public QueuedDecoder int frameWidth() const { return m_frame_width; } int frameHeight() const { return m_frame_height; } +signals: + void openedFileCodec(AVCodecID codec); + protected: virtual void processPacket(AVPacket* packet, int timestamp_ms); @@ -69,7 +75,6 @@ class QueuedVideoDecoder : public QueuedDecoder //! Temp buffer for conversion. uint8_t* m_buffer; int m_frame_width, m_frame_height; - }; #endif // QUEUEDVIDEODECODER_H diff --git a/player/src/playerUI/clickableSlider.cpp b/player/src/playerUI/clickableSlider.cpp index 3d8b5fe..588d74e 100644 --- a/player/src/playerUI/clickableSlider.cpp +++ b/player/src/playerUI/clickableSlider.cpp @@ -139,8 +139,8 @@ int ClickableSlider::calcValue(QMouseEvent* event) int min = minimum(); int max = maximum(); if (orientation() == Qt::Vertical) - value = (int)((double)min + (double)(max - min) * (double)(height() - event->position().y())/(double)height()); + value = (int)((double)min + (double)(max - min) * (double)(height() - event->localPos().y())/(double)height()); else - value = (int)((double)min + (double)(max - min) * (double)(event->position().x()) / (double)width()) ; + value = (int)((double)min + (double)(max - min) * (double)(event->localPos().x()) / (double)width()) ; return value; } diff --git a/player/src/playerUI/playerWidget.cpp b/player/src/playerUI/playerWidget.cpp index bc45dad..134a49a 100644 --- a/player/src/playerUI/playerWidget.cpp +++ b/player/src/playerUI/playerWidget.cpp @@ -53,6 +53,7 @@ PlayerWidget::PlayerWidget(QWidget* parent) : QObject::connect(m_ui->actionOpen, SIGNAL(triggered()), this, SLOT(onOpenFile())); QObject::connect(m_ui->actionFile_structure, SIGNAL(triggered()), this, SIGNAL(showFileStructure())); QObject::connect(m_ui->actionFile_signature, SIGNAL(triggered()), this, SIGNAL(verifyFileSignature())); + QObject::connect(m_ui->actionStream_signature, SIGNAL(triggered()), this, SIGNAL(verifyUsingSignedMediaFramework())); QObject::connect(m_ui->actionCertificate_storage, SIGNAL(triggered()), this, SIGNAL(openCertificateStorage())); QObject::connect(m_ui->actionExit, SIGNAL(triggered()), this, SIGNAL(exit())); QObject::connect(m_ui->actionLocalTime, SIGNAL(triggered()), this, SLOT(showLocalTime())); @@ -95,9 +96,9 @@ QString PlayerWidget::getLastOpenedFolder() #ifdef WIN32 QSettings settings(QDir::homePath() + WINP_APP_DATA_ROAMING + COMPANY_NAME + "/" + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat); #endif //WIN32 -#ifdef UNIX +#ifdef __linux__ QSettings settings(QDir::homePath() + "/." + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat); -#endif //UNIX +#endif //__linux__ return settings.value("lastOpenedFolder", "").toString(); } @@ -106,9 +107,9 @@ void PlayerWidget::saveLastOpenedFolder(const QString& folder) #ifdef WIN32 QSettings settings(QDir::homePath() + WINP_APP_DATA_ROAMING + COMPANY_NAME + "/" + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat); #endif //WIN32 -#ifdef UNIX +#ifdef __linux__ QSettings settings(QDir::homePath() + "/." + PRODUCT_NAME + "/" + CONFIG_FILE_NAME, QSettings::IniFormat); -#endif //UNIX +#endif //__linux__ settings.setValue("lastOpenedFolder", folder); } @@ -166,4 +167,4 @@ void PlayerWidget::onAudioStreamSelected() void PlayerWidget::showLocalTime() { emit showLocalTimeChanged((bool)((QAction*)sender())->isChecked()); -} \ No newline at end of file +} diff --git a/player/src/playerUI/playerWidget.h b/player/src/playerUI/playerWidget.h index 500bfa6..1292132 100644 --- a/player/src/playerUI/playerWidget.h +++ b/player/src/playerUI/playerWidget.h @@ -74,6 +74,9 @@ class PlayerWidget : public QMainWindow, public PlayerWidgetInterface //! Verify File signature. void verifyFileSignature(); + //! Verify File or Stream using signed-media-framework. + void verifyUsingSignedMediaFramework(); + //! Open certificate storage. void openCertificateStorage(); @@ -123,7 +126,7 @@ private slots: //! UI. Ui::PlayerWidget* m_ui; //! Event view UI. - QTreeWidget m_events; + QTreeWidget m_events; //! Video view UI. VideoFrameWidget m_video_frame; }; diff --git a/player/src/playerUI/playerWidget.ui b/player/src/playerUI/playerWidget.ui index fadc883..dce1f93 100644 --- a/player/src/playerUI/playerWidget.ui +++ b/player/src/playerUI/playerWidget.ui @@ -146,7 +146,7 @@ 0 0 1000 - 22 + 21 @@ -163,6 +163,7 @@ + @@ -255,6 +256,11 @@ 1 + + + Stream signature... + + diff --git a/player/src/resources/ONVIFPlayer.aps b/player/src/resources/ONVIFPlayer.aps new file mode 100644 index 0000000..8da8e85 Binary files /dev/null and b/player/src/resources/ONVIFPlayer.aps differ diff --git a/player/src/tests/additionalUserInformationBoxTest.cpp b/player/src/tests/additionalUserInformationBoxTest.cpp index f32409f..f3b8f9e 100644 --- a/player/src/tests/additionalUserInformationBoxTest.cpp +++ b/player/src/tests/additionalUserInformationBoxTest.cpp @@ -25,7 +25,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ************************************************************************************/ -#include "AdditionalUserInformationBoxTest.h" +#include "additionalUserInformationBoxTest.h" #include "additionalUserInformation.hpp" #include "boxTestsCommon.h" @@ -112,3 +112,5 @@ void AdditionalUserInformationBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(AdditionalUserInformationBoxTest) diff --git a/player/src/tests/afIdentificationBoxTest.cpp b/player/src/tests/afIdentificationBoxTest.cpp index 36307c4..ee7096f 100644 --- a/player/src/tests/afIdentificationBoxTest.cpp +++ b/player/src/tests/afIdentificationBoxTest.cpp @@ -161,3 +161,5 @@ void AfIdentificationBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(AfIdentificationBoxTest) diff --git a/player/src/tests/cameraMicrophoneIdentificationBoxTest.cpp b/player/src/tests/cameraMicrophoneIdentificationBoxTest.cpp index c5052b2..86d95b0 100644 --- a/player/src/tests/cameraMicrophoneIdentificationBoxTest.cpp +++ b/player/src/tests/cameraMicrophoneIdentificationBoxTest.cpp @@ -101,3 +101,5 @@ void CameraMicrophoneIdentificationBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(CameraMicrophoneIdentificationBoxTest) diff --git a/player/src/tests/certificateBoxTest.cpp b/player/src/tests/certificateBoxTest.cpp index 7aa2db0..85781ce 100644 --- a/player/src/tests/certificateBoxTest.cpp +++ b/player/src/tests/certificateBoxTest.cpp @@ -106,3 +106,5 @@ void CertificateBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(CertificateBoxTest) diff --git a/player/src/tests/certificateSSLTest.cpp b/player/src/tests/certificateSSLTest.cpp index de1e75a..cf518ae 100644 --- a/player/src/tests/certificateSSLTest.cpp +++ b/player/src/tests/certificateSSLTest.cpp @@ -144,3 +144,4 @@ void CertificateSSLTest::testCertProperties() QCOMPARE(cert.expiryDate().toUTC(), QDateTime(QDate(2007, 5, 17), QTime(7,40,26), Qt::UTC)); } +QTEST_MAIN(CertificateSSLTest) diff --git a/player/src/tests/compactSampleSizeBoxTest.cpp b/player/src/tests/compactSampleSizeBoxTest.cpp index 3ba7c75..741bcbb 100644 --- a/player/src/tests/compactSampleSizeBoxTest.cpp +++ b/player/src/tests/compactSampleSizeBoxTest.cpp @@ -190,3 +190,5 @@ void CompactSampleSizeBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(CompactSampleSizeBoxTest) diff --git a/player/src/tests/editListBoxTest.cpp b/player/src/tests/editListBoxTest.cpp index d702699..59c0409 100644 --- a/player/src/tests/editListBoxTest.cpp +++ b/player/src/tests/editListBoxTest.cpp @@ -248,3 +248,5 @@ void EditListBoxTest::fillData() data.push_back(EditListEntry(1, 2, 3, 4)); data.push_back(EditListEntry(1, 2, 3, 4)); } + +QTEST_MAIN(EditListBoxTest) diff --git a/player/src/tests/engineTest.cpp b/player/src/tests/engineTest.cpp deleted file mode 100644 index c1b6710..0000000 --- a/player/src/tests/engineTest.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/************************************************************************************ -* Copyright (c) 2013 ONVIF. -* All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of ONVIF nor the names of its contributors may be -* used to endorse or promote products derived from this software -* without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -************************************************************************************/ - -#include "engineTest.h" - -#include "types.h" - -EngineTest::EngineTest() -{ -} - -void EngineTest::testCalcTime() -{ - VideoFrame frame; - AVRational time_base; - time_base.num = 1; - time_base.den = 25; - frame.calcTime(0, 0, time_base); - QVERIFY(frame.m_time == 0); - frame.calcTime(AV_NOPTS_VALUE, AV_NOPTS_VALUE, time_base); - QVERIFY(frame.m_time == 0); - frame.calcTime(1, AV_NOPTS_VALUE, time_base); - QVERIFY(frame.m_time == 40); - frame.calcTime(AV_NOPTS_VALUE, 1, time_base); - QVERIFY(frame.m_time == 40); -} diff --git a/player/src/tests/engineTest.h b/player/src/tests/engineTest.h deleted file mode 100644 index aa1d0c1..0000000 --- a/player/src/tests/engineTest.h +++ /dev/null @@ -1,45 +0,0 @@ -/************************************************************************************ -* Copyright (c) 2013 ONVIF. -* All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of ONVIF nor the names of its contributors may be -* used to endorse or promote products derived from this software -* without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -************************************************************************************/ - -#ifndef ENGINETEST_H -#define ENGINETEST_H - -#include - -class EngineTest : public QObject -{ -private: - Q_OBJECT - -public: - EngineTest(); - -private Q_SLOTS: - void testCalcTime(); -}; - -#endif // ENGINETEST_H diff --git a/player/src/tests/mediaHeaderBoxTest.cpp b/player/src/tests/mediaHeaderBoxTest.cpp index 1223211..71bfa84 100644 --- a/player/src/tests/mediaHeaderBoxTest.cpp +++ b/player/src/tests/mediaHeaderBoxTest.cpp @@ -166,3 +166,18 @@ void MediaHeaderBoxTestLocal::localTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +// Note: This is equivalent to QTEST_APPLESS_MAIN for multiple test classes. +int main(int argc, char** argv) +{ + int status = 0; + { + MediaHeaderBoxTest32 tc; + status |= QTest::qExec(&tc, argc, argv); + } + { + MediaHeaderBoxTest64 tc; + status |= QTest::qExec(&tc, argc, argv); + } + return status; +} diff --git a/player/src/tests/movieExtendsHeaderBoxTest.cpp b/player/src/tests/movieExtendsHeaderBoxTest.cpp index a329063..ffc5015 100644 --- a/player/src/tests/movieExtendsHeaderBoxTest.cpp +++ b/player/src/tests/movieExtendsHeaderBoxTest.cpp @@ -234,3 +234,18 @@ void MovieExtendsHeaderBoxTest64::readingTest() QVERIFY(has_more_data == false); } #endif + +// Note: This is equivalent to QTEST_APPLESS_MAIN for multiple test classes. +int main(int argc, char** argv) +{ + int status = 0; + { + MovieExtendsHeaderBoxTest32 tc; + status |= QTest::qExec(&tc, argc, argv); + } + { + MovieExtendsHeaderBoxTest64 tc; + status |= QTest::qExec(&tc, argc, argv); + } + return status; +} diff --git a/player/src/tests/movieHeaderBoxTest.cpp b/player/src/tests/movieHeaderBoxTest.cpp index 177b49b..01011da 100644 --- a/player/src/tests/movieHeaderBoxTest.cpp +++ b/player/src/tests/movieHeaderBoxTest.cpp @@ -187,3 +187,18 @@ void MovieHeaderBoxTestLocal::localTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +// Note: This is equivalent to QTEST_APPLESS_MAIN for multiple test classes. +int main(int argc, char** argv) +{ + int status = 0; + { + MovieHeaderBoxTest32 tc; + status |= QTest::qExec(&tc, argc, argv); + } + { + MovieHeaderBoxTest64 tc; + status |= QTest::qExec(&tc, argc, argv); + } + return status; +} diff --git a/player/src/tests/sampleDependencyTypeBoxTest.cpp b/player/src/tests/sampleDependencyTypeBoxTest.cpp index e4ab2bd..81f84a2 100644 --- a/player/src/tests/sampleDependencyTypeBoxTest.cpp +++ b/player/src/tests/sampleDependencyTypeBoxTest.cpp @@ -142,3 +142,5 @@ void SampleDependencyTypeBoxTest::fillData() for(int i = 0; i < SHORT_DATA_SIZE; ++i) short_table_data.push_back(0); } + +QTEST_MAIN(SampleDependencyTypeBoxTest) diff --git a/player/src/tests/sampleSizeBoxTest.cpp b/player/src/tests/sampleSizeBoxTest.cpp index 0e783f9..eef36b2 100644 --- a/player/src/tests/sampleSizeBoxTest.cpp +++ b/player/src/tests/sampleSizeBoxTest.cpp @@ -159,3 +159,5 @@ void SampleSizeBoxTest::fillData() for(int i = 0; i < ROWS; ++i) data.push_back(SampleSizeEntry(i)); } + +QTEST_MAIN(SampleSizeBoxTest) diff --git a/player/src/tests/signatureBoxTest.cpp b/player/src/tests/signatureBoxTest.cpp index ec57b8d..119aef6 100644 --- a/player/src/tests/signatureBoxTest.cpp +++ b/player/src/tests/signatureBoxTest.cpp @@ -106,3 +106,5 @@ void SignatureBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(SignatureBoxTest) diff --git a/player/src/tests/signatureConfigurationBoxTest.cpp b/player/src/tests/signatureConfigurationBoxTest.cpp index e640bc5..90a5cb2 100644 --- a/player/src/tests/signatureConfigurationBoxTest.cpp +++ b/player/src/tests/signatureConfigurationBoxTest.cpp @@ -27,7 +27,7 @@ #include "signatureConfigurationBox.hpp" -#include "SignatureConfigurationBoxTest.h" +#include "signatureConfigurationBoxTest.h" SignatureConfigurationBoxTest::SignatureConfigurationBoxTest() { @@ -106,3 +106,5 @@ void SignatureConfigurationBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(SignatureConfigurationBoxTest) diff --git a/player/src/tests/surveillanceExportBoxTest.cpp b/player/src/tests/surveillanceExportBoxTest.cpp index 732ac3c..89b9283 100644 --- a/player/src/tests/surveillanceExportBoxTest.cpp +++ b/player/src/tests/surveillanceExportBoxTest.cpp @@ -25,7 +25,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ************************************************************************************/ -#include "SurveillanceExportBoxTest.h" +#include "surveillanceExportBoxTest.h" #include "surveillanceExportBox.hpp" @@ -221,3 +221,5 @@ void SurveillanceExportBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(SurveillanceExportBoxTest) diff --git a/player/src/tests/surveillanceMetadataSampleConfigBoxTest.cpp b/player/src/tests/surveillanceMetadataSampleConfigBoxTest.cpp index b0d79f9..ab4f32e 100644 --- a/player/src/tests/surveillanceMetadataSampleConfigBoxTest.cpp +++ b/player/src/tests/surveillanceMetadataSampleConfigBoxTest.cpp @@ -123,3 +123,4 @@ void SurveillanceMetadataSampleConfigBoxTest::readingTest() QVERIFY(has_more_data == false); } +QTEST_MAIN(SurveillanceMetadataSampleConfigBoxTest) diff --git a/player/src/tests/surveillanceMetadataSampleEntryBoxTest.cpp b/player/src/tests/surveillanceMetadataSampleEntryBoxTest.cpp index 8302eb7..0cd3fb8 100644 --- a/player/src/tests/surveillanceMetadataSampleEntryBoxTest.cpp +++ b/player/src/tests/surveillanceMetadataSampleEntryBoxTest.cpp @@ -31,8 +31,8 @@ void SurveillanceMetadataSampleEntryBoxTest::readingTest_data() FourCC fourCC = SurveillanceMetadataSampleEntryBox::getFourCC(); FourCC smscFourCC = SurveillanceMetadataSampleConfigBox::getFourCC(); - QVector short_table(1, 44789234ull), - long_table(58, 2347ull); + QVector short_table(1, uint64_t(44789234)), + long_table(58, uint64_t(2347)); BoxSize smsc_box_size( sizeof(uint8_t) ); BoxSize short_box_size_32( sizeof(uint32_t) + 2 * sizeof(uint16_t) + smsc_box_size.fullbox_size() + short_table.size() * sizeof(uint64_t) ), @@ -153,3 +153,5 @@ void SurveillanceMetadataSampleEntryBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(SurveillanceMetadataSampleEntryBoxTest) diff --git a/player/src/tests/trackFragmentHeaderBoxTest.cpp b/player/src/tests/trackFragmentHeaderBoxTest.cpp index ab52167..254eb2f 100644 --- a/player/src/tests/trackFragmentHeaderBoxTest.cpp +++ b/player/src/tests/trackFragmentHeaderBoxTest.cpp @@ -126,20 +126,20 @@ void TrackFragmentHeaderBoxTest::readingTest_data() { QTest::newRow(short_test_name.arg(prepare_flag_names(flags)).toLatin1().data()) << box_size.fullbox_size() << BoxSize::large_empty() << fourCC << version_zero << flag - << 4664u << 4234ull << 3247u << 24837u << 5345u << 23442u; + << uint32_t(4664) << uint64_t(4234) << uint32_t(3247) << uint32_t(24837) << uint32_t(5345) << uint32_t(23442); } else { QTest::newRow(long_test_name.arg(prepare_flag_names(flags)).toLatin1().data()) << BoxSize::empty() << box_size.fullbox_large_size() << fourCC << version_zero << flag - << 1u << 434ull << 247u << 432u << 0u << 7u; + << uint32_t(1) << uint64_t(434)<< uint32_t(247) << uint32_t(432) << uint32_t(0) << uint32_t(7); } short_test = !short_test; } QTest::newRow("Negative test: wrong FourCC code") << BoxSize(sizeof(uint32_t)).fullbox_size() << BoxSize::large_empty() << FourCC()<< version_zero << flag_empty - << 534u << 0ull << 0u << 0u << 0u << 0u; + << uint32_t(534) << uint64_t(0) << uint32_t(0) << uint32_t(0) << uint32_t(0) << uint32_t(0); } void TrackFragmentHeaderBoxTest::readingTest() @@ -259,3 +259,5 @@ void TrackFragmentHeaderBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(TrackFragmentHeaderBoxTest) diff --git a/player/src/tests/trackFragmentRandomAccessBoxTest.cpp b/player/src/tests/trackFragmentRandomAccessBoxTest.cpp index 83053e2..57f1335 100644 --- a/player/src/tests/trackFragmentRandomAccessBoxTest.cpp +++ b/player/src/tests/trackFragmentRandomAccessBoxTest.cpp @@ -175,19 +175,19 @@ void TrackFragmentRandomAccessBoxTest::readingTest_data() { QTest::newRow(short_test_name.arg(version_zero).arg(traf_size + 1).arg(trun_size + 1).arg(sample_size + 1).toLatin1().data()) << v0_size.fullbox_size() << BoxSize::large_empty() << fourCC << version_zero << flag - << 23u << traf_size << trun_size << sample_size << table; + << uint32_t(23) << traf_size << trun_size << sample_size << table; QTest::newRow(long_test_name.arg(version_one).arg(traf_size + 1).arg(trun_size + 1).arg(sample_size + 1).toLatin1().data()) << BoxSize::empty() << v1_size.fullbox_large_size() << fourCC << version_one << flag - << 65234u << traf_size << trun_size << sample_size << table; + << uint32_t(65234) << traf_size << trun_size << sample_size << table; } else { QTest::newRow(short_test_name.arg(version_one).arg(traf_size + 1).arg(trun_size + 1).arg(sample_size + 1).toLatin1().data()) << v1_size.fullbox_size() << BoxSize::large_empty() << fourCC << version_one << flag - << 23u << traf_size << trun_size << sample_size << table; + << uint32_t(23) << traf_size << trun_size << sample_size << table; QTest::newRow(long_test_name.arg(version_zero).arg(traf_size + 1).arg(trun_size + 1).arg(sample_size + 1).toLatin1().data()) << BoxSize::empty() << v0_size.fullbox_large_size() << fourCC << version_zero << flag - << 65234u << traf_size << trun_size << sample_size << table; + << uint32_t(65234) << traf_size << trun_size << sample_size << table; } } } @@ -195,7 +195,7 @@ void TrackFragmentRandomAccessBoxTest::readingTest_data() QTest::newRow("Negative test: wrong FourCC code") << BoxSize( 3 * sizeof(uint32_t) ).fullbox_size() << BoxSize::large_empty() << FourCC() << version_zero << flag - << 2353u << uint8_t(0) << uint8_t(0) << uint8_t(0) << TrackFragmentRandomAccessBox::TableType(); + << uint32_t(2353) << uint8_t(0) << uint8_t(0) << uint8_t(0) << TrackFragmentRandomAccessBox::TableType(); } void TrackFragmentRandomAccessBoxTest::readingTest() @@ -271,3 +271,5 @@ void TrackFragmentRandomAccessBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(TrackFragmentRandomAccessBoxTest) diff --git a/player/src/tests/trackHeaderBoxTest.cpp b/player/src/tests/trackHeaderBoxTest.cpp index 3d450b4..b755c48 100644 --- a/player/src/tests/trackHeaderBoxTest.cpp +++ b/player/src/tests/trackHeaderBoxTest.cpp @@ -44,19 +44,19 @@ void TrackHeaderBoxTest::readingTest_data() QTest::newRow("Positive test with 32 bit box size and version 0") << v0_size.fullbox_size() << BoxSize::large_empty() << fourCC << version_zero << flag - << datetime_write() << datetime_write() << 879u << 38638ull << int16_t(876) << int16_t(13) << int16_t(100) << matrix << 320u << 240u; + << datetime_write() << datetime_write() << uint32_t(879) << uint64_t(38638) << int16_t(876) << int16_t(13) << int16_t(100) << matrix << uint32_t(320) << uint32_t(240); QTest::newRow("Positive test with 32 bit box size and version 1") << v1_size.fullbox_size() << BoxSize::large_empty() << fourCC << version_one << flag - << datetime_write() << datetime_write() << 766u << 67385ull << int16_t(125) << int16_t(-713) << int16_t(0) << matrix << 799u << 599u; + << datetime_write() << datetime_write() << uint32_t(766) << uint64_t(67385) << int16_t(125) << int16_t(-713) << int16_t(0) << matrix << uint32_t(799) << uint32_t(599); QTest::newRow("Positive test with 64 bit box size and version 0") << BoxSize::empty() << v0_size.fullbox_large_size() << fourCC << version_zero << flag - << datetime_write() << datetime_write() << 12u << 6344ull << int16_t(5433) << int16_t(11233) << int16_t(30) << matrix << 1u << 1u; + << datetime_write() << datetime_write() << uint32_t(12) << uint64_t(6344) << int16_t(5433) << int16_t(11233) << int16_t(30) << matrix << uint32_t(1) << uint32_t(1); QTest::newRow("Positive test with 64 bit box size and version 1") << BoxSize::empty() << v1_size.fullbox_large_size() << fourCC << version_one << flag - << datetime_write() << datetime_write() << 87u << 54234ull << int16_t(534) << int16_t(-5653) << int16_t(-100) << matrix << 1280u << 240u; + << datetime_write() << datetime_write() << uint32_t(87) << uint64_t(54234) << int16_t(534) << int16_t(-5653) << int16_t(-100) << matrix << uint32_t(1280) << uint32_t(240); QTest::newRow("Negative test: wrong FourCC code") << v0_size.fullbox_size() << BoxSize::large_empty() << FourCC() << version_zero << flag - << datetime_write() << datetime_write() << 879u << 38638ull << int16_t(876) << int16_t(13) << int16_t(100) << matrix << 0u << 0u; + << datetime_write() << datetime_write() << uint32_t(879) << uint64_t(38638) << int16_t(876) << int16_t(13) << int16_t(100) << matrix << uint32_t(0) << uint32_t(0); } void TrackHeaderBoxTest::readingTest() @@ -171,3 +171,5 @@ void TrackHeaderBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(TrackHeaderBoxTest) diff --git a/player/src/tests/trackRunBoxTest.cpp b/player/src/tests/trackRunBoxTest.cpp index baa0210..fbf175a 100644 --- a/player/src/tests/trackRunBoxTest.cpp +++ b/player/src/tests/trackRunBoxTest.cpp @@ -138,7 +138,7 @@ void TrackRunBoxTest::readingTest_data() U_UInt24 flag_empty; flag_empty.m_value = 0; - TrackRunBox::TableType table(QVector(50, TrackRunEntry(89u, 3248u, 23489u, 0u)).toList()); + TrackRunBox::TableType table(QVector(50, TrackRunEntry(uint32_t(89), uint32_t(3248), uint32_t(23489), uint32_t(0))).toList()); FlagStateGenerator fsg; fsg.add(DataOffsetPresent).add(FirstSampleFlagsPresent).add(SampleDurationPresent).add(SampleSizePresent).add(SampleFlagsPresent).add(SampleCompositionTimeOffsetPresent); @@ -158,19 +158,19 @@ void TrackRunBoxTest::readingTest_data() { QTest::newRow(short_test_name.arg(prepare_flag_names(flags)).toLatin1().data()) << box_size.fullbox_size() << BoxSize::large_empty() << fourCC << version_zero << flag - << 4234 << 3247u << table; + << 4234 << uint32_t(3247) << table; } else { QTest::newRow(long_test_name.arg(prepare_flag_names(flags)).toLatin1().data()) << BoxSize::empty() << box_size.fullbox_large_size() << fourCC << version_zero << flag - << -434 << 247u << table; + << -434 << uint32_t(247) << table; } short_test = !short_test; } QTest::newRow("Negative test: wrong FourCC code") << BoxSize(sizeof(uint32_t)).fullbox_size() << BoxSize::large_empty() << FourCC()<< version_zero << flag_empty - << 0 << 0u << table; + << 0 << uint32_t(0) << table; } void TrackRunBoxTest::readingTest() @@ -259,3 +259,5 @@ void TrackRunBoxTest::readingTest() QVERIFY(Box::SizeOk == box->getSizeError()); QVERIFY(has_more_data == false); } + +QTEST_MAIN(TrackRunBoxTest) diff --git a/setup/README.md b/setup/README.md index b3d0785..97dd7d1 100644 --- a/setup/README.md +++ b/setup/README.md @@ -12,9 +12,9 @@ Make sure that you added all required binaries to the "input" folder: * player executable; * Qt libraries with 'platforms' subfolder (can be found in plugins folder); -* FFMpeg dlls; -* PortAudio dll; * OpenSLL dlls; +* FFMpeg dlls; +* GStreamer dll; Check: You can verify that all files are added if you can start player executable from 'input' folder successfully. diff --git a/setup/VC_redist.x64.exe b/setup/VC_redist.x64.exe new file mode 100644 index 0000000..9ea4955 Binary files /dev/null and b/setup/VC_redist.x64.exe differ diff --git a/setup/setup_MinGW.iss b/setup/setup_MinGW.iss index f61f3c4..db6cb0b 100644 --- a/setup/setup_MinGW.iss +++ b/setup/setup_MinGW.iss @@ -1,34 +1,32 @@ -;/************************************************************************************ -;* Copyright (c) 2013 ONVIF. -;* All rights reserved. -;* -;* Redistribution and use in source and binary forms, with or without -;* modification, are permitted provided that the following conditions are met: -;* * Redistributions of source code must retain the above copyright -;* notice, this list of conditions and the following disclaimer. -;* * Redistributions in binary form must reproduce the above copyright -;* notice, this list of conditions and the following disclaimer in the -;* documentation and/or other materials provided with the distribution. -;* * Neither the name of ONVIF nor the names of its contributors may be -;* used to endorse or promote products derived from this software -;* without specific prior written permission. -;* -;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -;* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, -;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -;* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -;* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;************************************************************************************/ - -#define NormalSetup - -#define MinGW - -#include "setup_private.iss" - - +;/************************************************************************************ +;* Copyright (c) 2013 ONVIF. +;* All rights reserved. +;* +;* Redistribution and use in source and binary forms, with or without +;* modification, are permitted provided that the following conditions are met: +;* * Redistributions of source code must retain the above copyright +;* notice, this list of conditions and the following disclaimer. +;* * Redistributions in binary form must reproduce the above copyright +;* notice, this list of conditions and the following disclaimer in the +;* documentation and/or other materials provided with the distribution. +;* * Neither the name of ONVIF nor the names of its contributors may be +;* used to endorse or promote products derived from this software +;* without specific prior written permission. +;* +;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +;* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +;* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +;* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, +;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +;* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +;* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +;* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +;* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +;************************************************************************************/ + +#define NormalSetup + +#define MinGW + +#include "setup_private.iss" \ No newline at end of file diff --git a/setup/setup_VS.iss b/setup/setup_VS.iss index 01b0173..6a56e4a 100644 --- a/setup/setup_VS.iss +++ b/setup/setup_VS.iss @@ -1,35 +1,32 @@ -;/************************************************************************************ -;* Copyright (c) 2013 ONVIF. -;* All rights reserved. -;* -;* Redistribution and use in source and binary forms, with or without -;* modification, are permitted provided that the following conditions are met: -;* * Redistributions of source code must retain the above copyright -;* notice, this list of conditions and the following disclaimer. -;* * Redistributions in binary form must reproduce the above copyright -;* notice, this list of conditions and the following disclaimer in the -;* documentation and/or other materials provided with the distribution. -;* * Neither the name of ONVIF nor the names of its contributors may be -;* used to endorse or promote products derived from this software -;* without specific prior written permission. -;* -;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -;* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, -;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -;* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -;* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;************************************************************************************/ - -#define NormalSetup - -#define VS - -#include "setup_private.iss" - - - +;/************************************************************************************ +;* Copyright (c) 2013 ONVIF. +;* All rights reserved. +;* +;* Redistribution and use in source and binary forms, with or without +;* modification, are permitted provided that the following conditions are met: +;* * Redistributions of source code must retain the above copyright +;* notice, this list of conditions and the following disclaimer. +;* * Redistributions in binary form must reproduce the above copyright +;* notice, this list of conditions and the following disclaimer in the +;* documentation and/or other materials provided with the distribution. +;* * Neither the name of ONVIF nor the names of its contributors may be +;* used to endorse or promote products derived from this software +;* without specific prior written permission. +;* +;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +;* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +;* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +;* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, +;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +;* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +;* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +;* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +;* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +;************************************************************************************/ + +#define NormalSetup + +#define VS + +#include "setup_private.iss" \ No newline at end of file diff --git a/setup/setup_private.iss b/setup/setup_private.iss index 5bf8b2d..00856c2 100644 --- a/setup/setup_private.iss +++ b/setup/setup_private.iss @@ -1,81 +1,82 @@ -;/************************************************************************************ -;* Copyright (c) 2013 ONVIF. -;* All rights reserved. -;* -;* Redistribution and use in source and binary forms, with or without -;* modification, are permitted provided that the following conditions are met: -;* * Redistributions of source code must retain the above copyright -;* notice, this list of conditions and the following disclaimer. -;* * Redistributions in binary form must reproduce the above copyright -;* notice, this list of conditions and the following disclaimer in the -;* documentation and/or other materials provided with the distribution. -;* * Neither the name of ONVIF nor the names of its contributors may be -;* used to endorse or promote products derived from this software -;* without specific prior written permission. -;* -;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -;* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, -;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -;* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -;* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;************************************************************************************/ - -#ifndef NormalSetup - #error You should not execute this file directly. Call one of the custom specific setup files to build a setup (MinGW or VS) -#endif - -[Setup] -AppName = ONVIFPlayer -AppVersion = 2.0 beta -DefaultDirName = {pf}\ONVIF\ONVIFPlayer -DefaultGroupName = ONVIFPlayer -LicenseFile = license.txt -OutputDir = output -OutputBaseFilename = ONVIFPlayerSetup -SetupIconFile = setup.ico - -[Files] -; exe -Source: "input/ONVIFPlayer.exe"; DestDir: "{app}" -; dlls -; Qt -Source: "input/Qt*.dll"; DestDir: "{app}" -Source: "input/plugins/platforms/*.*"; DestDir: "{app}/plugins/platforms" -#ifdef MinGW -Source: "input/D3DCompiler_*.dll"; DestDir: "{app}" -#endif -; FFMpeg -Source: "input/av*.dll"; DestDir: "{app}" -Source: "input/sw*.dll"; DestDir: "{app}" -#ifdef MinGW -; MinGW -Source: "input/libgcc_s_sjlj-1.dll"; DestDir: "{app}" -Source: "input/libstdc++-6.dll"; DestDir: "{app}" -Source: "input/libwinpthread-1.dll"; DestDir: "{app}" -#endif -; PortAudio -Source: "input/portaudio*.dll"; DestDir: "{app}" -; OpenSSL -Source: "input/libeay32.dll"; DestDir: "{app}" -Source: "input/ssleay32.dll"; DestDir: "{app}" -;Licenses -Source: "license.txt"; DestDir: "{app}" - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}" - -[Icons] -Name: "{group}\ONVIFPlayer"; Filename: "{app}\ONVIFPlayer.exe"; WorkingDir: "{app}" -Name: "{commondesktop}\ONVIFPlayer"; Filename: "{app}\ONVIFPlayer.exe"; WorkingDir: "{app}"; Tasks: desktopicon -Name: "{group}\Uninstall ONVIFPlayer"; Filename: "{uninstallexe}"; WorkingDir: "{app}" - -[Run] -Filename: "{app}\ONVIFPlayer.exe"; Flags: postinstall nowait - - - +;/************************************************************************************ +;* Copyright (c) 2013 ONVIF. +;* All rights reserved. +;* +;* Redistribution and use in source and binary forms, with or without +;* modification, are permitted provided that the following conditions are met: +;* * Redistributions of source code must retain the above copyright +;* notice, this list of conditions and the following disclaimer. +;* * Redistributions in binary form must reproduce the above copyright +;* notice, this list of conditions and the following disclaimer in the +;* documentation and/or other materials provided with the distribution. +;* * Neither the name of ONVIF nor the names of its contributors may be +;* used to endorse or promote products derived from this software +;* without specific prior written permission. +;* +;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +;* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +;* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +;* DISCLAIMED. IN NO EVENT SHALL ONVIF BE LIABLE FOR ANY DIRECT, INDIRECT, +;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +;* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +;* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +;* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +;* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +;************************************************************************************/ + +#ifndef NormalSetup + #error You should not execute this file directly. Call one of the custom specific setup files to build a setup (MinGW or VS) +#endif + +[Setup] +AppName = ONVIFPlayer +AppVersion = 2.0 beta +DefaultDirName = {pf}\ONVIF\ONVIFPlayer +DefaultGroupName = ONVIFPlayer +LicenseFile = license.txt +OutputDir = output +OutputBaseFilename = ONVIFPlayerSetup +SetupIconFile = setup.ico + +[Files] +; exe +Source: "input/ONVIFPlayer.exe"; DestDir: "{app}" +; dlls +#ifdef MinGW +Source: "input/D3DCompiler_*.dll"; DestDir: "{app}" +Source: "input/libgcc_s_sjlj-1.dll"; DestDir: "{app}" +Source: "input/libstdc++-6.dll"; DestDir: "{app}" +Source: "input/libwinpthread-1.dll"; DestDir: "{app}" +#endif +#ifdef VS +Source: "VC_redist.x64.exe"; DestDir: "{tmp}" +#endif +; Qt +Source: "input/Qt*.dll"; DestDir: "{app}" +Source: "input/plugins/platforms/*.*"; DestDir: "{app}/platforms" +; FFMpeg +Source: "input/av*.dll"; DestDir: "{app}" +Source: "input/sw*.dll"; DestDir: "{app}" +; OpenSSL +Source: "input/libcrypto*.dll"; DestDir: "{app}" +Source: "input/libssl*.dll"; DestDir: "{app}" +;Licenses +Source: "license.txt"; DestDir: "{app}" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}" + +[Icons] +Name: "{group}\ONVIFPlayer"; Filename: "{app}\ONVIFPlayer.exe"; WorkingDir: "{app}" +Name: "{commondesktop}\ONVIFPlayer"; Filename: "{app}\ONVIFPlayer.exe"; WorkingDir: "{app}"; Tasks: desktopicon +Name: "{group}\Uninstall ONVIFPlayer"; Filename: "{uninstallexe}"; WorkingDir: "{app}" + +[Run] +#ifdef VS +Filename: "{tmp}\VC_redist.x64.exe"; Parameters: "/quiet"; Flags: waituntilterminated +#endif +Filename: "{app}\ONVIFPlayer.exe"; Flags: postinstall nowait + + +