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)
+
+
+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
@@ -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
+
+
+