initial code for public 88/261988/3
authorEunhye Choi <eunhae1.choi@samsung.com>
Fri, 30 Jul 2021 06:16:55 +0000 (15:16 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Tue, 3 Aug 2021 07:11:22 +0000 (16:11 +0900)
Change-Id: Iea46814086282bec90323a22984b14c2ef174716

241 files changed:
CMakeLists.txt [changed mode: 0755->0644]
README.md [deleted file]
build.sh [deleted file]
docs/class_diagram/adapter/bms_avplayer_player_adapter(1).plantuml [deleted file]
docs/class_diagram/adapter/bms_avplayer_player_adapter(1).png [deleted file]
docs/class_diagram/adapter/bms_avplayer_player_adapter(2).plantuml [deleted file]
docs/class_diagram/adapter/bms_avplayer_player_adapter(2).png [deleted file]
docs/class_diagram/adapter/trackrenderer_adapter.plantuml [deleted file]
docs/class_diagram/adapter/webapi_avplay_player_adapter.plantuml [deleted file]
docs/class_diagram/adapter/webapi_avplay_player_adapter.png [deleted file]
docs/class_diagram/adapter/webmedia_mse_eme.plantuml [deleted file]
docs/class_diagram/bmservice_drmmanager_plusplayer.plantuml [deleted file]
docs/class_diagram/details/defaultplayer.plantuml [deleted file]
docs/class_diagram/details/trackrenderer.plantuml [deleted file]
docs/class_diagram/details/tracksource_compositor.plantuml [deleted file]
docs/class_diagram/esplusplayer.plantuml [deleted file]
docs/class_diagram/plusplayer.plantuml [deleted file]
docs/class_diagram/plusplayer.png [deleted file]
docs/class_diagram/plusplayer_simple.plantuml [deleted file]
docs/coding_rule.md [deleted file]
docs/dot_graph/plusplayer_renderer_start.png [deleted file]
docs/dot_graph/plusplayer_renderer_stop.png [deleted file]
docs/dot_graph/plusplayer_src_start.png [deleted file]
docs/dot_graph/plusplayer_src_stop.png [deleted file]
docs/downloadable/class_diagram.plantuml [deleted file]
docs/downloadable/version_control.plantuml [deleted file]
docs/downloadable/version_control_sequence.plantuml [deleted file]
docs/gtest_guide.md [deleted file]
docs/module_view/libav-common.plantuml [deleted file]
docs/module_view/uses_view.plantuml [deleted file]
docs/module_view/uses_view.png [deleted file]
docs/plusplayer_guide.md [deleted file]
docs/reference/PlantUML_Language_Reference_Guide.pdf [deleted file]
docs/sequence_activity_diagram/avplusplayer_adapter/avplusplayer_adapter_sequence_diagram.plantuml [deleted file]
docs/sequence_activity_diagram/dash_drm_playback/dash_drm_playback_base_flow_1.plantuml [deleted file]
docs/sequence_activity_diagram/source_change/source_change_base_flow_1.plantuml [deleted file]
docs/sequence_activity_diagram/trackrenderer_adapter/trackrenderer_adapter.plantuml [deleted file]
docs/sequence_activity_diagram/tracksource/tracksource_alternative_flow_1.plantuml [deleted file]
docs/sequence_activity_diagram/tracksource/tracksource_base_flow_1.plantuml [deleted file]
docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_1.plantuml [deleted file]
docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_2.plantuml [deleted file]
docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_3.plantuml [deleted file]
docs/sequence_activity_diagram/tvplus_update_activity_diagram/risk_management_lib_api_validation.plantuml [deleted file]
docs/sequence_activity_diagram/tvplus_update_activity_diagram/update_procedure.plantuml [deleted file]
docs/sequence_activity_diagram/tvplusplusplayerhelper/tvplusplusplayerhelper_sequence_diagram.plantuml [deleted file]
docs/state_diagram/plusplayer_internal_state_diagram.png [deleted file]
docs/state_diagram/state_diagram.plantuml [deleted file]
docs/state_diagram/state_diagram_v2_substatemachine.plantuml [deleted file]
include/esplusplayer_capi/buffer.h [changed mode: 0755->0644]
include/esplusplayer_capi/display.h [changed mode: 0755->0644]
include/esplusplayer_capi/esplusplayer_capi.h [changed mode: 0755->0644]
include/esplusplayer_capi/esplusplayer_internal.h [changed mode: 0755->0644]
include/esplusplayer_capi/latency.h [deleted file]
include/esplusplayer_capi/stream.h [changed mode: 0755->0644]
include/esplusplayer_capi/submitdatatype.h
include/mixer/decodedvideoinfo.h [deleted file]
include/mixer/mixer.h [deleted file]
include/mixer/mixer_eventlistener.h [deleted file]
include/mixer/mixerticket.h [deleted file]
include/mixer/mixerticket_eventlistener.h [deleted file]
include/mixer_capi/display.h [deleted file]
include/mixer_capi/error.h [deleted file]
include/mixer_capi/mixer_capi.h [deleted file]
include/plusplayer/attribute.h [changed mode: 0755->0644]
include/plusplayer/audioeasinginfo.h [deleted file]
include/plusplayer/decodedvideopacketex.h [deleted file]
include/plusplayer/drm.h [changed mode: 0755->0644]
include/plusplayer/es_eventlistener.h [changed mode: 0755->0644]
include/plusplayer/esplusplayer.h [changed mode: 0755->0644]
include/plusplayer/track.h [changed mode: 0755->0644]
include/plusplayer/types/buffer.h [changed mode: 0755->0644]
include/plusplayer/types/display.h [changed mode: 0755->0644]
include/plusplayer/types/error.h
include/plusplayer/types/latency.h [deleted file]
include/plusplayer/types/picturequality.h [deleted file]
include/plusplayer/types/resource.h [deleted file]
include/plusplayer/types/source.h
out/docs/class_diagram/adapter/bms_avplayer_player_adapter(1)/bms_avplayer_player_adapter(1).png [deleted file]
out/docs/class_diagram/adapter/bms_avplayer_player_adapter(2)/bms_avplayer_player_adapter(2).png [deleted file]
out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter-TO-BE page 1.png [deleted file]
out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter-TO-BE page 2.png [deleted file]
out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter.png [deleted file]
out/docs/class_diagram/bmservice_drmmanager_plusplayer/bmservice_drmmanager_plusplayer.png [deleted file]
out/docs/class_diagram/details/defaultplayer/DefaultPlayer.png [deleted file]
out/docs/class_diagram/details/trackrenderer/TrackRenderer.png [deleted file]
out/docs/class_diagram/details/tracksource_compositor/TrackSource & Compositor.png [deleted file]
out/docs/class_diagram/esplusplayer/esplusplayer.png [deleted file]
out/docs/class_diagram/plusplayer/plusplayer.png [deleted file]
out/docs/class_diagram/plusplayer_simple/plusplayer_simple.png [deleted file]
out/docs/downloadable/version_control_sequence/tvplus case(1) dynamic loading page 1.png [deleted file]
out/docs/downloadable/version_control_sequence/tvplus case(1) dynamic loading page 2.png [deleted file]
out/docs/downloadable/version_control_sequence/tvplus case1) dynamic loading page 1.png [deleted file]
out/docs/downloadable/version_control_sequence/tvplus case1) dynamic loading page 2.png [deleted file]
out/docs/module_view/libav-common/reduced downloadable module size by libav-common dash hls http streaming module 9M to 4.5M.png [deleted file]
out/docs/module_view/uses_view/module view uses view.png [deleted file]
out/docs/sequence_activity_diagram/source_change/source_change_base_flow_1/source_change_base_flow_1.png [deleted file]
out/docs/sequence_activity_diagram/tracksource/tracksource_alternative_flow_1/tracksource_alternative_flow_1.png [deleted file]
out/docs/sequence_activity_diagram/tracksource/tracksource_base_flow_1/tracksource_base_flow_1.png [deleted file]
out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_1/tracksource_exception_flow_1.png [deleted file]
out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_2/tracksource_exception_flow_2.png [deleted file]
out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_3/tracksource_exception_flow_3.png [deleted file]
out/docs/sequence_activity_diagram/tvplus_update_activity_diagram/risk_management_lib_api_validation/risk_management_lib_api_validation.png [deleted file]
out/docs/sequence_activity_diagram/tvplus_update_activity_diagram/update_procedure/TVPlus Player update process.png [deleted file]
out/docs/state_diagram/state_diagram/plusplayer_internal_state_diagram.png [deleted file]
out/docs/state_diagram/state_diagram_v2_substatemachine/plusplayer_internal_state_diagram.png [deleted file]
packaging/esplusplayer.spec [changed mode: 0755->0644]
src/CMakeLists.txt [changed mode: 0755->0644]
src/esplusplayer/CMakeLists.txt [changed mode: 0755->0644]
src/esplusplayer/include_internal/esplayer/decoded_pkt_list.h [changed mode: 0755->0644]
src/esplusplayer/include_internal/esplayer/esplayer.h [changed mode: 0755->0644]
src/esplusplayer/include_internal/esplayer/message.hpp [changed mode: 0755->0644]
src/esplusplayer/src/espacket_logger.cpp [changed mode: 0755->0644]
src/esplusplayer/src/esplayer.cpp [changed mode: 0755->0644]
src/esplusplayer/src/esplusplayer_capi.cpp [changed mode: 0755->0644]
src/mixer/CMakeLists.txt [deleted file]
src/mixer/include_internal/mixer/abs_videoframe.h [deleted file]
src/mixer/include_internal/mixer/defaultmixer.h [deleted file]
src/mixer/include_internal/mixer/interfaces/accessiblebuffer.h [deleted file]
src/mixer/include_internal/mixer/interfaces/bufferobject.h [deleted file]
src/mixer/include_internal/mixer/interfaces/memoryallocator.h [deleted file]
src/mixer/include_internal/mixer/interfaces/phyaddraccessor.h [deleted file]
src/mixer/include_internal/mixer/interfaces/renderableobj_factory.h [deleted file]
src/mixer/include_internal/mixer/interfaces/renderableobject.h [deleted file]
src/mixer/include_internal/mixer/interfaces/videoplanecollection.h [deleted file]
src/mixer/include_internal/mixer/interfaces/videoplanecolorfiller.h [deleted file]
src/mixer/include_internal/mixer/interfaces/videoplanecopier.h [deleted file]
src/mixer/include_internal/mixer/interfaces/videoplanemanipulable.h [deleted file]
src/mixer/include_internal/mixer/interfaces/videoplanemanipulator.h [deleted file]
src/mixer/include_internal/mixer/interfaces/videoplanescaler.h [deleted file]
src/mixer/include_internal/mixer/mixedframe.h [deleted file]
src/mixer/include_internal/mixer/renderer.h [deleted file]
src/mixer/include_internal/mixer/rendererwithdoublebuf.h [deleted file]
src/mixer/include_internal/mixer/sys/tbminterface.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizenaccessiblebufferobj.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizenbufferkeyvideoframe.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizenbuffermgr.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizenbufferobj.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizenbufferphyaddraccessor.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizendefaultphyaddraccessor.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizenhwbufferobj.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizenhwvideoframe.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizenrenderableobj_factory.h [deleted file]
src/mixer/include_internal/mixer/tizen/tizensurfacevideoframe.h [deleted file]
src/mixer/include_internal/mixer/types/buffertype.h [deleted file]
src/mixer/include_internal/mixer/types/planecomponent.h [deleted file]
src/mixer/include_internal/mixer/types/videoplanemanipinfo.h [deleted file]
src/mixer/include_internal/mixer/types/videoplanemoveinfo.h [deleted file]
src/mixer/include_internal/mixer/videoplane.h [deleted file]
src/mixer/src/abs_videoframe.cpp [deleted file]
src/mixer/src/defaultmixer.cpp [deleted file]
src/mixer/src/mixedframe.cpp [deleted file]
src/mixer/src/mixer.cpp [deleted file]
src/mixer/src/mixer_capi.cpp [deleted file]
src/mixer/src/renderer.cpp [deleted file]
src/mixer/src/sys/tbminterface.cpp [deleted file]
src/mixer/src/tizen/tizenaccessiblebufferobj.cpp [deleted file]
src/mixer/src/tizen/tizenbufferkeyvideoframe.cpp [deleted file]
src/mixer/src/tizen/tizendefaultphyaddraccessor.cpp [deleted file]
src/mixer/src/tizen/tizenhwbufferobj.cpp [deleted file]
src/mixer/src/tizen/tizenhwvideoframe.cpp [deleted file]
src/mixer/src/tizen/tizenrenderableobj_factory.cpp [deleted file]
src/mixer/src/tizen/tizensurfacevideoframe.cpp [deleted file]
src/mixer/src/videoplane.cpp [deleted file]
src/plusplayer-core/Build/appendix.mk [deleted file]
src/plusplayer-core/Build/basedef.mk [deleted file]
src/plusplayer-core/Build/build_c.mk [deleted file]
src/plusplayer-core/Build/build_edc.mk [deleted file]
src/plusplayer-core/Build/build_po.mk [deleted file]
src/plusplayer-core/Build/flags.mk [deleted file]
src/plusplayer-core/Build/funcs.mk [deleted file]
src/plusplayer-core/Build/makefile [deleted file]
src/plusplayer-core/Build/makefile.mk [deleted file]
src/plusplayer-core/Build/platform.mk [deleted file]
src/plusplayer-core/Build/tooldef.mk [deleted file]
src/plusplayer-core/CMakeLists.txt [changed mode: 0755->0644]
src/plusplayer-core/build_def.prop [deleted file]
src/plusplayer-core/include_internal/core/decodedvideorawmodepacket.h [deleted file]
src/plusplayer-core/include_internal/core/decoderinputbuffer.h [changed mode: 0755->0644]
src/plusplayer-core/include_internal/core/gst_utils.h [changed mode: 0755->0644]
src/plusplayer-core/include_internal/core/kpi.h [deleted file]
src/plusplayer-core/include_internal/core/trackrendereradapter.h [changed mode: 0755->0644]
src/plusplayer-core/include_internal/core/trackrendereradapter_utils.h [changed mode: 0755->0644]
src/plusplayer-core/include_internal/core/utils/base64.h [deleted file]
src/plusplayer-core/include_internal/core/utils/caf_logger.h [deleted file]
src/plusplayer-core/include_internal/core/utils/performance_checker.h
src/plusplayer-core/include_internal/core/utils/plusplayer_cfg.h
src/plusplayer-core/include_internal/core/utils/plusplayer_log.h [changed mode: 0755->0644]
src/plusplayer-core/include_internal/core/videoframetypestrategy.h [deleted file]
src/plusplayer-core/project_def.prop [deleted file]
src/plusplayer-core/src/base64.cpp [deleted file]
src/plusplayer-core/src/caf_logger.cpp [deleted file]
src/plusplayer-core/src/decodedvideopacketex.cpp [deleted file]
src/plusplayer-core/src/gst_utils.cpp [changed mode: 0755->0644]
src/plusplayer-core/src/gstsignal_holder.cpp [changed mode: 0755->0644]
src/plusplayer-core/src/kpi.cpp [deleted file]
src/plusplayer-core/src/plusplayer_cfg.cpp [changed mode: 0755->0644]
src/plusplayer-core/src/track_util.cpp [changed mode: 0755->0644]
src/plusplayer-core/src/trackrendereradapter.cpp [changed mode: 0755->0644]
src/plusplayer-core/src/trackrendereradapter_utils.cpp [changed mode: 0755->0644]
src/plusplayer-core/src/videoframetypestrategy.cpp [deleted file]
tomato/tc/TCList.dat [deleted file]
tomato/tc/testfarm_script.xml [deleted file]
tomato/tc/unit_test/ut_esplusplayer_all.xml [deleted file]
ut/CMakeLists.txt [changed mode: 0755->0644]
ut/README.md [deleted file]
ut/include/esplusplayer/esreader.hpp [changed mode: 0755->0644]
ut/include/esplusplayer/tclist.h [changed mode: 0755->0644]
ut/include/mixer/constant.h [deleted file]
ut/include/mixer/matcher.h [deleted file]
ut/include/mixer/mock/fakebuffer.h [deleted file]
ut/include/mixer/mock/mock_bufferobject.h [deleted file]
ut/include/mixer/mock/mock_memallocator.h [deleted file]
ut/include/mixer/mock/mock_phyaddraccessor.h [deleted file]
ut/include/mixer/mock/mock_renderableobj.h [deleted file]
ut/include/mixer/mock/mock_renderableobj_factory.h [deleted file]
ut/include/mixer/mock/mock_renderer_evtlistener.h [deleted file]
ut/include/mixer/mock/mock_vpcollection.h [deleted file]
ut/include/mixer/mock/mock_vpmanipulator.h [deleted file]
ut/include/mixer/mock/mock_vpscaler.h [deleted file]
ut/include/mixer/mock/movable.h [deleted file]
ut/include/mixer/mock/moveobj_wrapper.h [deleted file]
ut/include/plusplayer/imagesimilarity.h [deleted file]
ut/include/plusplayer/utility.h [changed mode: 0755->0644]
ut/include/streamreader.hpp [changed mode: 0755->0644]
ut/src/esplusplayer/ut_basic.cpp [changed mode: 0755->0644]
ut/src/mixer/constant.cpp [deleted file]
ut/src/mixer/matcher.cpp [deleted file]
ut/src/mixer/ut_espp_mixerscenario.cpp [deleted file]
ut/src/mixer/ut_mixedframe.cpp [deleted file]
ut/src/mixer/ut_mixer.cpp [deleted file]
ut/src/mixer/ut_mixer_capi.cpp [deleted file]
ut/src/mixer/ut_mixer_espp_capi.cpp [deleted file]
ut/src/mixer/ut_mixerscenario.cpp [deleted file]
ut/src/mixer/ut_mixerticket.cpp [deleted file]
ut/src/mixer/ut_renderer.cpp [deleted file]
ut/src/mixer/ut_tizenbuffermgr.cpp [deleted file]
ut/src/mixer/ut_tizenbufferobj.cpp [deleted file]
ut/src/mixer/ut_videoplane.cpp [deleted file]
ut/src/plusplayer/imagesimilarity.cpp [deleted file]
ut/src/plusplayer/utility.cpp [changed mode: 0755->0644]
ut/src/ut_main.cpp

old mode 100755 (executable)
new mode 100644 (file)
index 135c035..4db5356
@@ -4,8 +4,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
 PROJECT(esplusplayer)
 SET(description "new multimedia player, object-oriented model")
 SET(PC_NAME "esplusplayer")
-SET(PC_LDFLAGS "-lesplusplayer -lmixer")
-SET(PC_CFLAGS "-I/usr/include/esplusplayer_capi -I/usr/include/mixer")
+SET(PC_LDFLAGS "-lesplusplayer")
+SET(PC_CFLAGS "-I/usr/include/esplusplayer_capi")
 
 SET(INC_DIR ${PROJECT_SOURCE_DIR}/include/)
 INCLUDE_DIRECTORIES(${INC_DIR})
diff --git a/README.md b/README.md
deleted file mode 100755 (executable)
index 12c8421..0000000
--- a/README.md
+++ /dev/null
@@ -1,74 +0,0 @@
-# **PlusPlayer** #\r
-  PlusPlayer is a new multimedia player object-oriented designed.\r
-\r
-## Notice \r
-  * 18_Plusplayer\r
-    - SW High Level Design doc.\r
-\r
-## Goals ##\r
-  * Improve maintainability / extensibility / reusability\r
-    - object oriented design\r
-    - separate the modules into high-variation part and low-variation part\r
-    - decoupling between each streaming services\r
-  * Simplification\r
-    - simplified pipeline , creates static pipeline\r
-  * Easy to upgrade\r
-    - support downloadable features (planned)\r
-\r
-## Architecture Design ##\r
-  * PlusPlayer consists of TypeFinder / TrackSource / TrackRenderer / DefaultPlayer objects.\r
-    * TypeFinder\r
-      - Probing source type by inspecting probing data\r
-      - use gstreamer typefinder plugin\r
-    * TrackSource\r
-      - Fetching data from server , demuxing , controling demuxed packet buffers\r
-      - a pipeline consists of `src - typefinder - demuxer - multiqueue - inputselector - fakesink`\r
-        - plz refer to `${plusplayer_workspace}/docs/dot/plusplayer_src_start.png`\r
-    * TrackRenderer\r
-      - maintains a pipeline consists of `appsrc - omx - sink` elements\r
-        - plz refer to `${plusplayer_workspace}/docs/dot/plusplayer_renderer_start.png`\r
-  * Class diagram\r
-    * ${plusplayer_workspace}/docs/class_diagram.plantuml\r
-    * or you can directly download it from [class_diagram.plantuml]\r
-\r
-## Development ##\r
-  * GitHub Project :\r
-    * All the milestones / activities (Codes , CodeReview , Design , Issues , etc) are being uploaded here\r
-  * Codereview on Github\r
-    - Each Developers should fork master branch and work on their own forked project.\r
-    - developer should submit pull-request to apply their changes\r
-      * all developers must sync their forked project with the latest master prior to sumit pull-request. so that we can avoid merge conflicts.\r
-    - everyone can join the codereviews\r
-  * the coding style follows Google C++ coding style guide. refer to [CODING STYLE](### coding-style)\r
-  * Test Driven Development (use gtest - plusplayer_ut -for their implementation and verifications)\r
-\r
-#### GTest guide ####\r
-  * To write Unit test case for PlusPlayer\r
-    * docs/gtest_guide.md\r
-    * Check Reference section of above link for more detailed documents.\r
-    * example\r
-    ```\r
-    sh-3.2# plusplayer_ut --gtest_filter="AvPlusPlayerTest.play"\r
-    ```\r
-\r
-#### Coding Rule Check ####\r
-  * check your coding style using **cpplint.py** before uploading your codes\r
-    > e.g) $ **cpplint.py** cpp_style_test.cpp\r
-  * Or check your coding style and fix your codes automatically using **clang-format**\r
-    > e.g) $ **clang-format-3.4** cpp_style_test.cpp -style=google **-i**  \r
-\r
-#### Build ####\r
-  > 1. Clone or Download plusplayer package.\r
-  > 2. $ gbs -c ~/gbsconf/gbs_3_0.conf  build -A armv7l --include-all --clean -B ~/GBS_ROOT_PLUSPLAYER  \r
-\r
-#### Understanding the codes ####\r
- to understand PlusPlayer concept quickly\r
- plz refer to \r
-  - ${plusplayer_workspace}/ut/porting/webapi-plugins-avplay/src/avplusplayer.cc/h  \r
-  - ${plusplayer_workspace}/src/player/defaultplayer.cpp/h\r
-  - ${plusplayer_workspace}/docs/class_diagram.txt\r
-\r
-#### CODING STYLE ####\r
-  'Google C++ Style Guide' based coding.  \r
-  > Translated(Korean)\r
-  > Original(English): [https://google.github.io/styleguide/cppguide.html](https://google.github.io/styleguide/cppguide.html)\r
diff --git a/build.sh b/build.sh
deleted file mode 100755 (executable)
index 83d83cc..0000000
--- a/build.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-export BMS_SERVICE_DIR=~/bms-service\r
-\r
-#rm -f ./*build.log\r
-tizen clean -- ./src/plusplayer-core\r
-tizen clean -- ./src/tracksource\r
-tizen clean -- ./src/plusplayer\r
-\r
-#Debug mode\r
-#tizen build-native -C Debug -a arm  -- ./plusplayer-core -j 16 > plusplayer-core-build.log\r
-tizen build-native -C Debug -a arm -c gcc -- ./src/plusplayer-core\r
-tizen build-native -C Debug -a arm -c gcc -- ./src/tracksource\r
-tizen build-native -C Debug -a arm -c gcc -- ./src/plusplayer\r
-\r
-tizen cli-config "profiles.path=`eval echo $HOME`/tizen-studio-data/profile/profiles.xml"\r
-tizen security-profiles add -n ABS -a packaging/author_test.p12 -p author_test -d packaging/tizen-distributor-partner-manufacturer-signer.p12 -dp tizenpkcs12passfordsigner\r
-\r
-#Release mode\r
-tizen build-native -C Release -a arm -c gcc -- ./src/plusplayer-core\r
-tizen build-native -C Release -a arm -c gcc -- ./src/tracksource\r
-tizen build-native -C Release -a arm -c gcc -- ./src/plusplayer\r
-\r
-tizen cli-config "profiles.path=`eval echo $HOME`/tizen-studio-data/profile/profiles.xml"\r
-tizen security-profiles add -n ABS -a packaging/author_test.p12 -p author_test -d packaging/tizen-distributor-partner-manufacturer-signer.p12 -dp tizenpkcs12passfordsigner\r
-\r
-rm -rf ${BMS_SERVICE_DIR}/plusplayer-api/*\r
-cp -rf ./include/plusplayer ${BMS_SERVICE_DIR}/plusplayer-api\r
-cp -vf ./src/plusplayer-core/Release/libplusplayercore_tvplus.so ${BMS_SERVICE_DIR}/lib/\r
-cp -vf ./src/tracksource/Release/libtracksource_tvplus.so ${BMS_SERVICE_DIR}/lib/ \r
-cp -vf ./src/plusplayer/Release/libplusplayer_tvplus.so ${BMS_SERVICE_DIR}/lib/\r
-cp -vf ./config/tvplus/plusplayer.ini ${BMS_SERVICE_DIR}/res/\r
-\r
-tizen clean -- ./src/plusplayer-core\r
-tizen clean -- ./src/tracksource\r
-tizen clean -- ./src/plusplayer\r
diff --git a/docs/class_diagram/adapter/bms_avplayer_player_adapter(1).plantuml b/docs/class_diagram/adapter/bms_avplayer_player_adapter(1).plantuml
deleted file mode 100755 (executable)
index b976c76..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-@startuml\r
-\r
-note "AS-IS" as PAGE1 #99FF99\r
-\r
-class PCTask {\r
-  # virtual bool t_OnEvent();\r
-  # virtual bool t_Create(void);\r
-  # virtual void t_Destroy(void);\r
-}\r
-\r
-interface IPlayer {\r
-  virtual bool Play()=0;\r
-  virtual bool Stop()=0;\r
-  virtual bool Pause()=0;\r
-  virtual bool Resume()=0;\r
-}\r
-\r
-interface IAVPlayHelper {\r
-  + virtual bool IsShutdown() = 0;\r
-  + virtual bool HandleOnEvent(const TSEvent* pEvent) = 0;     \r
-  + virtual bool GetPlayTime(unsigned long& time) = 0;\r
-  + virtual bool GetCurrentPlayProgram(std::string& outData) = 0;\r
-  + virtual void GetDuration(int& pDuration) = 0;\r
-}\r
-\r
-class TCAVPlayer {\r
-  - IAVPlayHelper* m_pAVCurrentHelper;\r
-\r
-  - IAVPlayHelper* m_pTVPlusAVPlayHelper;\r
-  - IAVPlayHelper* m_pATSC30Helper;\r
-}\r
-note top : "BmsAvPlayer.h"\r
-\r
-IPlayer <|-- TCAVPlayer\r
-PCTask <|-- TCAVPlayer\r
-\r
-TCAVPlayer o-- TvplusAVPlayHelper\r
-TCAVPlayer o-- ATSC3AVPlayHelper\r
-\r
-class TvplusAVPlayHelper {\r
-}\r
-\r
-IAVPlayHelper <|-- TvplusAVPlayHelper\r
-\r
-class ATSC3AVPlayHelper {\r
-}\r
-\r
-IAVPlayHelper <|-- ATSC3AVPlayHelper\r
-\r
-\r
-package "capi-media-player" {\r
-}\r
-\r
-package "libmmplayer" {\r
-}\r
-\r
-TvplusAVPlayHelper --> "capi-media-player"\r
-ATSC3AVPlayHelper --> "capi-media-player"\r
-\r
-"capi-media-player" --> "libmmplayer"\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/adapter/bms_avplayer_player_adapter(1).png b/docs/class_diagram/adapter/bms_avplayer_player_adapter(1).png
deleted file mode 100755 (executable)
index e5504b4..0000000
Binary files a/docs/class_diagram/adapter/bms_avplayer_player_adapter(1).png and /dev/null differ
diff --git a/docs/class_diagram/adapter/bms_avplayer_player_adapter(2).plantuml b/docs/class_diagram/adapter/bms_avplayer_player_adapter(2).plantuml
deleted file mode 100755 (executable)
index 106b515..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-@startuml\r
-\r
-note "TO-BE" as PAGE1 #99FF99\r
-\r
-package "plusplayer" {\r
-}\r
-\r
-package "bms-service" {\r
-\r
-class PCTask {\r
-  # virtual bool t_OnEvent();\r
-  # virtual bool t_Create(void);\r
-  # virtual void t_Destroy(void);\r
-}\r
-\r
-interface IPlayer {\r
-  virtual bool Play()=0;\r
-  virtual bool Stop()=0;\r
-  virtual bool Pause()=0;\r
-  virtual bool Resume()=0;\r
-}\r
-\r
-interface IAVPlayHelper {\r
-  + virtual bool IsShutdown() = 0;\r
-  + virtual bool HandleOnEvent(const TSEvent* pEvent) = 0;     \r
-  + virtual bool GetPlayTime(unsigned long& time) = 0;\r
-  + virtual bool GetCurrentPlayProgram(std::string& outData) = 0;\r
-  + virtual void GetDuration(int& pDuration) = 0;\r
-}\r
-\r
-class TCAVPlayer {\r
-  - IAVPlayHelper* m_pAVCurrentHelper;\r
-\r
-  - IAVPlayHelper* m_pTVPlusAVPlayHelper;\r
-  - IAVPlayHelper* m_pATSC30Helper;\r
-}\r
-note top of TCAVPlayer : "BmsAvPlayer.h"\r
-\r
-IPlayer <|-- TCAVPlayer\r
-PCTask <|-- TCAVPlayer\r
-\r
-TCAVPlayer o-- TvplusPlusplayerHelper\r
-TCAVPlayer o-- ATSC3PlusplayerHelper\r
-\r
-class TvplusPlusplayerHelper {\r
-}\r
-\r
-IAVPlayHelper <|-- TvplusPlusplayerHelper\r
-\r
-class ATSC3PlusplayerHelper {\r
-}\r
-\r
-IAVPlayHelper <|-- ATSC3PlusplayerHelper\r
-\r
-}\r
-\r
-TvplusPlusplayerHelper *--> "plusplayer"\r
-ATSC3PlusplayerHelper *--> "plusplayer"\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/adapter/bms_avplayer_player_adapter(2).png b/docs/class_diagram/adapter/bms_avplayer_player_adapter(2).png
deleted file mode 100755 (executable)
index ebc6e0e..0000000
Binary files a/docs/class_diagram/adapter/bms_avplayer_player_adapter(2).png and /dev/null differ
diff --git a/docs/class_diagram/adapter/trackrenderer_adapter.plantuml b/docs/class_diagram/adapter/trackrenderer_adapter.plantuml
deleted file mode 100755 (executable)
index d49a106..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-@startuml\r
-\r
-title TrackRenderer Adapter\r
-\r
-DefaultPlayer *-- TrackRendererAdapter\r
-class TrackRendererAdapter\r
-note left : RAII container of Trackrenderer instance.\r
-TrackRendererAdapter --> TrackRendererCapi\r
-TrackRendererCapi --> TrackRenderer\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/adapter/webapi_avplay_player_adapter.plantuml b/docs/class_diagram/adapter/webapi_avplay_player_adapter.plantuml
deleted file mode 100755 (executable)
index 9251563..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-@startuml\r
-\r
-title AS-IS\r
-\r
-package "capi-media-player" {\r
-}\r
-\r
-package "webapi-plugins-avplay" {\r
-  class AVPlayInstance {\r
-  }\r
-\r
-  class AVPlayerAdapter {\r
-  }\r
-}\r
-\r
-package "webapi-plugins-avplay" {\r
-  class AVPlayInstance {\r
-  }\r
-\r
-  class AVPlayerAdapter {\r
-  }\r
-\r
-  AVPlayInstance *-- AVPlayerAdapter\r
-  AVPlayerAdapter *--> "capi-media-player"\r
-}\r
-\r
-newpage\r
-\r
-title TO-BE\r
-\r
-package "capi-media-player" {\r
-}\r
-\r
-package "webapi-plugins-avplay" {\r
-  class AVPlayInstance {\r
-  }\r
-\r
-  class AVPlayerAdapter {\r
-  }\r
-\r
-  interface AvPlay {\r
-  }\r
-\r
-  AVPlayInstance *-- AvPlay\r
-  AvPlay <|.. AVPlayerAdapter\r
-  AVPlayerAdapter *-- "capi-media-player"\r
-  AvPlay <|.. AvPlusPlayer\r
-  PlusPlayerEventListener --* AvPlusPlayer\r
-}\r
-\r
-package "plusplayer" {\r
-}\r
-\r
-AvPlusPlayer *--> "plusplayer" : use\r
-\r
-@enduml@startuml\r
-\r
-package "webapi-plugins-avplay" {\r
-  class AVPlayInstance {\r
-  }\r
-\r
-  class AVPlayerAdapter {\r
-  }\r
-\r
-  interface AvPlay {\r
-  }\r
-\r
-  AVPlayInstance *-- AvPlay\r
-  AvPlay <|.. AVPlayerAdapter\r
-  AVPlayerAdapter *-- "capi-media-player"\r
-  AvPlay <|.. AvPlusPlayer\r
-  PlusPlayerEventListener --* AvPlusPlayer\r
-}\r
-\r
-package "plusplayer" {\r
-}\r
-\r
-AvPlusPlayer *--> "plusplayer" : use\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/adapter/webapi_avplay_player_adapter.png b/docs/class_diagram/adapter/webapi_avplay_player_adapter.png
deleted file mode 100755 (executable)
index e9a25c6..0000000
Binary files a/docs/class_diagram/adapter/webapi_avplay_player_adapter.png and /dev/null differ
diff --git a/docs/class_diagram/adapter/webmedia_mse_eme.plantuml b/docs/class_diagram/adapter/webmedia_mse_eme.plantuml
deleted file mode 100755 (executable)
index 5053958..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-@startuml\r
-\r
-'HTML5 VideoTag case\r
-package "webmedia" {\r
-  class OriginalMediaPort {\r
-  }\r
-  interface MediaPort {\r
-  }\r
-  class PlusPlayerMediaPort {\r
-    /' Adapter '/\r
-  }\r
-  MediaPort <|.. OriginalMediaPort\r
-  MediaPort <|. PlusPlayerMediaPort\r
-  "capi-media-player" --* OriginalMediaPort\r
-}\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/bmservice_drmmanager_plusplayer.plantuml b/docs/class_diagram/bmservice_drmmanager_plusplayer.plantuml
deleted file mode 100755 (executable)
index 581fcad..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-@startuml\r
-\r
-class TvplusPlusplayerHelper {\r
-\r
-}\r
-\r
-package "plusplayer" {\r
-class Plusplayer {\r
-}\r
-}\r
-\r
-class CBmsDrmHandler {\r
-\r
-}\r
-\r
-package "DrmManager" {\r
-  class DrmManager {\r
-  }\r
-}\r
-\r
-package "IEME" {\r
-\r
-}\r
-\r
-TvplusPlusplayerHelper *-- Plusplayer\r
-TvplusPlusplayerHelper *-- CBmsDrmHandler\r
-CBmsDrmHandler *-- DrmManager\r
-DrmManager --> IEME\r
-Plusplayer --> IEME\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/details/defaultplayer.plantuml b/docs/class_diagram/details/defaultplayer.plantuml
deleted file mode 100755 (executable)
index 512dd28..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-@startuml\r
-\r
-title DefaultPlayer\r
-' DefaultPlayer\r
-  interface PlusPlayer {\r
-  }\r
-  interface TrackSource {\r
-  }\r
-  PlusPlayer <|.. DefaultPlayer\r
-  \r
-' DefaultPlayer\r
-  DefaultPlayer "1" *-- "1" StateManager\r
-  DefaultPlayer "1" *-- "1" MsgHandler\r
-  DefaultPlayer "1" *--- "1" Feeder\r
-  DefaultPlayer "1" *--- "1" TypeFinder\r
-  DefaultPlayer "1" *--- "1" TrackSourceCompositor\r
-  TrackSource <|-- TrackSourceCompositor\r
-  DefaultPlayer "1" *--- "1" TrackRenderer\r
-  DefaultPlayer "1" *- "1" TrackSourceEventListener\r
-  DefaultPlayer "1" *- "1" TrackRendererEventListener\r
-  DefaultPlayer ..> Track\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/details/trackrenderer.plantuml b/docs/class_diagram/details/trackrenderer.plantuml
deleted file mode 100755 (executable)
index 953cdce..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-@startuml\r
-\r
-title TrackRenderer\r
-\r
-class TrackRenderer {\r
-  + bool Open()\r
-  + bool Close()\r
-  + bool Prepare()\r
-  + bool Start()\r
-  + bool Stop()\r
-  + void SetDisplayMode()\r
-  + bool SetDisplay()\r
-  + bool SetDisplayRoi()\r
-  + bool SetVisible()\r
-  + bool SetTrack()\r
-  + bool SubmitPacket(const DecoderInputBufferPtr& data)\r
-  + bool GetPlayingTime()\r
-\r
-  - std::vector<Track> trackinfo_;\r
-  - std::unique_ptr<Pipeline<T>> pipeline_;\r
-  - AvocHandle avoc_id_;\r
-\r
-}\r
-\r
-class Display {\r
-  + void SetDisplayMode()\r
-  + bool SetDisplay()\r
-  + bool SetDisplayRoi()\r
-  + bool SetVisible()\r
-}\r
-\r
-class DecoderInputBuffer {\r
-  - GstBuffer* buffer_\r
-}\r
-\r
-class ResourceManager {\r
-  + bool Alloc()\r
-  + bool Dealloc()\r
-  - static rm_cb_result ResourceConflictCallback_()\r
-}\r
-\r
-  DefaultPlayer "1" *-- "1" TrackRenderer\r
-  TrackRenderer "1" o-- "1" Display\r
-  TrackRenderer *-- ResourceManager\r
-  TrackRenderer *-- Track\r
-  TrackRenderer ..> DecoderInputBuffer\r
-  TrackRenderer *-- Pipeline\r
-\r
-  package Gstreamer {\r
-  }\r
-  Pipeline --> Gstreamer\r
-  package Avoc {\r
-  }\r
-  TrackRenderer --> Avoc\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/details/tracksource_compositor.plantuml b/docs/class_diagram/details/tracksource_compositor.plantuml
deleted file mode 100755 (executable)
index 72cd16c..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-@startuml\r
-\r
-' TrackSource\r
-title TrackSource & Compositor\r
-\r
-  interface TrackSource {\r
-    + virtual bool AddSource()\r
-    + virtual bool StopSource()\r
-    + virtual bool DeleteSource()\r
-    + virtual bool Open()\r
-    + virtual bool Close()\r
-    + virtual bool Prepare()\r
-    + virtual bool Start()\r
-    + virtual bool Stop()\r
-    + virtual bool Seek()\r
-    + virtual bool SelectTrack()\r
-    + virtual bool Deactivate()\r
-    + virtual bool GetTrackInfo()\r
-    + virtual bool GetDuration()\r
-    + virtual bool SetBufferConfig()\r
-    + virtual bool RegisterListener(DecoderInputBuffer*)\r
-    + virtual bool RegisterEventListener(EventListener*)\r
-\r
-  }\r
-\r
-  class TrackSourceCompositor {\r
-    + bool AddSource()\r
-    + bool StopSource()\r
-    + bool DeleteSource()\r
-  }\r
-\r
-  class HlsTrackSource {\r
-    + bool Open()\r
-    + bool Close()\r
-    + bool Prepare()\r
-    + bool Start()\r
-    + bool Stop()\r
-    + bool Seek()\r
-  }\r
-\r
-  class DashTrackSource {\r
-    + bool Open()\r
-    + bool Close()\r
-    + bool Prepare()\r
-    + bool Start()\r
-    + bool Stop()\r
-    + bool Seek()\r
-  }\r
-\r
-  class HttpTrackSource {\r
-    + bool Open()\r
-    + bool Close()\r
-    + bool Prepare()\r
-    + bool Start()\r
-    + bool Stop()\r
-    + bool Seek()\r
-    - GstElement* pipeline;\r
-  }\r
-\r
-  class ExternalSubtitleSource {\r
-    + bool Open()\r
-    + bool Close()\r
-    + bool Prepare()\r
-    + bool Start()\r
-    + bool Stop()\r
-    + bool Seek()\r
-  }\r
-\r
-  TrackSource <|.. TrackSourceCompositor\r
-  TrackSource <|.. HlsTrackSource\r
-  TrackSource <|.. DashTrackSource\r
-  TrackSource <|.. HttpTrackSource\r
-  TrackSource <|.. ExternalSubtitleSource\r
-  TrackSource --o TrackSourceCompositor\r
-\r
-  package Gstreamer {\r
-  }\r
-\r
-  HlsTrackSource --> Gstreamer\r
-  DashTrackSource --> Gstreamer\r
-  HttpTrackSource --> Gstreamer\r
-  ExternalSubtitleSource --> Gstreamer\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/esplusplayer.plantuml b/docs/class_diagram/esplusplayer.plantuml
deleted file mode 100755 (executable)
index 4442ef5..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-@startuml\r
-\r
-package "esplusplayer" {\r
-\r
-  interface EsPlusPlayer {\r
-  }\r
-\r
-  EsPlusPlayer <|.. EsPlayer\r
-\r
-  class EsEventListener {\r
-  }\r
-\r
-  class AudioStream {\r
-  }\r
-\r
-  class VideoStream {\r
-  }\r
-\r
-  class EsPacket {\r
-  }\r
-\r
-  class TrackRenderer {\r
-  }\r
-\r
-' EsPlayer\r
-  EsPlayer "1" *-- "1" StateManager\r
-  EsPlayer "1" *-- "1" TrackRenderer\r
-  EsPlayer "1" *-- "1" MsgHandler\r
-  EsPlayer "1" *-- "1" TrackRendererEventListener\r
-  EsPlayer ..> AudioStream\r
-  EsPlayer ..> VideoStream\r
-  EsPlayer ..> EsPacket\r
-  EsPlayer ..> Track\r
-  EsPlayer --- DecoderInputBuffer\r
-  \r
-  AudioStream ..> Track  \r
-  VideoStream ..> Track  \r
-\r
-' TrackRenderer\r
-  TrackRenderer "1" o--- "1" Display\r
-  TrackRenderer *-- ResourceManager\r
-  TrackRenderer *-- Track\r
-  TrackRenderer ...> DecoderInputBuffer\r
-  TrackRenderer *- Pipeline\r
-\r
-  Pipeline --> GstObjectGuard\r
-  \r
-  ResourceManager --> Resource\r
-  ResourceManager *-- Resource\r
-}\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/plusplayer.plantuml b/docs/class_diagram/plusplayer.plantuml
deleted file mode 100755 (executable)
index 2f702b2..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-@startuml\r
-\r
-package "plusplayer" {\r
-\r
-  interface PlusPlayer {\r
-  }\r
-\r
-  PlusPlayer <|.. DefaultPlayer\r
-\r
-  class TrackRenderer {\r
-  }\r
-\r
-  ResourceManager --> Resource\r
-  ResourceManager *-- Resource\r
-\r
-  class DecoderInputBufferListener {\r
-  }\r
-\r
-  class TrackSourceCompositor {\r
-  }\r
-\r
-  class TypeFinder {\r
-  }\r
-\r
-  TypeFinder *-- SourceType\r
-  DecoderInputBufferListener <|-- Feeder\r
-\r
-' DefaultPlayer\r
-  DefaultPlayer "1" *-- "1" Feeder\r
-  DefaultPlayer "1" *- "1" StateManager\r
-  DefaultPlayer "1" *-- "1" TypeFinder\r
-  DefaultPlayer "1" *-- "1" TrackSourceCompositor\r
-  DefaultPlayer "1" *--- "1" TrackRenderer\r
-  DefaultPlayer "1" *-- "1" MsgHandler\r
-  DefaultPlayer "1" *-- "1" TrackSourceEventListener\r
-  DefaultPlayer "1" *-- "1" TrackRendererEventListener\r
-  DefaultPlayer ..> Track\r
-\r
-' TrackSource\r
-  interface TrackSource {\r
-  }\r
-\r
-  class HlsTrackSource {\r
-  }\r
-  TrackSource <|.. TrackSourceCompositor\r
-  TrackSource <|.. HlsTrackSource\r
-  TrackSource <|.. ExternalSubtitleSource\r
-  TrackSource --o TrackSourceCompositor\r
-  HlsTrackSource *-- Track\r
-  HlsTrackSource --- DecoderInputBuffer\r
-  ExternalSubtitleSource --- DecoderInputBuffer\r
-\r
-  Pipeline --> GstObjectGuard\r
-  HlsTrackSource --> GstObjectGuard\r
-  ExternalSubtitleSource --> GstObjectGuard\r
-\r
-  TrackRenderer "1" o--- "1" Display\r
-  TrackRenderer *-- ResourceManager\r
-  TrackRenderer *-- Track\r
-  TrackRenderer ...> DecoderInputBuffer\r
-  TrackRenderer *- Pipeline\r
-}\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/class_diagram/plusplayer.png b/docs/class_diagram/plusplayer.png
deleted file mode 100755 (executable)
index 0690d2e..0000000
Binary files a/docs/class_diagram/plusplayer.png and /dev/null differ
diff --git a/docs/class_diagram/plusplayer_simple.plantuml b/docs/class_diagram/plusplayer_simple.plantuml
deleted file mode 100755 (executable)
index c7801f6..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-@startuml\r
-\r
-package "plusplayer" {\r
-\r
-  interface PlusPlayer {\r
-  }\r
-\r
-  PlusPlayer <|.. DefaultPlayer\r
-\r
-  class TrackRenderer {\r
-  }\r
-  DefaultPlayer "1" *-- "1" TrackSourceCompositor\r
-  DefaultPlayer "1" *-- "1" TrackRenderer\r
-\r
-  class TrackSourceCompositor {\r
-  }\r
-\r
-' TrackSource\r
-  interface TrackSource {\r
-  }\r
-\r
-  class HlsTrackSource {\r
-  }\r
-  TrackSource <|.. TrackSourceCompositor\r
-  TrackSource <|.. HlsTrackSource\r
-  TrackSource <|.. ExternalSubtitleSource\r
-  TrackSource --o TrackSourceCompositor\r
-}\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/coding_rule.md b/docs/coding_rule.md
deleted file mode 100755 (executable)
index 73e4d35..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-## **CODING STYLE** ##\r
-  * All codes follow 'Google C++ Style Guide'  \r
-    - [English](https://google.github.io/styleguide/cppguide.html)\r
-  * some major rules are below\r
-\r
----\r
-\r
-### § Naming ###\r
-  Give as descriptive a name as possible.\r
-  \r
-#### 1. Namespace/File/Variable/Struct Data member ####\r
-  * All lower case(mandatory) + between underscore(optional)\r
-    * e.g) mediaplayer.h , trackrenderer , track_renderer\r
-\r
-#### 2. Class Data Members\r
-  * Private attributes : Variable names + Trailing underscore("_")\r
-    * e.g) tablename_ , tracksource_ , track_source_\r
-  * Public attributes - Not Allowed.\r
-\r
-#### 3. Type Names - Class,Struct,Type Aliases,Enums and type template parameters  ####\r
-  * Names start with a capital letter and have a capital letter for each new word\r
-  * No Underscore\r
-    * e.g) MMPlayer(X) , MmPlayer(O)\r
-    * e.g) class MediaPlayer {} ...\r
-    * e.g) struct PlayerContext {} , enum SourceType {...}\r
-\r
-#### 4. Macro Names ####\r
-  * All capitals + Underscore\r
-\r
-#### 5. Constant / Enumerator ####\r
-  * prefix 'k' + TypeNames  \r
-  * e.g   \r
-      const int kDaysInAWeek = 7;  \r
-      enum UrlTableErrors {  \r
-        kErrorOutOfMemory  \r
-      }  \r
-\r
-### § Formating ###\r
-\r
-#### 1. Indentation ####\r
-  * Default indentation : 2 spaces \r
-  * We use spaces for indentation. Do not use tabs in your code.\r
-\r
-#### 2. Class ####\r
-  * Ordering\r
-    * Sections in public - protected - private order\r
-    * method(public/protected/private) -> attribute order\r
-  * public, protected and private keywords : **1** space indentation\r
-\r
-### § Header Files ###\r
-\r
-#### 1. Order of Includes ####\r
-  * Related header, C library, C++ library, other libraries' .h, your project's .h.\r
-\r
-> plz refer to "Google C++ Style Guide" for the rest of detail guide.\r
diff --git a/docs/dot_graph/plusplayer_renderer_start.png b/docs/dot_graph/plusplayer_renderer_start.png
deleted file mode 100755 (executable)
index ca27b1a..0000000
Binary files a/docs/dot_graph/plusplayer_renderer_start.png and /dev/null differ
diff --git a/docs/dot_graph/plusplayer_renderer_stop.png b/docs/dot_graph/plusplayer_renderer_stop.png
deleted file mode 100755 (executable)
index 4d92f40..0000000
Binary files a/docs/dot_graph/plusplayer_renderer_stop.png and /dev/null differ
diff --git a/docs/dot_graph/plusplayer_src_start.png b/docs/dot_graph/plusplayer_src_start.png
deleted file mode 100755 (executable)
index b73c014..0000000
Binary files a/docs/dot_graph/plusplayer_src_start.png and /dev/null differ
diff --git a/docs/dot_graph/plusplayer_src_stop.png b/docs/dot_graph/plusplayer_src_stop.png
deleted file mode 100755 (executable)
index cf2f2e2..0000000
Binary files a/docs/dot_graph/plusplayer_src_stop.png and /dev/null differ
diff --git a/docs/downloadable/class_diagram.plantuml b/docs/downloadable/class_diagram.plantuml
deleted file mode 100755 (executable)
index bc57199..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-@startuml\r
-@enduml
\ No newline at end of file
diff --git a/docs/downloadable/version_control.plantuml b/docs/downloadable/version_control.plantuml
deleted file mode 100755 (executable)
index c1a06ad..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-@startuml\r
-\r
-' to be updated soon\r
-' this is test\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/downloadable/version_control_sequence.plantuml b/docs/downloadable/version_control_sequence.plantuml
deleted file mode 100755 (executable)
index 1f3fce1..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-@startuml\r
-\r
-/'\r
-skinparam backgroundColor #EEEBDC\r
-skinparam handwritten true\r
-skinparam sequence {\r
-  ArrowColor DeepSkyBlue\r
-  ActorBorderColor DeepSkyBlue\r
-  LifeLineBorderColor blue\r
-  LifeLineBackgroundColor #A9DCDF\r
-  ParticipantBorderColor DeepSkyBlue\r
-  ParticipantBackgroundColor DodgerBlue\r
-  ParticipantFontName Impact\r
-  ParticipantFontSize 17\r
-  ParticipantFontColor #A9DCDF\r
-  ActorBackgroundColor aqua\r
-  ActorFontColor DeepSkyBlue\r
-  ActorFontSize 17\r
-  ActorFontName Aapex\r
-}\r
-'/\r
-\r
-title tvplus case(1) dynamic loading\r
-\r
-participant AppLauncher\r
-participant App\r
-participant BmsService\r
-note over BmsService : daemon\r
-participant Plusplayer\r
-participant PlusplayerLoader\r
-database version_info\r
-\r
-== initialization ==\r
-alt successful case\r
-  AppLauncher -> App : load\r
-  App -> BmsService : play()\r
-  BmsService -> Plusplayer : SetVersion("path")\r
-  Plusplayer -> PlusplayerLoader : SetVersion("path")\r
-  PlusplayerLoader -> version_info : ReadVersion()\r
-  ' 한번에 모두 로딩 or 분할하여.\r
-  PlusplayerLoader -> PlusplayerLoader : LoadProperLibSet_()\r
-  BmsService -> Plusplayer : Create()\r
-else some kind of failure (version mismatch or missing)\r
-end\r
-\r
-newpage tvplus case(2) dynamic linking\r
-\r
-actor PlayerManager\r
-participant ServiceDaemonLauncher\r
-participant App\r
-participant BmsService\r
-note over BmsService : daemon\r
-participant Plusplayer\r
-participant PlusplayerLoader\r
-database version_info\r
-\r
-\r
-== initialization ==\r
-\r
-group compile time\r
-  PlayerManager -> BmsService : update LD_PRELOAD configuration\r
-  note over BmsService : adjust bms.service configuration file\r
-end\r
-\r
-alt successful case\r
-  ServiceDaemonLauncher -> BmsService : load\r
-  note over BmsService : updated libs are dynamically linked\r
-  App -> BmsService : play()\r
-  BmsService -> Plusplayer : SetVersion("path")\r
-  Plusplayer -> PlusplayerLoader : GetVersion("path")\r
-  PlusplayerLoader -> version_info : ReadVersion()\r
-  PlusplayerLoader -> PlusplayerLoader : CheckLibValidation_()\r
-  Plusplayer <-- PlusplayerLoader : success\r
-  BmsService -> Plusplayer : Create()\r
-else some kind of failure (version mismatch or missing)\r
-end\r
-\r
-\r
-\r
-@enduml\r
diff --git a/docs/gtest_guide.md b/docs/gtest_guide.md
deleted file mode 100755 (executable)
index 0fa6c9e..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-**GTest guide** \r
-===============\r
-  For unit test for plusplayer\r
-\r
----\r
-### Reference \r
-- <https://github.com/google/googletest>\r
-\r
-## Assertion \r
-* ASSERT_* : 실패시 해당 테스트를 바로 종료 <br>\r
-* EXPECT_* : 실패하여도 테스트 계속 진행 <br>\r
-\r
-#### Basic Assertions ###\r
-\r
-These assertions do basic true/false condition testing.\r
-\r
-| **Fatal assertion** | **Nonfatal assertion** | **Verifies** |\r
-|:--------------------|:-----------------------|:-------------|\r
-| `ASSERT_TRUE(`_condition_`)`;  | `EXPECT_TRUE(`_condition_`)`;   | _condition_ is true |\r
-| `ASSERT_FALSE(`_condition_`)`; | `EXPECT_FALSE(`_condition_`)`;  | _condition_ is false |\r
-\r
-#### Binary Comparison ###\r
-\r
-This section describes assertions that compare two values.\r
-\r
-| **Fatal assertion** | **Nonfatal assertion** | **Verifies** |\r
-|:--------------------|:-----------------------|:-------------|\r
-|`ASSERT_EQ(`_val1_`, `_val2_`);`|`EXPECT_EQ(`_val1_`, `_val2_`);`| _val1_ `==` _val2_ |\r
-|`ASSERT_NE(`_val1_`, `_val2_`);`|`EXPECT_NE(`_val1_`, `_val2_`);`| _val1_ `!=` _val2_ |\r
-|`ASSERT_LT(`_val1_`, `_val2_`);`|`EXPECT_LT(`_val1_`, `_val2_`);`| _val1_ `<` _val2_ |\r
-|`ASSERT_LE(`_val1_`, `_val2_`);`|`EXPECT_LE(`_val1_`, `_val2_`);`| _val1_ `<=` _val2_ |\r
-|`ASSERT_GT(`_val1_`, `_val2_`);`|`EXPECT_GT(`_val1_`, `_val2_`);`| _val1_ `>` _val2_ |\r
-|`ASSERT_GE(`_val1_`, `_val2_`);`|`EXPECT_GE(`_val1_`, `_val2_`);`| _val1_ `>=` _val2_ |\r
-\r
-\r
-#### String Comparison ###\r
-\r
-The assertions in this group compare two **C strings**.<br>\r
-If you want to compare two `string` objects, use `EXPECT_EQ`, `EXPECT_NE`, and etc instead.\r
-\r
-| **Fatal assertion** | **Nonfatal assertion** | **Verifies** |\r
-|:--------------------|:-----------------------|:-------------|\r
-| `ASSERT_STREQ(`_str1_`, `_str2_`);`    | `EXPECT_STREQ(`_str1_`, `_str_2`);`     | the two C strings have the same content |\r
-| `ASSERT_STRNE(`_str1_`, `_str2_`);`    | `EXPECT_STRNE(`_str1_`, `_str2_`);`     | the two C strings have different content |\r
-| `ASSERT_STRCASEEQ(`_str1_`, `_str2_`);`| `EXPECT_STRCASEEQ(`_str1_`, `_str2_`);` | the two C strings have the same content, ignoring case |\r
-| `ASSERT_STRCASENE(`_str1_`, `_str2_`);`| `EXPECT_STRCASENE(`_str1_`, `_str2_`);` | the two C strings have different content, ignoring case |\r
-\r
-## Text Fixtures : Using the Same Data Configuration for Multiple Tests ##\r
-\r
-사용자가 유사한 data를 사용해서 하나 이상의 test를 작성한다면, test fixture를 사용할 수 있다. 이 test fixture를 사용한다는 것은 여러개의 다양한 test를 작성하는 과정에서 같은 object의 configuration을 재사용한다는 것을 의미한다.\r
-\r
-Fixture를 작성할 때에는 아래의 내용대로 수행하면 된다.\r
-\r
-1. ::testing::Test 로부터 class를 derive한다. Sub-class 에서 fixture member에 접근해야 하기 때문에 protected 혹은 public 으로 작성해야 한다.   \r
-2. Class 내부에서 사용자가 원하는대로 object들을 선언해 사용한다.  \r
-3. 필요하다면, 생성자나 SetUp() function을 작성해둔다.   \r
-4. 생성자나 SetUp() function을 정의해서 사용하고 있다면, 해당 function에서 사용했던 resource를 반환하기 위해 소멸자나 TearDown() function을 작성한다.   \r
-5. Subroutine 들을 작성한다.   \r
-\r
-Fixture를 사용하기 위해서는 TEST() 대신에 TEST_F()를 사용해야만 한다.\r
-TEST()에서는 첫번째 argument가 testcase의 이름이었지만 TEST_F()를 사용할 때는 첫번째 argument로 test fixture class의 이름을 사용해야만 한다.\r
-\r
-**Fixture class 기본 구현 Form**\r
-* 관례에 따라 테스트할 클래스가 Foo라면 이름을 FooTest라고 하는게 좋다.\r
-~~~\r
-class PlusPlayerTest : public ::testing::Test {\r
-public:\r
-  PlusPlayerTest(std::string url)\r
-    : plusplayer_(nullptr), url_(url)\r
-  {\r
-  }\r
-\r
-  void SetUp() override\r
-  {\r
-    plusplayer_ = new PlusPlayer();\r
-    create(url_);\r
-  }\r
-\r
-  void TearDown() override\r
-  {\r
-    destory(plusplayer_);\r
-  }\r
-\r
-private:\r
-  std::string url_;\r
-  PlusPlayer* plusplayer_;\r
-\r
-}\r
-~~~\r
-\r
-**실행 순서**   \r
-1. 모든 구글 테스트 플래그 상태를 저장한다.  \r
-2. 첫 번째 테스트에 대해 테스트 fixture 객체를 생성한다.  \r
-3. 만든 객체를 SetUp()에서 초기화한다.  \r
-4. 픽스처 객체에 대해 테스트를 실행한다.  \r
-5. TearDown()에서 해당 픽스처를 정리한다.  \r
-6. 해당 픽스처를 삭제한다.  \r
-7. 모든 구글 테스트 플래그 상태를 복원한다.  \r
-8. 모든 테스트를 마칠 때까지 다음 테스트에 대해 위 과정을 반복한다.   \r
-\r
----\r
-\r
-## Arguments \r
-reference\r
-\r
-1. test selection\r
-  * --gtest_list_tests <br>\r
-    > 테스트할 항목을 보여준다. (테스트 실시 X)\r
-  * --gtest_also_run_disabled_tests <br>\r
-    > DISABLED_ 로 막아둔 test case 를 일시적으로 실행\r
-  * --gtest_filter <br>\r
-    > 특정 case 들만 실행 가능<br>\r
-      Ex) --gtest_filter="*.create*" : 모든 TC중에서 create 로 시작하는 모든 TC 실행. <br>\r
-\r
-2. test Execution\r
-  * --gtest_repeat <br>\r
-    > test 반복 가능. -1일 경우 무한히 반복<br>\r
-      --gtest_break_on_failure와 함께 사용하면 실패할 경우 멈춤.\r
-  * --gtest_shuffle <br>\r
-    > 무작위로 실행 가능 (test case 간 dependency 가 없어야 하기 때문이다)<br>\r
-      gtest는 기본적으로 현재시간을 랜덤함수의 시드값으로 사용하나,  --gtest_random_seed로 조절가능하다\r
-  * --gtest_random_seed \r
-    > 1 ~ 99999까지의 값을 --gtest_shuffle에서 사용할 랜덤함수의 시드로 사용.\r
-\r
----\r
-## Reference\r
-  * Gtest Primer(EN)<br> <https://github.com/google/googletest/blob/master/googletest/docs/Primer.md>\r
diff --git a/docs/module_view/libav-common.plantuml b/docs/module_view/libav-common.plantuml
deleted file mode 100755 (executable)
index 09ba0ae..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-@startuml\r
-\r
-title reduced downloadable module size by libav-common\n dash/hls/http streaming module 9M to 4.5M 50% decreased\r
-\r
-component "dash gst-plugin" as dash\r
-component "hls gst-plugin" as hls\r
-component "httpdemux gst-plugin" as http\r
-\r
-component "libavformat-dash.so" as dashformat\r
-component "libavformat-hls.so" as hlsformat\r
-component "libavformat-httpdemux.so" as httpformat\r
-\r
-package "libav-common" as libavcommon {\r
-  [libavcodec.so]\r
-  [libavutils.so]\r
-}\r
-\r
-dash --> dashformat : use\r
-http --> httpformat : use\r
-hls --> hlsformat : use\r
-\r
-dashformat --> libavcommon : use\r
-httpformat --> libavcommon : use\r
-hlsformat --> libavcommon : use\r
-@enduml
\ No newline at end of file
diff --git a/docs/module_view/uses_view.plantuml b/docs/module_view/uses_view.plantuml
deleted file mode 100755 (executable)
index bbf7204..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-@startuml\r
-\r
-title : module view : uses view\r
-\r
-component [Downloadable module] #Aquamarine\r
-\r
-package "Security" {\r
-  IEME -- [EME]\r
-}\r
-package "System" {\r
-  package "Subsystem" {\r
-    RM -- [ResourceManager]\r
-  }\r
-\r
-  package "Subsystem" {\r
-    AVOC -- [libavoc]\r
-  }\r
-}\r
-\r
-package "EFL" {\r
-  ecore_wayland_api -- [Ecore_Wayland]\r
-}\r
-\r
-package "Gstreamer" {\r
-  [gstreamer] --> [gst-openmax]\r
-  package "gst-plugins-streamingengine" {\r
-    [gst-plugin-dash] #Aquamarine\r
-    [gst-plugin-hls] #Aquamarine\r
-    [gst-plugin-http] #Aquamarine\r
-    [gstreamer] --> [gst-plugin-dash]\r
-    [gstreamer] --> [gst-plugin-hls]\r
-    [gstreamer] --> [gst-plugin-http]\r
-  }\r
-}\r
-\r
-package "Plusplayer" {\r
-  [plusplayer] #Aquamarine\r
-  [tracksource] #Aquamarine\r
-  [plusplayer-core] #Aquamarine\r
-  [plusplayer] --> [tracksource] : use\r
-  [plusplayer] --> [trackrenderer] : use\r
-  [plusplayer] --> [plusplayer-core] : use\r
-  [tracksource] --> [plusplayer-core] : use\r
-  '[tracksource] --> [gstreamer] : use\r
-  [trackrenderer] --> [plusplayer-core] : use\r
-  [trackrenderer] --> RM : use\r
-  '[trackrenderer] --> [gstreamer] : use\r
-  [trackrenderer] --> [ecore_wayland_api] : use\r
-  [trackrenderer] --> [AVOC] : use\r
-  [trackrenderer] --> [IEME] : use\r
-  [plusplayer-core] --> [gstreamer] : use\r
-}\r
-\r
-\r
-package "drmmanager" {\r
-  drmapi -- [DrmManager]\r
-  [DrmManager] --> [IEME] : use\r
-}\r
-\r
-package "webapi-avplay" {\r
-  [avplay] --> [plusplayer]\r
-  [avplay] --> [drmapi]\r
-}\r
-\r
-package "bms-service" {\r
-  [BmsAVPlayer] --> [plusplayer]\r
-  [BmsAVPlayer] --> [drmapi]\r
-}\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/module_view/uses_view.png b/docs/module_view/uses_view.png
deleted file mode 100755 (executable)
index 1f12768..0000000
Binary files a/docs/module_view/uses_view.png and /dev/null differ
diff --git a/docs/plusplayer_guide.md b/docs/plusplayer_guide.md
deleted file mode 100755 (executable)
index 66c6035..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-# **PlusPlayer** #\r
-  PlusPlayer is a new multimedia player object-oriented designed.\r
-\r
-## Goals ##\r
-  * Improve maintainability / extensibility / reusability\r
-    - object oriented design\r
-    - separate the modules into high-variation part and low-variation part\r
-    - decoupling between each streaming services\r
-  * Simplification\r
-    - simplified pipeline , creates static pipeline\r
-  * Easy to upgrade\r
-    - support downloadable features (planned)\r
-\r
-## Architecture Design ##\r
-  * PlusPlayer consists of TypeFinder / TrackSource / TrackRenderer / DefaultPlayer objects.\r
-    * TypeFinder\r
-      - Probing source type by inspecting probing data\r
-      - use gstreamer typefinder plugin\r
-    * TrackSource\r
-      - Fetching data from server , demuxing , controling demuxed packet buffers\r
-      - a pipeline consists of `src - typefinder - demuxer - multiqueue - inputselector - fakesink`\r
-        - plz refer to `${plusplayer_workspace}/docs/dot/plusplayer_src_start.png`\r
-    * TrackRenderer\r
-      - maintains a pipeline consists of `appsrc - omx - sink` elements\r
-        - plz refer to `${plusplayer_workspace}/docs/dot/plusplayer_renderer_start.png`\r
-  * Class diagram\r
-    * ${plusplayer_workspace}/docs/class_diagram.plantuml\r
-    * or you can directly download it from [class_diagram.plantuml]\r
-\r
-## Development ##\r
-  * GitHub Project :\r
-    * All the milestones / activities (Codes , CodeReview , Design , Issues , etc) are being uploaded here\r
-  * Codereview on Github\r
-    - Each Developers should fork master branch and work on their own forked project.\r
-    - developer should submit pull-request to apply their changes\r
-      * all developers must sync their forked project with the latest master prior to sumit pull-request. so that we can avoid merge conflicts.\r
-    - everyone can join the codereviews\r
-  * the coding style follows Google C++ coding style guide. refer to [CODING STYLE](### coding-style)\r
-  * Test Driven Development (use gtest - plusplayer_ut -for their implementation and verifications)\r
-\r
-#### GTest guide ####\r
-  * To write Unit test case for PlusPlayer\r
-    * docs/gtest_guide.md\r
-    * Check Reference section of above link for more detailed documents.\r
-    * example\r
-    ```\r
-    sh-3.2# plusplayer_ut --gtest_filter="AvPlusPlayerTest.play"\r
-    ```\r
-#### Coding Rule Check ####\r
-  * check your coding style using **cpplint.py** before uploading your codes\r
-    > e.g) $ **cpplint.py** cpp_style_test.cpp\r
-  * Or check your coding style and fix your codes automatically using **clang-format**\r
-    > e.g) $ **clang-format-3.4** cpp_style_test.cpp -style=google **-i**  \r
-\r
-#### Build ####\r
-  > 1. Clone or Download plusplayer package.\r
-  > 2. $ gbs -c ~/gbsconf/gbs_3_0.conf  build -A armv7l --include-all --clean -B ~/GBS_ROOT_PLUSPLAYER  \r
-\r
-#### Understanding the codes ####\r
- to understand PlusPlayer concept quickly\r
- plz refer to \r
-  - ${plusplayer_workspace}/ut/porting/webapi-plugins-avplay/src/avplusplayer.cc/h  \r
-  - ${plusplayer_workspace}/src/player/defaultplayer.cpp/h\r
-  - ${plusplayer_workspace}/docs/class_diagram.txt\r
-\r
-#### CODING STYLE ####\r
-  'Google C++ Style Guide' based coding.  \r
-  > Translated(Korean)\r
-  > Original(English): [https://google.github.io/styleguide/cppguide.html](https://google.github.io/styleguide/cppguide.html)\r
diff --git a/docs/reference/PlantUML_Language_Reference_Guide.pdf b/docs/reference/PlantUML_Language_Reference_Guide.pdf
deleted file mode 100755 (executable)
index 838b475..0000000
Binary files a/docs/reference/PlantUML_Language_Reference_Guide.pdf and /dev/null differ
diff --git a/docs/sequence_activity_diagram/avplusplayer_adapter/avplusplayer_adapter_sequence_diagram.plantuml b/docs/sequence_activity_diagram/avplusplayer_adapter/avplusplayer_adapter_sequence_diagram.plantuml
deleted file mode 100755 (executable)
index b739ae4..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-@startuml\r
-\r
-actor App\r
-boundary AvPlayInstance\r
-\r
-App -> AvPlayInstance :  AVPlayOpen(url)\r
-note left : request playback\r
-AvPlayInstance -> AvPlusPlayer : Open(url)\r
-AvPlusPlayer -> Plusplayer : Open(url)\r
-AvPlusPlayer -> Plusplayer : RegisterEventListener()\r
-\r
-App -> AvPlayInstance : AVPlaySetBufferingParam()\r
-AvPlayInstance -> AvPlusPlayer : setBufferingParam()\r
-AvPlusPlayer -> Plusplayer : SetBufferConfig()\r
-App -> AvPlayInstance : AVPlaySetDisplayRect()\r
-AvPlayInstance -> AvPlusPlayer : SetOutputArea()\r
-AvPlusPlayer -> Plusplayer : SetDisplayMode()\r
-AvPlusPlayer -> Plusplayer : SetDisplayRoi()\r
-AvPlusPlayer -> Plusplayer : SetDisplay(Evas_Object*)\r
-App -> AvPlayInstance : AVPlaySetStreamingProperty()\r
-AvPlayInstance -> AvPlusPlayer : SetStreamingProperty()\r
-AvPlusPlayer -> Plusplayer : SetStreamingProperty()\r
-\r
-App -> AvPlayInstance : AVPlayPrepare()\r
-AvPlayInstance -> AvPlusPlayer : prepareAsync()\r
-AvPlusPlayer -> Plusplayer : PrepareAsync()\r
-Plusplayer --> AvPlusPlayer : OnPrepareDone(ret)\r
-AvPlusPlayer --> AvPlayInstance : onAsyncEventComplete()\r
-App -> AvPlayInstance : AVPlayPlay()\r
-AvPlayInstance -> AvPlusPlayer : play()\r
-AvPlusPlayer -> Plusplayer : Start()\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/dash_drm_playback/dash_drm_playback_base_flow_1.plantuml b/docs/sequence_activity_diagram/dash_drm_playback/dash_drm_playback_base_flow_1.plantuml
deleted file mode 100755 (executable)
index 83f267b..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-@startuml\r
-\r
-title dash_drm_playback_base_flow_1\r
-\r
-BmsAvPlayer -> TvplusPlusplayerAdapter : m_Play()\r
-TvplusPlusplayerAdapter -> CBmsDrmHandler : StoreDrmInfo()\r
-activate CBmsDrmHandler\r
-CBmsDrmHandler -> DrmManager : DMGRCreateDRMSession(DRM_TYPE_EME)\r
-CBmsDrmHandler -> DrmManager : DMGRSetDRMLocalMode()\r
-DrmManager -> IEME : create_session()\r
-IEME --> DrmManager : drm_handle*\r
-DrmManager --> CBmsDrmHandler : return\r
-CBmsDrmHandler --> TvplusPlusplayerAdapter : return\r
-deactivate CBmsDrmHandler\r
-TvplusPlusplayerAdapter -> CBmsDrmHandler : GetDrmHandle()\r
-CBmsDrmHandler --> TvplusPlusplayerAdapter : drm_handle*\r
-TvplusPlusplayerAdapter -> Plusplayer : SetDrm(DrmInfo)\r
-Plusplayer -> TrackRenderer : SetDrmInfo(DrmInfo)\r
-TvplusPlusplayerAdapter -> Plusplayer : PrepareAsync()\r
-Plusplayer -> TrackRenderer : Prepare()\r
-activate TrackRenderer\r
-group CreatePipeline\r
-  TrackRenderer -> Gstreamer : factory_make(appsrc)\r
-  TrackRenderer -> Gstreamer : factory_make(drm_eme)\r
-  TrackRenderer --> DrmEme : g_object_set(DrmInitData_Callback)\r
-  TrackRenderer -> Gstreamer : factory_make(omx_decoder)\r
-  TrackRenderer -> Gstreamer : factory_make(sink)\r
-  TrackRenderer -> Gstreamer : set_state(GST_STATE_PAUSE)(async)\r
-  TrackRenderer -> TrackRenderer : wait state_changed\r
-  activate TrackRenderer #DarkSalmon\r
-  DrmEme --> TrackRenderer : DrmInitData_Callback(init_data)\r
-  TrackRenderer --> Plusplayer : OnDrmInitData(init_data, tracktype)\r
-  Plusplayer --> TvplusPlusplayerAdapter : OnDrmInitData(init_data, tracktype)\r
-  activate TvplusPlusplayerAdapter\r
-  TvplusPlusplayerAdapter -> CBmsDrmHandler : SetDrmInitData(init_data)\r
-  activate CBmsDrmHandler\r
-  CBmsDrmHandler -> DrmManager : DMGRSetDrmInitData(init_data)\r
-  DrmManager --> CBmsDrmHandler : return\r
-  CBmsDrmHandler --> TvplusPlusplayerAdapter : return\r
-  deactivate CBmsDrmHandler\r
-  TvplusPlusplayerAdapter -> Plusplayer : DrmLicenseAcquiredDone(tracktype)\r
-  deactivate TvplusPlusplayerAdapter\r
-  Plusplayer -> TrackRenderer : DrmLicenseAcquiredDone(tractype)\r
-  TrackRenderer -> DrmEme : g_object_set(getrights-complete-return)\r
-  DrmEme --> Gstreamer : state_changed\r
-  Gstreamer --> TrackRenderer : state_changed\r
-  deactivate TrackRenderer\r
-end\r
-TrackRenderer -> Plusplayer : return\r
-deactivate TrackRenderer\r
-Plusplayer --> TvplusPlusplayerAdapter : OnPrepareDone(ret)\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/source_change/source_change_base_flow_1.plantuml b/docs/sequence_activity_diagram/source_change/source_change_base_flow_1.plantuml
deleted file mode 100755 (executable)
index 7cfcce8..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-@startuml\r
-\r
-ref over BmsAVPlayer, TvplusPlusplayerHelper, Plusplayer\r
-playing previous channel\r
-end ref\r
-\r
-BmsAVPlayer -> TvplusPlusplayerHelper : m_PlayPosition()\r
-note left : request channel change\r
-TvplusPlusplayerHelper -> TvplusPlusplayerHelper : compare codec info\r
-alt if codec info is same\r
-TvplusPlusplayerHelper -> Plusplayer : ChangeSource(url,resume_time)\r
-Plusplayer -> StateManager : ProcessEvent(StopSource)\r
-StateManager -> TrackSourceCompositor : StopSource(type)\r
-TrackSourceCompositor -> HlSTrackSource : Stop()\r
-TrackSourceCompositor --> StateManager : ret\r
-StateManager -> MetaStateMachine : request state to SourceStopped\r
-MetaStateMachine -> StateManager : state changed\r
-StateManager -> TrackSourceCompositor : DeleteSource(type)\r
-TrackSourceCompositor -> HlSTrackSource : <<destroy>>\r
-destroy HlSTrackSource\r
-TrackSourceCompositor --> StateManager : ret\r
-StateManager --> Plusplayer : done\r
-Plusplayer -> ChangeSourceTask : create task\r
-ChangeSourceTask -> StateManager : ProcessEvent(InitializeSource)\r
-StateManager -> TrackSourceCompositor : AddSource(type)\r
-create DashTrackSource\r
-TrackSourceCompositor -> DashTrackSource : <<create>>\r
-StateManager --> ChangeSourceTask : ret\r
-ChangeSourceTask -> StateManager : ProcessEvent(PrepareSource)\r
-StateManager -> TrackSourceCompositor : Prepare()\r
-TrackSourceCompositor -> DashTrackSource : Prepare()\r
-StateManager --> ChangeSourceTask : ret\r
-ChangeSourceTask -> StateManager : ProcessEvent(Start)\r
-StateManager -> TrackSourceCompositor : Start()\r
-TrackSourceCompositor -> DashTrackSource : Start()\r
-StateManager --> ChangeSourceTask : ret\r
-ChangeSourceTask --> Plusplayer : ret\r
-Plusplayer --> TvplusPlusplayerHelper : OnChangeSourceDone(ret)\r
-else if codec is not same\r
-TvplusPlusplayerHelper -> Plusplayer : Stop and Destroy\r
-TvplusPlusplayerHelper -> Plusplayer : PlusPlayer::Create()\r
-TvplusPlusplayerHelper -> Plusplayer : Open(url)\r
-TvplusPlusplayerHelper -> Plusplayer : PrepareAsync(url)\r
-...\r
-Plusplayer --> TvplusPlusplayerHelper : OnPrepareDone(ret)\r
-TvplusPlusplayerHelper -> Plusplayer : Start()\r
-end\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/trackrenderer_adapter/trackrenderer_adapter.plantuml b/docs/sequence_activity_diagram/trackrenderer_adapter/trackrenderer_adapter.plantuml
deleted file mode 100755 (executable)
index 2432b66..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-@startuml\r
-\r
-title TrackRendererAdapter Sequence Diagram\r
-participant DefaultPlayer\r
-\r
-create TrackRendererAdapter\r
-DefaultPlayer -> TrackRendererAdapter : TrackRendererAdapter::Create()\r
-TrackRendererAdapter -> TrackRendererCapi : trackrenderer_create()\r
-create TrackRenderer\r
-TrackRendererCapi -> TrackRenderer : std::unique_ptr<T>(new TrackRenderer)\r
-TrackRendererCapi --> TrackRendererAdapter : handle\r
-\r
-@enduml\r
diff --git a/docs/sequence_activity_diagram/tracksource/tracksource_alternative_flow_1.plantuml b/docs/sequence_activity_diagram/tracksource/tracksource_alternative_flow_1.plantuml
deleted file mode 100755 (executable)
index c1d70e4..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-@startuml\r
-\r
-title tracksource_alternative_flow_1\r
-\r
-actor App\r
-boundary BmsService\r
-\r
-App -> BmsService : request playback\r
-BmsService -> Plusplayer : Open(url)\r
-Plusplayer -> TrackSource : TrackSource::CreateCompositor()\r
-Plusplayer -> TrackSourceCompositor : RegisterEventListener(this)\r
-BmsService -> Plusplayer : RegisterEventListener()\r
-BmsService -> Plusplayer : SetSourceType(sourcetype)\r
-BmsService -> Plusplayer : PrepareAsync()\r
-Plusplayer -> TrackSourceCompositor : AddSource(sourcetype)\r
-activate TrackSourceCompositor\r
-TrackSourceCompositor -> HttpTrackSource : new\r
-HttpTrackSource --> TrackSourceCompositor : object\r
-Plusplayer -> TrackSourceCompositor : Prepare()\r
-TrackSourceCompositor -> HttpTrackSource : Prepare()\r
-group CreatePipeline\r
-HttpTrackSource -> gstreamer : pipeline_new()\r
-HttpTrackSource -> gstreamer : factory_make(src)\r
-HttpTrackSource -> gstreamer : factory_make(http_demuxer)\r
-HttpTrackSource -> gstreamer : factory_make(...)\r
-HttpTrackSource -> gstreamer : set_state(PAUSE)\r
-gstreamer --> HttpTrackSource : state_changed\r
-end\r
-HttpTrackSource --> TrackSourceCompositor : success\r
-TrackSourceCompositor --> Plusplayer : success\r
-deactivate TrackSourceCompositor\r
-Plusplayer --> BmsService : Listener::PrepareDone(success)\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/tracksource/tracksource_base_flow_1.plantuml b/docs/sequence_activity_diagram/tracksource/tracksource_base_flow_1.plantuml
deleted file mode 100755 (executable)
index c210b17..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-@startuml\r
-\r
-title tracksource_base_flow_1\r
-\r
-actor App\r
-boundary BmsService\r
-\r
-App -> BmsService : request playback\r
-BmsService -> Plusplayer : Open(url)\r
-Plusplayer -> TrackSource : TrackSource::CreateCompositor()\r
-Plusplayer -> TrackSourceCompositor : RegisterEventListener(this)\r
-BmsService -> Plusplayer : RegisterEventListener()\r
-\r
-BmsService -> Plusplayer : PrepareAsync()\r
-Plusplayer -> TrackSourceCompositor : AddSource(url)\r
-activate TrackSourceCompositor\r
-TrackSourceCompositor -> Typefinder : probe()\r
-group createpipeline\r
-Typefinder -> gstreamer : pipeline_new()\r
-Typefinder -> gstreamer : factory_make(src)\r
-Typefinder -> gstreamer : factory_make(typefinder)\r
-gstreamer --> Typefinder : OnHaveType_(sourcetype)\r
-end\r
-Typefinder --> TrackSourceCompositor : sourcetype\r
-TrackSourceCompositor -> HttpTrackSource : new\r
-\r
-HttpTrackSource --> TrackSourceCompositor : object\r
-\r
-Plusplayer -> TrackSourceCompositor : Prepare()\r
-TrackSourceCompositor -> HttpTrackSource : Prepare()\r
-group CreatePipeline\r
-HttpTrackSource -> gstreamer : factory_make(http_demuxer)\r
-HttpTrackSource -> gstreamer : factory_make(...)\r
-HttpTrackSource -> gstreamer : set_state(PAUSE)\r
-gstreamer --> HttpTrackSource : state_changed\r
-end\r
-HttpTrackSource --> TrackSourceCompositor : success\r
-TrackSourceCompositor --> Plusplayer : success\r
-deactivate TrackSourceCompositor\r
-Plusplayer --> BmsService : Listener::PrepareDone(success)\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_1.plantuml b/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_1.plantuml
deleted file mode 100755 (executable)
index b127340..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-@startuml\r
-\r
-title tracksource_exception_flow_1\r
-\r
-actor App\r
-boundary BmsService\r
-\r
-App -> BmsService : request playback\r
-BmsService -> Plusplayer : Open(url)\r
-Plusplayer -> TrackSource : TrackSource::CreateCompositor()\r
-Plusplayer -> TrackSourceCompositor : RegisterEventListener(this)\r
-BmsService -> Plusplayer : RegisterEventListener()\r
-\r
-BmsService -> Plusplayer : PrepareAsync()\r
-Plusplayer -> TrackSourceCompositor : AddSource(url)\r
-activate TrackSourceCompositor\r
-TrackSourceCompositor -> Typefinder : probe()\r
-group createpipeline\r
-Typefinder -> gstreamer : pipeline_new()\r
-Typefinder -> gstreamer : factory_make(src)\r
-Typefinder -> gstreamer : factory_make(typefinder)\r
-gstreamer --> Typefinder : Error()\r
-end\r
-Typefinder --> TrackSourceCompositor : fail\r
-TrackSourceCompositor --> Plusplayer : fail\r
-deactivate TrackSourceCompositor\r
-Plusplayer --> BmsService : Listener::PrepareDone(fail)\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_2.plantuml b/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_2.plantuml
deleted file mode 100755 (executable)
index bb7ec0e..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-@startuml\r
-\r
-title tracksource_exception_flow_2\r
-\r
-actor App\r
-boundary BmsService\r
-\r
-App -> BmsService : request playback\r
-BmsService -> Plusplayer : Open(url)\r
-Plusplayer -> TrackSource : TrackSource::CreateCompositor()\r
-Plusplayer -> TrackSourceCompositor : RegisterEventListener(this)\r
-BmsService -> Plusplayer : RegisterEventListener()\r
-\r
-BmsService -> Plusplayer : PrepareAsync()\r
-Plusplayer -> TrackSourceCompositor : AddSource(url)\r
-activate TrackSourceCompositor\r
-TrackSourceCompositor -> Typefinder : probe()\r
-group createpipeline\r
-Typefinder -> gstreamer : pipeline_new()\r
-Typefinder -> gstreamer : factory_make(src)\r
-Typefinder -> gstreamer : factory_make(typefinder)\r
-gstreamer --> Typefinder : Error()\r
-end\r
-Typefinder --> TrackSourceCompositor : fail\r
-TrackSourceCompositor --> Plusplayer : fail\r
-deactivate TrackSourceCompositor\r
-Plusplayer --> BmsService : Listener::PrepareDone(fail)\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_3.plantuml b/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_3.plantuml
deleted file mode 100755 (executable)
index 0a5083c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-@startuml\r
-\r
-title tracksource_exception_flow_3\r
-\r
-actor App\r
-boundary BmsService\r
-\r
-App -> BmsService : request playback\r
-BmsService -> Plusplayer : Open(url)\r
-Plusplayer -> TrackSource : TrackSource::CreateCompositor()\r
-Plusplayer -> TrackSourceCompositor : RegisterEventListener(this)\r
-BmsService -> Plusplayer : RegisterEventListener()\r
-\r
-BmsService -> Plusplayer : PrepareAsync()\r
-Plusplayer -> TrackSourceCompositor : AddSource(url)\r
-activate TrackSourceCompositor\r
-TrackSourceCompositor -> Typefinder : probe()\r
-group createpipeline\r
-Typefinder -> gstreamer : pipeline_new()\r
-Typefinder -> gstreamer : factory_make(src)\r
-Typefinder -> gstreamer : factory_make(typefinder)\r
-gstreamer --> Typefinder : OnHaveType_(sourcetype)\r
-end\r
-Typefinder --> TrackSourceCompositor : sourcetype\r
-TrackSourceCompositor -> HttpTrackSource : new\r
-\r
-HttpTrackSource --> TrackSourceCompositor : object\r
-\r
-Plusplayer -> TrackSourceCompositor : Prepare()\r
-TrackSourceCompositor -> HttpTrackSource : Prepare()\r
-group CreatePipeline\r
-HttpTrackSource -> gstreamer : factory_make(http_demuxer)\r
-HttpTrackSource -> gstreamer : factory_make(...)\r
-HttpTrackSource -> gstreamer : set_state(PAUSE)\r
-gstreamer --> HttpTrackSource : SyncMessageHandler(Error)\r
-end\r
-HttpTrackSource --> TrackSourceCompositor : fail\r
-TrackSourceCompositor --> Plusplayer : fail\r
-deactivate TrackSourceCompositor\r
-Plusplayer --> BmsService : Listener::OnPrepareDone(fail)\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/tvplus_update_activity_diagram/risk_management_lib_api_validation.plantuml b/docs/sequence_activity_diagram/tvplus_update_activity_diagram/risk_management_lib_api_validation.plantuml
deleted file mode 100755 (executable)
index 19cd0f5..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-@startuml\r
-\r
-database VersionInfo\r
-participant BmsService\r
-participant APIWrapper\r
-database Plusplayer.so\r
-\r
-ref over VersionInfo : VersionInfo contains libVersion and apiVersion\r
-ref over BmsService , VersionInfo : Compiled in SDK\r
-ref over BmsService , APIWrapper : downloaded and installed\r
-BmsService -> APIWrapper : Init()\r
-APIWrapper -> Plusplayer.so : GetVersion()\r
-Plusplayer.so --> APIWrapper : VersionInfo\r
-ref over APIWrapper : update current-apiVersion\r
-...\r
-BmsService -> APIWrapper : NewFunction()\r
-APIWrapper -> APIWrapper : check apiVersion\r
-alt current-apiVersion supports NewFuntion\r
-ref over Plusplayer.so : do something\r
-else current-apiVersion not support NewFuntion\r
-APIWrapper --> BmsService : return false\r
-end\r
-' 수정사항의 일부만 이전 모델에 반영 하는 경우....\r
-\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/tvplus_update_activity_diagram/update_procedure.plantuml b/docs/sequence_activity_diagram/tvplus_update_activity_diagram/update_procedure.plantuml
deleted file mode 100755 (executable)
index e89ecf3..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-@startuml\r
-\r
-title TVPlus Player update process\r
-\r
-(*) --> "Developing/Fixing Issues"\r
---> "Make TC"\r
---> "Devoloper Functional Verification"\r
-if "is there no issues ?" then\r
---> [fail] "Developing/Fixing Issues"\r
-else\r
---> [pass] "API Review w/ API reviewer board"\r
---> "Binary Compatibility Test"\r
-if "is there no issues ?" then\r
---> [fail] "Developing/Fixing Issues"\r
-else\r
---> [pass] "Library distribution to Bms Team"\r
---> "bms-daemon tpk packaing w/ player libraries"\r
---> Installation & Verification\r
-if "is there no issues ?" then\r
---> [fail] "Developing/Fixing Issues"\r
-else\r
---> [pass] "Minor/Patch Version Update"\r
---> "Request Release to Release Team"\r
---> "App server registration"\r
---> [Ending Process] (*)\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/sequence_activity_diagram/tvplusplusplayerhelper/tvplusplusplayerhelper_sequence_diagram.plantuml b/docs/sequence_activity_diagram/tvplusplusplayerhelper/tvplusplusplayerhelper_sequence_diagram.plantuml
deleted file mode 100755 (executable)
index e1d7ed8..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-@startuml\r
-\r
-BmsAVPlayer -> TvplusPlusplayerHelper : m_CreatePlayer()\r
-TvplusPlusplayerHelper -> Plusplayer : PlusPlayer::Create()\r
-Plusplayer --> TvplusPlusplayerHelper : object*\r
-BmsAVPlayer -> TvplusPlusplayerHelper : m_OpenStream()\r
-TvplusPlusplayerHelper -> Plusplayer : Open(url)\r
-TvplusPlusplayerHelper -> Plusplayer : SetBufferConfig()\r
-TvplusPlusplayerHelper -> Plusplayer : SetDisplayMode()\r
-TvplusPlusplayerHelper -> Plusplayer : SetDisplayRoi()\r
-TvplusPlusplayerHelper -> Plusplayer : SetDisplay(Evas_Object*)\r
-TvplusPlusplayerHelper -> Plusplayer : SetStreamingProperty()\r
-BmsAVPlayer -> TvplusPlusplayerHelper : m_Play()\r
-TvplusPlusplayerHelper -> Plusplayer : PrepareAsync()\r
-Plusplayer -> TvplusPlusplayerHelper : OnPrepareDone(ret)\r
-TvplusPlusplayerHelper -> Plusplayer : Start()\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/state_diagram/plusplayer_internal_state_diagram.png b/docs/state_diagram/plusplayer_internal_state_diagram.png
deleted file mode 100755 (executable)
index 573061b..0000000
Binary files a/docs/state_diagram/plusplayer_internal_state_diagram.png and /dev/null differ
diff --git a/docs/state_diagram/state_diagram.plantuml b/docs/state_diagram/state_diagram.plantuml
deleted file mode 100755 (executable)
index 4c69a8a..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-@startuml\r
-'skinparam backgroundColor LightYellow\r
-\r
-title plusplayer_internal_state_diagram\r
-\r
-state None {\r
-}\r
-state Idle {\r
-}\r
-state IdleInactive {\r
-}\r
-state TypeFinderReady {\r
-}\r
-state TrackSourceReady {\r
-}\r
-state Ready {\r
-}\r
-state ResourceConflicted {\r
-}\r
-\r
-\r
-[*] --> None\r
-None --> Idle : open\r
-None --> None : close\r
-\r
-Idle --> None : close\r
-Idle --> TypeFinderReady : probe\r
-Idle --> TypeFinderReady : pause_or_start_defered\r
-Idle --> IdleInactive : stop\r
-\r
-TypeFinderReady --> TrackSourceReady : prepare_source\r
-TypeFinderReady --> TrackSourceReady : pause_or_start_defered\r
-TypeFinderReady --> IdleInactive : stop\r
-\r
-TrackSourceReady --> Ready : prepare_renderer\r
-TrackSourceReady --> Ready : pause_or_start_defered\r
-TrackSourceReady --> IdleInactive : stop\r
-\r
-Ready --> Playing : start\r
-Ready --> Paused : pause\r
-Ready --> ResourceConflicted : resource_conflict\r
-Ready --> IdleInactive : stop\r
-Ready --> SourceStopped : stop_source\r
-\r
-Playing --> Paused : pause\r
-Playing --> Playing : resume\r
-Playing --> Paused : internal_pause\r
-Playing --> ResourceConflicted : resource_conflict\r
-Playing --> IdleInactive : stop\r
-Playing --> SourceStopped : stop_source\r
-\r
-Paused --> Playing : resume\r
-Paused --> Paused: pause\r
-Paused --> Playing : internal_resume\r
-Paused --> ResourceConflicted : resource_conflict\r
-Paused --> IdleInactive : stop\r
-Paused --> SourceStopped : stop_source\r
-\r
-ResourceConflicted --> Ready : restore\r
-ResourceConflicted --> IdleInactive : stop\r
-\r
-SourceChanged --> Playing : start\r
-SourceChanged --> SourceStopped : stop_source\r
-SourceChanged --> IdleInactive : stop\r
-SourceInitialized --> SourceChanged : prepare_source\r
-SourceInitialized --> SourceStopped : stop_source\r
-SourceInitialized --> IdleInactive : stop\r
-\r
-SourceStopped --> SourceInitialized : initialize_source\r
-SourceStopped --> IdleInactive : stop\r
-\r
-IdleInactive --> None : close\r
-\r
-@enduml
\ No newline at end of file
diff --git a/docs/state_diagram/state_diagram_v2_substatemachine.plantuml b/docs/state_diagram/state_diagram_v2_substatemachine.plantuml
deleted file mode 100755 (executable)
index 694fd69..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-@startuml\r
-\r
-'skinparam backgroundColor LightYellow\r
-\r
-title plusplayer_internal_state_diagram\r
-\r
-state Statemanager {\r
-\r
-note "Active state" as N1\r
-\r
-state Idle {\r
-  [*] --> IdleZero\r
-  state TypeFinderReady {\r
-  }\r
-  state TrackSourceReady {\r
-  }\r
-  Idle: defer InternalPause\r
-  Idle: defer InternalResume\r
-\r
-  IdleZero --> PseudoExit3 : close\r
-  IdleZero --> TypeFinderReady : probe\r
-  TypeFinderReady --> TrackSourceReady : prepare_source\r
-  TrackSourceReady --> PseudoExit : prepare_renderer\r
-\r
-  IdleZero : defer SelectTrack()\r
-  IdleZero : defer Pause()\r
-  IdleZero : defer Start()\r
-  TypeFinderReady : defer SelectTrack()\r
-  TypeFinderReady : defer Pause()\r
-  TypeFinderReady : defer Start()\r
-  TrackSourceReady : defer Pause()\r
-  TrackSourceReady : defer Start()\r
-  TrackSourceReady --> TrackSourceReady : SelectTrack()\r
-}\r
-\r
-state ChangingSource {\r
-  state SourceStopped {\r
-  }\r
-  state SourceInitialized {\r
-  }\r
-  ChangingSource: defer InternalPause\r
-  ChangingSource: defer InternalResume\r
-\r
-  [*] --> SourceStopped\r
-\r
-  SourceStopped --> SourceInitialized : initialize_source\r
-  SourceStopped --> SourceStopped : stop_source\r
-\r
-  SourceInitialized --> SourceStopped : stop_source\r
-  SourceInitialized --> PseudoExit1 : prepare_source\r
-}\r
-\r
-[*] --> None\r
-None --> Idle : open\r
-None --> None : close\r
-PseudoExit3 --> None : close\r
-PseudoExit --> Ready : prepare_renderer\r
-\r
-Ready --> Playing : start\r
-Ready --> Paused : pause\r
-Ready --> Ready : internal_pause\r
-Ready --> Playing : internal_resume\r
-Paused --> Playing : resume\r
-Paused --> Playing : internal_resume\r
-Paused --> Paused : internal_pause\r
-Paused --> Playing : start\r
-Playing --> Paused : pause\r
-Playing --> Paused : internal_pause\r
-\r
-Paused --> Paused: pause\r
-Playing --> Playing : resume\r
-\r
-ResourceConflicted --> Ready : restore\r
-Ready --> ResourceConflicted : resource_conflict\r
-Playing --> ResourceConflicted : resource_conflict\r
-Paused --> ResourceConflicted : resource_conflict\r
-\r
-Ready --> ChangingSource : stop_source\r
-Paused --> ChangingSource : stop_source\r
-Playing --> ChangingSource : stop_source\r
-\r
-PseudoExit1 --> Ready : prepare_source\r
-\r
-Playing --> Playing : seek\r
-Paused --> Paused : seek\r
-\r
-Ready --> Ready : select_track()\r
-Playing --> Playing : select_track()\r
-Paused --> Paused : select_track()\r
-\r
---\r
-\r
-note "Inactive state" as N2\r
-[*] --> Active\r
-Active --> Inactive : stop\r
-Inactive --> Inactive : stop\r
-note right of Inactive\r
-Inactive is interrupt state only allowing {stop , close} events.\r
-others will be ignored.\r
-end note\r
-Inactive --> Close : close\r
-\r
-}\r
-\r
-@enduml
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index c7daeed..a2fcf43
@@ -33,7 +33,6 @@
 #include "esplusplayer_capi/error.h"
 #include "esplusplayer_capi/espacket.h"
 #include "esplusplayer_capi/event.h"
-#include "esplusplayer_capi/latency.h"
 #include "esplusplayer_capi/state.h"
 #include "esplusplayer_capi/stream.h"
 #include "esplusplayer_capi/submitdatatype.h"
@@ -70,12 +69,6 @@ typedef void (*esplusplayer_closed_caption_cb)(const char* data, const int size,
 typedef void (*esplusplayer_flush_done_cb)(void*);
 typedef void (*esplusplayer_event_cb)(const esplusplayer_event_type,
                                       const esplusplayer_event_msg, void*);
-typedef void (*esplusplayer_video_latency_status_cb)(
-    const esplusplayer_latency_status latency_status, void*);
-typedef void (*esplusplayer_audio_latency_status_cb)(
-    const esplusplayer_latency_status latency_status, void*);
-typedef void (*esplusplayer_video_high_latency_cb)(void*);
-typedef void (*esplusplayer_audio_high_latency_cb)(void*);
 
 typedef void* esplusplayer_handle;
 
@@ -377,7 +370,7 @@ int esplusplayer_close(esplusplayer_handle handle);
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_create()
- * @endcode 
+ * @endcode
  * @pre       The player state must be #ESPLUSPLAYER_STATE_NONE
  * @post      player handle will be removed.
  * @exception None
@@ -398,7 +391,7 @@ int esplusplayer_destroy(esplusplayer_handle handle);
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
               refer to the sample code of esplusplayer_activate()
- * @endcode 
+ * @endcode
  * @pre       The player state must be at least #ESPLUSPLAYER_STATE_READY
  * @post      The player state is same as before calling
  *            esplusplayer_deactivate(). The deactivated stream will stop
@@ -718,28 +711,6 @@ int esplusplayer_set_app_info(esplusplayer_handle handle,
 int esplusplayer_set_display(esplusplayer_handle handle,
                              esplusplayer_display_type type, void* window);
 /**
- * @brief     Set the video display.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] type : display type.
- * @param     [in] subsurface : the ecore wayland subsurface handle.
- * @param     [in] x : the x coordinate of subsurface.
- * @param     [in] y : the y coordinate of subsurface.
- * @param     [in] width : the width of subsurface.
- * @param     [in] height : the height of subsurface.
- * @return    @c one of esplusplayer_error_type values will be returned.
- * @pre       The player state must be #ESPLUSPLAYER_STATE_IDLE.
- * @post      None
- * @exception   None
- * @version   3.1
- * @see       esplusplayer_set_display_mode() \n
- *            esplusplayer_set_display_roi() \n
- *            esplusplayer_set_display_visible()
- */
-int esplusplayer_set_display_ecore_subsurface(esplusplayer_handle handle,
-                                              esplusplayer_display_type type,
-                                              void* subsurface, int x, int y,
-                                              int width, int height);
-/**
  * @brief     Set the video display mode.
  * @param     [in] handle : esplusplayer handle.
  * @param     [in] mode : display mode.
@@ -781,7 +752,7 @@ int esplusplayer_set_display_mode(esplusplayer_handle handle,
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            esplusplayer_open(esplayer);
- *            esplusplayer_set_display(esplayer,ESPLUSPLAYER_DISPLAY_TYPE_OVERLAY,window);              
+ *            esplusplayer_set_display(esplayer,ESPLUSPLAYER_DISPLAY_TYPE_OVERLAY,window);
  *            esplusplayer_set_display_mode(esplayer,ESPLUSPLAYER_DISPLAY_MODE_DST_ROI);
  *            esplusplayer_set_display_roi(esplayer,0,0,600,500);
  *            // ... your codes ...
@@ -834,31 +805,6 @@ int esplusplayer_set_video_roi(esplusplayer_handle handle, double scale_x,
                                double scale_y, double scale_w, double scale_h);
 
 /**
- * @brief     Resize the render rectangle(the max region that video can be
- * displayed).
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] x: x coordinate of render rectangle.
- * @param     [in] y: y coordinate of render rectangle.
- * @param     [in] width: width  of render rectangle.
- * @param     [in] height: height  of render rectangle.
- * @return    @c one of esplusplayer_error_type values will be returned.
- * @pre       Should be called after esplusplayer_set_display() \n
- *            esplusplayer_set_surface_display() \n
- *            esplusplayer_set_ecore_display() \n
- *            esplusplayer_set_display_ecore_subsurface
- * @post      None
- * @exception   None
- * @version   3.2
- * @remark    The minimum value of width and height are 1.
- * @see       esplusplayer_set_display() \n
- *            esplusplayer_set_surface_display() \n
- *            esplusplayer_set_ecore_display() \n
- *            esplusplayer_set_display_ecore_subsurface
- */
-int esplusplayer_resize_render_rect(esplusplayer_handle handle, int x, int y,
-                                    int width, int height);
-
-/**
  * @brief     Set the visibility of the video display.
  * @param     [in] handle : esplusplayer handle.
  * @param     [in] visible : the visibility of the display.
@@ -940,36 +886,6 @@ int esplusplayer_get_display_rotation(
     esplusplayer_handle handle, esplusplayer_display_rotation_type* rotation);
 
 /**
- * @deprecated Deprecated since API V2.0. Use
- *             esplusplayer_set_submit_data_type() instead.
- * @brief     Set whether to send decrypted es packets in the trust zone.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] using_tz : whether to use trust zone memory.
- *            (@c true = if decrypted packets are sent in trust zone, @c false =
- *            otherwise @c)
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            esplusplayer_set_tz_use(esplayer, true);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_IDLE.
- * @post      None
- * @exception None
- * @remark    This API have to be called before calling
- *            esplusplayer_prepare_async(). \n If using_tz is set to true, use
- *            esplusplayer_submit_trust_zone_packet() to send decrypted packets.
- * @see       esplusplayer_open() \n
- *            esplusplayer_submit_trust_zone_packet()
- */
-int esplusplayer_set_tz_use(esplusplayer_handle handle, bool using_tz);
-
-/**
  * @brief     Set whether to send decrypted es packets in the trust zone or
  *            encrypted es packets.
  * @param     [in] handle : esplusplayer handle.
@@ -992,13 +908,9 @@ int esplusplayer_set_tz_use(esplusplayer_handle handle, bool using_tz);
  *            esplusplayer_prepare_async(). \n
  *            If type is ESPLUSPLAYER_SUBMIT_DATA_TYPE_CLEAN_DATA use
  *            esplusplayer_submit_packet() to send clean packets. \n
- *            If type is ESPLUSPLAYER_SUBMIT_DATA_TYPE_TRUSTZONE_DATA, use
- *            esplusplayer_submit_trust_zone_packet() to send decrypted packets
- *            in trust zone \n
  *            If type is ESPLUSPLAYER_SUBMIT_DATA_TYPE_ENCRYPTED_DATA, use
  *            esplusplayer_submit_encrypted_packet() to send encrypted packets.
  * @see       esplusplayer_open() \n
- *            esplusplayer_submit_trust_zone_packet() \n
  *            esplusplayer_submit_encrypted_packet() \n
  *            esplusplayer_submit_data_type
  */
@@ -1037,7 +949,7 @@ int esplusplayer_set_audio_mute(esplusplayer_handle handle, bool mute);
  *            esplusplayer_handle esplayer = esplusplayer_create();
  *            // ... your codes ...
  *            esplusplayer_state ret = esplusplayer_get_state(esplayer);
- *            // ... your codes ...             
+ *            // ... your codes ...
  *            esplusplayer_destroy(esplayer);
  * @endcode
  * @pre       None
@@ -1145,39 +1057,6 @@ esplusplayer_submit_status esplusplayer_submit_packet(
     esplusplayer_handle handle, esplusplayer_es_packet* packet);
 
 /**
- * @brief     Submit es packet to decode audio or video.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] packet : es packet pointer.
- * @param     [in] tz_handle : es decrypted tz handle.
- * @return    @c ESPLUSPLAYER_SUBMIT_STATUS_SUCCESS : succeed to submit es
- *            packet,
- *            otherwise @c : fail to submit es packet.
- * @code
- *            refer to the sample code of esplusplayer_submit_packet();
- * @endcode 
- * @pre       User can submit es packets after
- *            esplusplayer_ready_to_prepare_cb() or
- *            esplusplayer_ready_to_seek_cb() is called.
- * @post      None
- * @exception None
- * @remark    Amount of packets for at least one decoded frame must be submitted
- *            after calling esplusplayer_prepare_async() or esplusplayer_seek()
- *            for invoking esplusplayer_prepare_async_done_cb() or
- *            esplusplayer_seek_done_cb(). \n
- *            To use this api, Must set
- * ESPLUSPLAYER_SUBMIT_DATA_TYPE_TRUSTZONE_DATA using
- * esplusplayer_set_submit_data_type() \n This api must be called from a
- * different thread than other apis.
- * @see       esplusplayer_es_packet \n
- *            esplusplayer_buffer_status_cb() \n
- *            esplusplayer_ready_to_prepare_cb() \n
- *            esplusplayer_ready_to_seek_cb()
- */
-esplusplayer_submit_status esplusplayer_submit_trust_zone_packet(
-    esplusplayer_handle handle, esplusplayer_es_packet* packet,
-    uint32_t tz_handle);
-
-/**
  * @brief     Submit encrypted es packet to decode and decrypt audio or video.
  * @param     [in] handle : esplusplayer handle.
  * @param     [in] packet : es packet pointer.
@@ -1190,7 +1069,7 @@ esplusplayer_submit_status esplusplayer_submit_trust_zone_packet(
  *            otherwise @c : fail to submit es packet.
  * @code
  *            refer to the sample code of esplusplayer_submit_packet();
- * @endcode 
+ * @endcode
  * @pre       User can submit es packets after
  *            esplusplayer_ready_to_prepare_cb() or
  *            esplusplayer_ready_to_seek_cb() is called.
@@ -1323,7 +1202,7 @@ int esplusplayer_get_playing_time(esplusplayer_handle handle, uint64_t* ms);
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
- *            prepare esplayer done 
+ *            prepare esplayer done
  *            // ... your codes ...
  *            uint64_t count = 0;
  *            esplusplayer_get_adaptive_info(esplayer,
@@ -1351,7 +1230,7 @@ int esplusplayer_get_adaptive_info(
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
- *            esplusplayer_open(esplayer); 
+ *            esplusplayer_open(esplayer);
  *            int vol = 80;
  *            esplusplayer_set_volume(esplayer, vol)
  *            // ... your codes ...
@@ -1402,7 +1281,7 @@ int esplusplayer_get_volume(esplusplayer_handle handle, int* volume);
  *            esplusplayer_set_video_frame_buffer_type(esplayer,
  *                ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_NONE);
  *            // ... your codes ...
- *            esplusplayer_close(esplayer); 
+ *            esplusplayer_close(esplayer);
  * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_IDLE when type
               is not equal to be
@@ -1424,53 +1303,6 @@ int esplusplayer_set_video_frame_buffer_type(
     esplusplayer_decoded_video_frame_buffer_type type);
 
 /**
- * @brief     Set the request frame rate of decoded video
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] request_framerate : the request frame rate of returned decoded video frame
- *                 The value of track_framerate(A) and request_framerate(B) should be one of the following sets:
- *                 track_framerate indicate the frame rate of input video stream
- *                 1.A/(A-B) = X ,X means drop 1 frame every X frame
- *                 2.Special cases,such as 24000/1000 -> 15000/1000
- *                 when request_framerate.num = 0, return none decoded video frame
- *                 when request_framerate.num/request_framerate.den =
- *                   track_framerate.num/track_framerate.den, return all decoded 
- *                   video frame
- *                 when request_framerate.num/request_framerate.den <
- *                   track_framerate.num/track_framerate.den, drop some decoded 
- *                   video frame
- * @return    @c one of esplusplayer_error_type values will be returned.
- * @pre       The player state must be not #ESPLUSPLAYER_STATE_NONE.
- * @post      None
- * @exception   None
- * @version   3.3
- * @remark    only works when decoded video frame buffer type is scale
- *            esplusplayer_set_video_frame_buffer_type()
- *            esplusplayer_set_media_packet_video_decoded_cb()
- */
-int esplusplayer_set_decoded_video_frame_rate(
-    esplusplayer_handle handle, esplusplayer_rational request_framerate);
-
-/**
- * @brief     Set the target scale resolution when decoded video frame buffer
- * type is scale
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] target_width : scale target width of video frame buffer.
- * @param     [in] target_width : scale target height of video frame buffer.
- * @return    @c one of esplusplayer_error_type values will be returned.
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_IDLE.
- * @post      None
- * @exception   None
- * @version   3.1
- * @remark    esplusplayer_set_video_frame_buffer_type()
- *            esplusplayer_set_media_packet_video_decoded_cb()
- *            If user don't call this api to set target_width and target_height,
- * the default
- *            target scale resolution is 960x540
- */
-int esplusplayer_set_video_frame_buffer_scale_resolution(
-    esplusplayer_handle handle, uint32_t target_width, uint32_t target_height);
-
-/**
  * @brief     Flush buffers for a player.
  * @param     [in] handle : esplusplayer handle ptr.
  * @param     [in] type : choose which stream data need to be
@@ -1559,13 +1391,13 @@ int esplusplayer_set_error_cb(esplusplayer_handle handle,
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      esplusplayer_buffer_status_cb() will be invoked.
  * @exception None
  * @remark    esplusplayer_buffer_status_cb()
- *            if buffer_status_cb is set to null, 
+ *            if buffer_status_cb is set to null,
  *            esplusplayer_buffer_status_cb() will not be invoked anymore.
  */
 int esplusplayer_set_buffer_status_cb(
@@ -1586,7 +1418,7 @@ int esplusplayer_set_buffer_status_cb(
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_submit_packet();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      esplusplayer_buffer_byte_status_cb() will be invoked.
@@ -1611,7 +1443,7 @@ int esplusplayer_set_buffer_byte_status_cb(
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
               refer to the sample code of esplusplayer_submit_packet();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      esplusplayer_buffer_time_status_cb() will be invoked.
@@ -1619,7 +1451,7 @@ int esplusplayer_set_buffer_byte_status_cb(
  * @remark    esplusplayer_buffer_time_status_cb(),
  *            esplusplayer_buffer_time_status_cb() will be invoked only
  *            when the duration value of espacket is set.
- *            if buffer_status_cb is set to null, 
+ *            if buffer_status_cb is set to null,
  *            esplusplayer_buffer_time_status_cb() will not be invoked anymore.
  */
 int esplusplayer_set_buffer_time_status_cb(
@@ -1627,64 +1459,6 @@ int esplusplayer_set_buffer_time_status_cb(
     esplusplayer_buffer_time_status_cb buffer_status_cb, void* userdata);
 
 /**
- * @brief     Set a callback function to be invoked when video latency status
- *            is changed.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] video_high_latency_status_cb : the video high latency status
- *            callback function to register.
- * @param     [in] userdata : userdata of
- *             esplusplayer_set_video_latency_status_cb()
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
- *            or #ESPLUSPLAYER_STATE_IDLE.
- * @post      esplusplayer_video_latency_status_cb() will be invoked.
- * @exception None
- * @version   3.0
- * @remark    esplusplayer_video_latency_status_cb() will be invoked only
- *            when mid / high latency threshold is set.
- */
-int esplusplayer_set_video_latency_status_cb(
-    esplusplayer_handle handle,
-    esplusplayer_video_latency_status_cb video_high_latency_status_cb,
-    void* userdata);
-
-/**
- * @brief     Set a callback function to be invoked when audio latency status
- * is changed.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] audio_high_latency_status_cb : the audio high latency status
- *            callback function to register.
- * @param     [in] userdata : userdata of
- *            esplusplayer_set_audio_latency_status_cb()
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
- *            or #ESPLUSPLAYER_STATE_IDLE.
- * @post      esplusplayer_audio_latency_status_cb() will be invoked.
- * @exception None
- * @version   3.0
- * @remark    esplusplayer_audio_latency_status_cb() will be invoked only
- *            when mid / high latency threshold is set.
- */
-int esplusplayer_set_audio_latency_status_cb(
-    esplusplayer_handle handle,
-    esplusplayer_audio_latency_status_cb audio_high_latency_status_cb,
-    void* userdata);
-
-/**
  * @brief     Set buffer size with different option
  * @param     [in] handle : esplusplayer handle.
  * @param     [in] option : the option of buffer size.
@@ -1723,13 +1497,13 @@ int esplusplayer_set_buffer_size(esplusplayer_handle handle,
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      esplusplayer_resource_conflicted_cb() will be invoked.
  * @exception None
  * @remark    esplusplayer_resource_conflicted_cb()
- *            if resource_conflicted_cb is set to null, 
+ *            if resource_conflicted_cb is set to null,
  *            esplusplayer_resource_conflicted_cb() will not be invoked
  *            anymore.
  */
@@ -1750,7 +1524,7 @@ int esplusplayer_set_resource_conflicted_cb(
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      esplusplayer_eos_cb() will be invoked.
@@ -1776,13 +1550,13 @@ int esplusplayer_set_eos_cb(esplusplayer_handle handle,
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_submit_packet();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      None
  * @exception None
  * @remark    esplusplayer_prepare_async()
- *            if ready_to_prepare_cb is set to null, 
+ *            if ready_to_prepare_cb is set to null,
  *            esplusplayer_ready_to_prepare_cb() will not be invoked anymore.
  */
 int esplusplayer_set_ready_to_prepare_cb(
@@ -1803,14 +1577,14 @@ int esplusplayer_set_ready_to_prepare_cb(
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of plusplayer_prepare_async();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      esplusplayer_prepare_async_done_cb() will be invoked.
  * @exception It is prohibited to call any player APIs at
  *            esplusplayer_prepare_async_done_cb callback.
  * @remark    esplusplayer_prepare_async_done_cb()
- *            if prepare_async_done_cb is set to null, 
+ *            if prepare_async_done_cb is set to null,
  *            esplusplayer_prepare_async_done_cb() will not be
  *            invoked anymore.
  * @see       plusplayer_prepare_async
@@ -1832,7 +1606,7 @@ int esplusplayer_set_prepare_async_done_cb(
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      esplusplayer_seek_done_cb() will be invoked.
@@ -1859,7 +1633,7 @@ int esplusplayer_set_seek_done_cb(esplusplayer_handle handle,
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      None
@@ -1887,7 +1661,7 @@ int esplusplayer_set_ready_to_seek_cb(
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      None
@@ -1922,7 +1696,7 @@ int esplusplayer_set_media_packet_video_decoded_cb(
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      When there is closed caption data, call
@@ -1954,7 +1728,7 @@ int esplusplayer_set_closed_caption_cb(
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
+ * @endcode
  * @pre       This api should be called before esplusplayer_flush() is called
  * @post      esplusplayer_flush_done_cb() will be invoked.
  * @exception None
@@ -1978,7 +1752,7 @@ int esplusplayer_set_flush_done_cb(esplusplayer_handle handle,
  * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
  * @code
  *            refer to the sample code of esplusplayer_set_error_cb();
- * @endcode 
+ * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE
  *            or #ESPLUSPLAYER_STATE_IDLE.
  * @post      esplusplayer_event_cb() will be invoked.
@@ -2017,7 +1791,7 @@ int esplusplayer_decoded_buffer_destroy(
  *            esplusplayer_open(esplayer);
  *            esplusplayer_set_low_latency_mode(esplayer,ESPLUSPLAYER_LOW_LATENCY_MODE_NONE);
  *            // ... your codes ...
- *            esplusplayer_close(esplayer); 
+ *            esplusplayer_close(esplayer);
  * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_IDLE.
  * @post      None
@@ -2108,12 +1882,11 @@ int esplusplayer_render_video_frame(esplusplayer_handle handle);
  * @remark    esplusplayer_set_unlimited_max_buffer_mode().
  *            esplusplayer_buffer_status_cb() will be invoked in
  *            overrun/underrun buffer status. but
- * esplusplayer_submit_packet()/esplusplayer_submit_trust_zone_packet()
- *            /esplusplayer_submit_encrypted_packet()
+ *            esplusplayer_submit_packet() /
+ *            esplusplayer_submit_encrypted_packet()
  *            does not return ESPLUSPLAYER_SUBMIT_STATUS_FULL
  * @see       esplusplayer_open() \n
  *            esplusplayer_submit_packet() \n
- *            esplusplayer_submit_trust_zone_packet() \n
  *            esplusplayer_submit_encrypted_packet()
  */
 int esplusplayer_set_unlimited_max_buffer_mode(esplusplayer_handle handle);
@@ -2129,7 +1902,7 @@ int esplusplayer_set_unlimited_max_buffer_mode(esplusplayer_handle handle);
  *            esplusplayer_open(esplayer);
  *            esplusplayer_set_fmm_mode(esplayer);
  *            // ... your codes ...
- *            esplusplayer_close(esplayer);              
+ *            esplusplayer_close(esplayer);
  * @endcode
  * @pre       The player state must be set to #ESPLUSPLAYER_STATE_IDLE.
  * @post      None
@@ -2195,660 +1968,6 @@ int esplusplayer_set_audio_codec_type(esplusplayer_handle handle,
  */
 int esplusplayer_set_video_codec_type(esplusplayer_handle handle,
                                       esplusplayer_video_codec_type type);
-/**
- * @brief     Provided api for setting alternative video resource(sub decoder
- *            and sub scaler)
- * @param     [in] handle : esplusplayer handle ptr.
- * @param     [in] rsc_type : set alternative video resource
- *            (@c 0 [defualt] = set all video resources(decoder/scaler) to main
- *                              resources,
- *             @c 1 = set all video resources(decoder/scaler) to sub resources,
- *             @c 2 = set only decoder to sub resource,
- *             @c 3 = set only scaler to sub resource)
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            esplusplayer_set_alternative_video_resource(esplayer,1);
- *             // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state can be all of #State except
- *            #ESPLUSPLAYER_STATE_NONE.
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-int esplusplayer_set_alternative_video_resource(esplusplayer_handle handle,
-                                                unsigned int rsc_type);
-
-/**
- * @brief     Provided api for switching audio stream between the different
- *            audio codec types on the fly
- * @param     [in] handle : esplusplayer handle ptr.
- * @param     [in] stream : audio stream pointer
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            prepare esplayer done
- *            // ... your codes ...
- *            esplusplayer_audio_stream_info audio_stream;
- *            audio_stream.mime_type = ESPLUSPLAYER_AUDIO_MIME_TYPE_AC3;
- *            audio_stream.sample_rate = 48000;
- *            audio_stream.channels = 2;
- *            esplusplayer_switch_audio_stream_onthefly(esplayer,
- *                &audio_stream);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state must be one of #ESPLUSPLAYER_STATE_READY,
- *            #ESPLUSPLAYER_STATE_PAUSED or #ESPLUSPLAYER_STATE_PLAYING
- * @post      None
- * @exception   None
- * @remark    Audio codec can be switched between only
- *            #ESPLUSPLAYER_AUDIO_MIME_TYPE_AAC,
- *            #ESPLUSPLAYER_AUDIO_MIME_TYPE_EAC3
- *            and #ESPLUSPLAYER_AUDIO_MIME_TYPE_AC3.
- *            if other codec is set, this api will return false.
- * @version   3.0
- * @see       esplusplayer_prepare_async()
- */
-int esplusplayer_switch_audio_stream_onthefly(
-    esplusplayer_handle handle, esplusplayer_audio_stream_info* stream);
-/**
- * @brief     Provided api for setting aifilter
- * @param     [in] handle : esplusplayer handle ptr.
- * @param     [in] aifilter :  aifilter plugin.
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            GstElement* aifilter_ =
- *                gst_element_factory_make("aifilter_autozoom","auto_zoom");
- *            g_object_set(G_OBJECT(aifilter_), "az_cb_out_fps", 30, NULL);
- *            g_object_set(G_OBJECT(aifilter_), "az_inference_fps", 2, NULL);
- *            g_object_set(G_OBJECT(aifilter_), "az_disp_width", 1920, NULL);
- *            g_object_set(G_OBJECT(aifilter_), "az_disp_height", 1080, NULL);
- *            g_object_set(G_OBJECT(aifilter_), "az_detection_type", 2, NULL);
- *            g_object_set(G_OBJECT(aifilter_), "az_scaler_type", 1, NULL);
- *            g_object_set(G_OBJECT(aifilter_), "az_target_num", 2, NULL);
- *            esplusplayer_set_aifilter(esplayer,aifilter_);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_IDLE.
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-int esplusplayer_set_aifilter(esplusplayer_handle handle, void* aifilter);
-
-/**
- * @brief     Provided api for setting render time offset
- * @param     [in] handle : esplusplayer handle ptr.
- * @param     [in] type : stream type
- * @param     [in] offset : offset (milisecond).
- *                          G_MININT64 <= offset * 1000000 <= G_MAXINT64
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            esplusplayer_set_low_latency_mode(esplayer,ESPLUSPLAYER_LOW_LATENCY_MODE_NONE);
- *            prepare esplayer 
- *            // ... your codes ...
- *            int64_t set_offset = 10;
- *            esplusplayer_set_render_time_offset(esplayer,ESPLUSPLAYER_STREAM_TYPE_VIDEO,
- *                                                set_offset);
- *            int64_t get_offset = 0;
- *            esplusplayer_get_render_time_offset(esplayer_,ESPLUSPLAYER_STREAM_TYPE_VIDEO,
- *                                                &get_offset);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_READY,
- *            #ESPLUSPLAYER_STATE_PAUSED or #ESPLUSPLAYER_STATE_PLAYING.
- *            It have to be set to low latency mode. (all mode except
- *            # ESPLUSPLAYER_LOW_LATENCY_MODE_DISABLE_SYNC)
- * @remark    esplusplayer_set_low_latency_mode().
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-int esplusplayer_set_render_time_offset(esplusplayer_handle handle,
-                                        esplusplayer_stream_type type,
-                                        int64_t offset);
-/**
- * @brief     Provided api for getting render time offset
- * @param     [in] handle : esplusplayer handle ptr.
- * @param     [in] type : stream type
- * @param     [in] offset : offset ptr (milisecond).
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_READY,
- *            #ESPLUSPLAYER_STATE_PAUSED or #ESPLUSPLAYER_STATE_PLAYING.
- *            It have to be set to low latency mode.
- * @remark    esplusplayer_set_low_latency_mode().
- * @post      None
- * @exception None
- * @version   3.0
- * see        esplusplayer_set_render_time_offset
- */
-int esplusplayer_get_render_time_offset(esplusplayer_handle handle,
-                                        esplusplayer_stream_type type,
-                                        int64_t* offset);
-/**
- * @brief     Provided api for setting catch up speed level in low latency mode
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] level : speed level to catch up
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            esplusplayer_set_low_latency_mode(esplayer,ESPLUSPLAYER_LOW_LATENCY_MODE_VIDEO);
- *            esplusplayer_set_catch_up_speed(esplayer,ESPLUSPLAYER_CATCH_UP_SPEED_MID);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state must be one of #ESPLUSPLAYER_STATE_IDLE,
- *            #ESPLUSPLAYER_STATE_READY, #ESPLUSPLAYER_STATE_PLAYING
- *            or #ESPLUSPLAYER_STATE_PAUSED
- *            esplusplayer_set_low_latency_mode() should be called as below
- *            before this api is called.
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_AUDIO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_VIDEO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_DISABLE_SYNC),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_DISABLE_VIDEO_QUALITY)
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-int esplusplayer_set_catch_up_speed(esplusplayer_handle handle,
-                                    esplusplayer_catch_up_speed level);
-
-/**
- * @brief     Provided api for getting current video latency status
- * @param     [in] handle : esplusplayer handle.
- * @param     [out] status : current latency status
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            prepare esplayer done
- *            // ... your codes ...
- *            esplusplayer_latency_status current_status =
- *                ESPLUSPLAYER_LATENCY_LOW;
- *            esplusplayer_get_video_latency_status(esplayer, &current_status);
- *            // ... your codes ...
- *            esplusplayer_stop(esplayer);
- * @endcode
- * @pre       The player state must be one of #ESPLUSPLAYER_STATE_READY,
- *            #ESPLUSPLAYER_STATE_PLAYING or #ESPLUSPLAYER_STATE_PAUSED
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_prepare_async()
- */
-int esplusplayer_get_video_latency_status(esplusplayer_handle handle,
-                                          esplusplayer_latency_status* status);
-
-/**
- * @brief     Provided api for getting current audio latency status
- * @param     [in] handle : esplusplayer handle.
- * @param     [out] status : current latency status
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            prepare esplayer done
- *            // ... your codes ...
- *            esplusplayer_latency_status current_status =
- *                ESPLUSPLAYER_LATENCY_LOW;
- *            esplusplayer_get_audio_latency_status(esplayer, &current_status);
- *            // ... your codes ...
- *            esplusplayer_stop(esplayer);
- * @endcode
- * @pre       The player state must be one of #ESPLUSPLAYER_STATE_READY,
- *            #ESPLUSPLAYER_STATE_PLAYING or #ESPLUSPLAYER_STATE_PAUSED
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_prepare_async()
- */
-int esplusplayer_get_audio_latency_status(esplusplayer_handle handle,
-                                          esplusplayer_latency_status* status);
-
-/**
- * @brief     Provided api for setting video mid latency threshold for low
- * latency
- * playback
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] threshold: the threshold(number) of the video frames for mid
- * latency.
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            esplusplayer_set_low_latency_mode(esplayer,ESPLUSPLAYER_LOW_LATENCY_MODE_VIDEO);
- *            esplusplayer_set_video_mid_latency_threshold(esplayer,2);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state must be one of #ESPLUSPLAYER_STATE_IDLE,
- *            #ESPLUSPLAYER_STATE_READY, #ESPLUSPLAYER_STATE_PLAYING
- *            or #ESPLUSPLAYER_STATE_PAUSED
- *            esplusplayer_set_low_latency_mode() should be called as below
- *            before this api is called.
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_AUDIO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_VIDEO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_DISABLE_SYNC),
- *            esplusplayer_set_low_latency_mode(handle,
- *                  ESPLUSPLAYER_LOW_LATENCY_MODE_ENABLE_GAME_MODE)
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-/// TODO:: set the min/max value of the threshold
-int esplusplayer_set_video_mid_latency_threshold(esplusplayer_handle handle,
-                                                 const unsigned int threshold);
-
-/**
- * @brief     Provided api for setting audio mid latency threshold for low
- * latency
- * playback
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] threshold: the threshold(number) of the audio frames for mid
- * latency.
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            esplusplayer_set_low_latency_mode(esplayer,ESPLUSPLAYER_LOW_LATENCY_MODE_AUDIO);
- *            esplusplayer_set_audio_mid_latency_threshold(esplayer,2);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer); 
- * @endcode
- * @pre       The player state must be one of #ESPLUSPLAYER_STATE_IDLE,
- *            #ESPLUSPLAYER_STATE_READY, #ESPLUSPLAYER_STATE_PLAYING
- *            or #ESPLUSPLAYER_STATE_PAUSED
- *            esplusplayer_set_low_latency_mode() should be called as below
- *            before this api is called.
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_AUDIO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_VIDEO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_DISABLE_SYNC),
- *            esplusplayer_set_low_latency_mode(handle,
- *                  ESPLUSPLAYER_LOW_LATENCY_MODE_ENABLE_GAME_MODE)
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-/// TODO:: set the min/max value of the threshold
-int esplusplayer_set_audio_mid_latency_threshold(esplusplayer_handle handle,
-                                                 const unsigned int threshold);
-
-/**
- * @brief     Provided api for setting video high latency threshold for low
- * latency
- * playback
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] threshold: the threshold(number) of the video frames for high
- * latency.
- * @param     [in] video_high_latency_cb : high latency callback function to
- * register
- * @param     [in] userdata : userdata of esplusplayer_high_latency_cb()
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            static void OnVideoHighLatency(void* userdata) {
- *                printf ("OnVideoHighLatency\n");
- *            }
- *            esplusplayer_open(esplayer);
- *            esplusplayer_set_low_latency_mode(esplayer,ESPLUSPLAYER_LOW_LATENCY_MODE_VIDEO);
- *            esplusplayer_set_video_high_latency_threshold(esplayer, 2,
- *                OnVideoHighLatency, nullptr);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state must be one of #ESPLUSPLAYER_STATE_IDLE,
- *            #ESPLUSPLAYER_STATE_READY, #ESPLUSPLAYER_STATE_PLAYING
- *            or #ESPLUSPLAYER_STATE_PAUSED
- *            esplusplayer_set_low_latency_mode() should be called as below
- *            before this api is called.
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_AUDIO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_VIDEO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_DISABLE_SYNC),
- *            esplusplayer_set_low_latency_mode(handle,
- *                  ESPLUSPLAYER_LOW_LATENCY_MODE_ENABLE_GAME_MODE)
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-/// TODO:: set the min/max value of the threshold
-int esplusplayer_set_video_high_latency_threshold(
-    esplusplayer_handle handle, const unsigned int threshold,
-    esplusplayer_video_high_latency_cb video_high_latency_cb, void* userdata);
-
-/**
- * @brief     Provided api for setting audio high latency threshold for low
- * latency
- * playback
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] threshold: the threshold(number) of the audio frames for high
- * latency.
- * @param     [in] audio_high_latency_cb : high latency callback function to
- * register
- * @param     [in] userdata : userdata of esplusplayer_high_latency_cb()
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            static void OnAudioHighLatency(void* userdata) {
- *                printf ("OnAudioHighLatency\n");
- *            }
- *            esplusplayer_open(esplayer);
- *            esplusplayer_set_low_latency_mode(esplayer,ESPLUSPLAYER_LOW_LATENCY_MODE_AUDIO);
- *            esplusplayer_set_audio_high_latency_threshold(esplayer, 2,
- *                OnAudioHighLatency, nullptr);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer); 
- * @endcode
- * @pre       The player state must be one of #ESPLUSPLAYER_STATE_IDLE,
- *            #ESPLUSPLAYER_STATE_READY, #ESPLUSPLAYER_STATE_PLAYING
- *            or #ESPLUSPLAYER_STATE_PAUSED
- *            esplusplayer_set_low_latency_mode() should be called as below
- *            before this api is called.
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_AUDIO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_VIDEO),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_DISABLE_SYNC),
- *            esplusplayer_set_low_latency_mode(handle,
- *                ESPLUSPLAYER_LOW_LATENCY_MODE_ENABLE_GAME_MODE)
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-/// TODO:: set the min/max value of the threshold
-int esplusplayer_set_audio_high_latency_threshold(
-    esplusplayer_handle handle, const unsigned int threshold,
-    esplusplayer_audio_high_latency_cb audio_high_latency_cb, void* userdata);
-
-/**
- * @brief     Initialize easing info to esplayer.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] init_volume : initial easing volume (0 ~ 100).
- * @param     [in] elapsed_time : initial elapsed time (millisecond).
- * @param     [in] easing_info : target volume, duration, type.
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            uint32_t volume = 50, elapsed_time = 10000;
- *            esplusplayer_target_audio_easing_info easing_info;
- *            easing_info.volume = 30;
- *            easing_info.duration = 100;
- *            easing_info.type = ESPLUSPLAYER_AUDIO_EASING_INCUBIC;
- *            esplusplayer_init_audio_easing_info(esplayer,volume,elapsed_time,&easing_info);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer); 
- * @endcode
- * @pre       The player state can be all of #esplusplayer_state except
- *            #ESPLUSPLAYER_STATE_NONE.
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-int esplusplayer_init_audio_easing_info(
-    esplusplayer_handle handle, uint32_t init_volume, uint32_t elapsed_time,
-    const esplusplayer_target_audio_easing_info* easing_info);
-
-/**
- * @brief     Update easing info to esplayer to update target info.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] easing_info : target volume, duration, type.
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            // ... your codes ...
- *            esplusplayer_target_audio_easing_info easing_info;
- *            easing_info.volume = 30;
- *            easing_info.duration = 100;
- *            easing_info.type = ESPLUSPLAYER_AUDIO_EASING_INCUBIC;
- *            esplusplayer_update_audio_easing_info(esplayer,&easing_info);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state can be all of #esplusplayer_state except
- *            #ESPLUSPLAYER_STATE_NONE.
- *            This api should be called after
- *            esplusplayer_init_audio_easing_info() is called
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
- */
-int esplusplayer_update_audio_easing_info(
-    esplusplayer_handle handle,
-    const esplusplayer_target_audio_easing_info* easing_info);
-
-/**
- * @brief     Get easing info currently in easing operation from esplayer
- * @param     [in] handle : esplusplayer handle.
- * @param     [out] current_volume : current volume (0 ~ 100).
- * @param     [out] elapsed_time : elapsed time (millisecond).
- * @param     [out] easing_info : target volume, duration, type.
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            // ... your codes ...
- *            uint32_t cur_volume = 50, elapsed_time = 0;
- *            esplusplayer_target_audio_easing_info easing_info;
- *            esplusplayer_get_audio_easing_info(esplayer,&cur_volume,&elapsed_time,&easing_info);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state can be all of #esplusplayer_state except
- *            #ESPLUSPLAYER_STATE_NONE.
- *            This api should be called after
- *            esplusplayer_init_audio_easing_info() is called
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open()
-
- */
-int esplusplayer_get_audio_easing_info(
-    esplusplayer_handle handle, uint32_t* current_volume,
-    uint32_t* elapsed_time, esplusplayer_target_audio_easing_info* easing_info);
-
-/**
- * @brief     Start audio easing using a registered audio easing info
- * @param     [in] handle : esplusplayer handle.
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            prepare esplayer done
- *            uint32_t volume = 50, elapsed_time = 10000;
- *            esplusplayer_target_audio_easing_info easing_info;
- *            easing_info.volume = 30;
- *            easing_info.duration = 100;
- *            easing_info.type = ESPLUSPLAYER_AUDIO_EASING_INCUBIC;
- *            esplusplayer_init_audio_easing_info(esplayer,volume,elapsed_time,&easing_info);                    
- *            esplusplayer_start_audio_easing(esplayer);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state should be at least #ESPLUSPLAYER_STATE_READY.
- *            This api should be called after
- *            esplusplayer_init_audio_easing_info() is called
- * @post      None
- * @exception None
- * @version   3.0
- * @see       esplusplayer_open() \n
- *            esplusplayer_init_audio_easing_info() \n
- *            esplusplayer_update_audio_easing_info() \n
- *            esplusplayer_stop_audio_easing() \n
- *            esplusplayer_prepare_async()
- */
-int esplusplayer_start_audio_easing(esplusplayer_handle handle);
-
-/**
- * @brief     Stop audio easing
- * @param     [in] handle : esplusplayer handle.
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            esplusplayer_open(esplayer);
- *            // ... your codes ...
- *            esplusplayer_stop_audio_easing(esplayer);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- * @endcode
- * @pre       The player state can be all of #esplusplayer_state except
- *            #ESPLUSPLAYER_STATE_NONE.
- *            This api should be called after
- *            esplusplayer_init_audio_easing_info() is called
- * @post      None
- * @exception   None
- * @version   3.0
- * @see       esplusplayer_open() \n
- *            esplusplayer_start_audio_easing()
- */
-int esplusplayer_stop_audio_easing(esplusplayer_handle handle);
-
-/**
- * @brief     Get virtual resource id
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] type : The resource type of virtual id.
- * @param     [out] virtual_id : Stored virtual resource id value.
- * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of esplusplayer_error_type
- *            values will be returned.
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
- * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation failed
- * @code
- *            prepare esplayer done
- *            // ... your codes ...
- *            int virtual_id;
- *            esplusplayer_get_virtual_rsc_id(esplayer,ESPLUSPLAYER_RSC_TYPE_VIDEO_RENDERER,&virtual_id);
- *            // ... your codes ...
- *            esplusplayer_close(esplayer);
- *            esplusplayer_destroy(esplayer);
- * @endcode
- * @pre       The player state should be #State::kReady, #State::kPlaying or
- *            #State::kPaused
- * @post      None
- * @return    @c True on success, otherwise @c False ("virtual_id" will be -1)
- * @exception None
- * @version   3.0
- * @remark    This function returns virtual resource id which player is
- *            allocated from resource manager. For example, virtual scaler id is
- *            required for an application to use capture API directly.
- * @see       esplusplayer_prepare_async()
-
- */
-int esplusplayer_get_virtual_rsc_id(esplusplayer_handle handle,
-                                    const esplusplayer_rsc_type type,
-                                    int* virtual_id);
-
-/**
- * @brief     Set advanced picture quality type.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] type : The picture quality type.
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_IDLE.
- * @post      None
- * @return    @c one of esplusplayer_error_type values will be returned.
- * @exception  None
- * @version   3.1
- */
-int esplusplayer_set_advanced_picture_quality_type(
-    esplusplayer_handle handle,
-    esplusplayer_advanced_picture_quality_type type);
-
-/**
- * @brief     Set resource allocate policy.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] policy : The resource allocate policy.
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_IDLE.
- * @post      None
- * @return    @c one of esplusplayer_error_type values will be returned.
- * @exception  None
- * @version   3.2
- */
-int esplusplayer_set_resource_allocate_policy(
-    esplusplayer_handle handle, esplusplayer_rsc_alloc_policy policy);
 
 #ifdef __cplusplus
 }
old mode 100755 (executable)
new mode 100644 (file)
index a50d4ae..11b398b
@@ -35,7 +35,6 @@ extern "C" {
 
 #include <stdint.h>
 
-typedef void (*esplusplayer_decoder_underrun_cb)(void* userdata);
 typedef void* esplusplayer_handle;
 typedef void (*esplusplayer_first_video_decoding_done_cb)(void*);
 
@@ -88,85 +87,6 @@ int esplusplayer_set_first_video_decoding_done_cb(
     esplusplayer_first_video_decoding_done_cb first_video_decoding_done_cb,
     void* userdata);
 
-/**
- * @brief     Set a callback function to be invoked when buffer underrun is
- *            occurred from a video decoder.
- * @param     [in] handle : esplusplayer handle.
- * @param     [in] callback : the callback function to register.
- * @param     [in] userdata : userdata of esplusplayer_decoder_underrun_cb()
- * @return    @c one of esplusplayer_error_type values will be returned.
- * @pre       The player state must be set to #ESPLUSPLAYER_STATE_NONE or
- *            #ESPLUSPLAYER_STATE_IDLE.
- * @post      esplusplayer_decoder_underrun_cb() will be invoked.
- * @exception   None
- * @remark    esplusplayer_decoder_underrun_cb().
- *            if video_decoder_underrun_cb is set to null,
- *            esplusplayer_decoder_underrun_cb() will not be invoked anymore.
- */
-int esplusplayer_set_video_decoder_underrun_cb(
-    esplusplayer_handle handle,
-    esplusplayer_decoder_underrun_cb video_decoder_underrun_cb, void* userdata);
-
-/**
- * @brief     Get the size of struct esplusplayer_app_info
- * @param     None
- * @return    Total size of struct esplusplayer_app_info
- * @pre       None
- * @post      None
- * @exception   None
- */
-int get_size_of_esplusplayer_app_info(void);
-
-/**
- * @brief     Get the size of struct esplusplayer_es_packet
- * @param     None
- * @return    Total size of struct esplusplayer_es_packet
- * @pre       None
- * @post      None
- * @exception   None
- */
-int get_size_of_esplusplayer_es_packet(void);
-
-/**
- * @brief     Get the size of struct esplusplayer_es_tz_packet
- * @param     None
- * @return    Total size of struct esplusplayer_es_tz_packet
- * @pre       None
- * @post      None
- * @exception   None
- */
-int get_size_of_esplusplayer_es_tz_packet(void);
-
-/**
- * @brief     Get the size of struct esplusplayer_audio_stream_info
- * @param     None
- * @return    Total size of struct esplusplayer_audio_stream_info
- * @pre       None
- * @post      None
- * @exception   None
- */
-int get_size_of_esplusplayer_audio_stream_info(void);
-
-/**
- * @brief     Get the size of struct esplusplayer_video_stream_info
- * @param     None
- * @return    Total size of struct esplusplayer_video_stream_info
- * @pre       None
- * @post      None
- * @exception   None
- */
-int get_size_of_esplusplayer_video_stream_info(void);
-
-/**
- * @brief     Get the size of struct esplusplayer_drm_info
- * @param     None
- * @return    Total size of struct esplusplayer_drm_info
- * @pre       None
- * @post      None
- * @exception   None
- */
-int get_size_of_esplusplayer_drm_info(void);
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/esplusplayer_capi/latency.h b/include/esplusplayer_capi/latency.h
deleted file mode 100755 (executable)
index 7548a6f..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * @file
- * @brief          Latency enum.
- * @interfacetype  Platform
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        3.0
- * @SDK_Support    N
- * @remark         This is a group of C style state related enum.
- * @see            State enum convertion.
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-
-#ifndef __PLUSPLAYER_ESPLUSPLAYER_CAPI_LATENCY_H__
-#define __PLUSPLAYER_ESPLUSPLAYER_CAPI_LATENCY_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/**
- * @brief   Enumerations for esplusplayer catch up speed 
- */
-enum esplusplayer_catch_up_speed {
-  ESPLUSPLAYER_CATCH_UP_SPEED_NONE, /**< do not use catch up mode */
-  ESPLUSPLAYER_CATCH_UP_SPEED_SLOW, /**< catch up speed is slow */
-  ESPLUSPLAYER_CATCH_UP_SPEED_MID,  /**< catch up speed is normal */
-  ESPLUSPLAYER_CATCH_UP_SPEED_FAST  /**< catch up speed is fast */
-};
-
-/**
- * @brief   Enumerations for esplusplayer latency status
- */
-enum esplusplayer_latency_status {
-  ESPLUSPLAYER_LATENCY_LOW, /**< latency status is low */
-  ESPLUSPLAYER_LATENCY_MID, /**< latency status is middle */
-  ESPLUSPLAYER_LATENCY_HIGH  /**< latency status is high */
-};
-
-#ifdef __cplusplus
-}  // extern "C"
-#endif
-
-#endif  // __PLUSPLAYER_ESPLUSPLAYER_CAPI_LATENCY_H__
old mode 100755 (executable)
new mode 100644 (file)
index 1f563e2..953bf94 100755 (executable)
@@ -37,7 +37,7 @@ extern "C" {
 enum esplusplayer_submit_data_type {
   ESPLUSPLAYER_SUBMIT_DATA_TYPE_CLEAN_DATA,
   ESPLUSPLAYER_SUBMIT_DATA_TYPE_ENCRYPTED_DATA,
-  ESPLUSPLAYER_SUBMIT_DATA_TYPE_TRUSTZONE_DATA,
+//  ESPLUSPLAYER_SUBMIT_DATA_TYPE_TRUSTZONE_DATA,
 };
 
 #ifdef __cplusplus
diff --git a/include/mixer/decodedvideoinfo.h b/include/mixer/decodedvideoinfo.h
deleted file mode 100755 (executable)
index f1a5ab0..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * @file           decodedvideoinfo.h
- * @brief          Information for decoded video frames
- * @interfacetype  Module
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        0.0.1
- * @SDK_Support    N
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-
-#ifndef __PLUSPLAYER_MIXER_DECODED_VIDEO_INFO_H__
-#define __PLUSPLAYER_MIXER_DECODED_VIDEO_INFO_H__
-
-#include <tbm_type_common.h>
-
-#include <cstdint>
-
-namespace plusplayer {
-
-struct DecodedRawPlaneInfo {
-  std::uint32_t phyaddr;
-  std::uint32_t viraddr;
-  std::uint32_t linesize;
-};
-
-struct DecodedRawInfo {
-  std::uint32_t width;
-  std::uint32_t height;
-  DecodedRawPlaneInfo y_info;
-  DecodedRawPlaneInfo uv_info;
-};
-
-struct DecodedVideoKeyTypeInfo {
-  std::uint32_t width;
-  std::uint32_t height;
-  tbm_key key;
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_DECODED_VIDEO_INFO_H__
diff --git a/include/mixer/mixer.h b/include/mixer/mixer.h
deleted file mode 100755 (executable)
index 892c78a..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/**
- * @file           mixer.h
- * @brief          Mixes raw video frame and rendering mixed frame
- * @interfacetype  Module
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        0.0.1
- * @SDK_Support    N
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-
-#ifndef __PLUSPLAYER_MIXER_MIXER__H__
-#define __PLUSPLAYER_MIXER_MIXER__H__
-
-#include <boost/core/noncopyable.hpp>
-#include <memory>
-
-#include "mixer/mixer_eventlistener.h"
-#include "mixer/mixerticket.h"
-#include "plusplayer/types/display.h"
-
-namespace plusplayer {
-/**
- * @brief Enumerations for Resource allocation policy
- */
-enum class RscAllocMode {
-  kDefault,  /**< Main -> Sub -> S/W */
-  kNdecoder, /**< Only N decoder */
-  kDisable   /**< Mixer is NOT involved in resource allocation */
-};
-/**
- * @brief Class Mixer
- */
-/**
- * @brief   Provides methods to control mixer pipeline and modify
- *          mixed frame.
- * @remark  It internally manages MixerTicket objects which are
- *          combined with player objects.
- * @see     Mixerticket
- */
-class Mixer : private boost::noncopyable {
- public:
-  using Ptr = std::unique_ptr<Mixer>;
-  /**
-   * @brief      Create a mixer object
-   * @remarks    You must use this to get mixer object
-   * @pre        None
-   * @post       None
-   * @exception  None
-   * @return     mixer object (unique_ptr<Mixer>)
-   */
-  static Ptr Create();
-  /**
-   * @brief Struct for Resolution info of mixed frame.
-   * @brief Default info is 1920x1080, 30fps
-   */
-  struct ResolutionInfo {
-    int width = 1920;       /**< Width of mixed frame */
-    int height = 1080;      /**< Height of mixed frame */
-    int framerate_num = 30; /**< Framerate numerator of mixed frame */
-    int framerate_den = 1;  /**< Framerate denominator of mixed frame */
-  };
-
- public:
-  /**
-   * @brief     Destructor of Mixer
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    None
-   * @see       Mixer::Create()
-   */
-  virtual ~Mixer(){};
-  /**
-   * @brief     Starts Mixer
-   * @pre       None
-   * @post      Black frame or mixed frame will be displayed on the screen
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   * @see       Mixer::Stop()
-   */
-  virtual bool Start() { return false; }
-  /**
-   * @brief     Stops Mixer
-   * @pre       Mixer::Start() was called
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   * @see       Mixer::Start()
-   */
-  virtual bool Stop() { return false; }
-  /**
-   * @brief     Gets maximal number of players which can be connected to Mixer
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    Non-zero value on success, otherwise zero
-   */
-  virtual int GetMaximumAllowedNumberOfPlayer() { return 0; }
-  /**
-   * @brief     Sets the video display
-   * @remarks   We are not supporting changing display.
-   * @remarks   This API have to be called before calling the
-   *            Mixer::Start() to reflect the display type.
-   * @param     [in] type : display type
-   * @param     [in] obj : The handle to display window
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   * @see       DisplayType
-   *            Mixer::SetDisplayRoi()
-   */
-  virtual bool SetDisplay(const DisplayType type, void* obj) { return false; }
-  /**
-   * @brief     Sets the video display
-   * @remarks   We are not supporting changing display.
-   * @remarks   This API have to be called before calling the
-   *            Mixer::Start() to reflect the display type.
-   * @param     [in] type : display type
-   * @param     [in] serface_id : resource id of window
-   * @param     [in] x : x param of display window
-   * @param     [in] y : y param of display window
-   * @param     [in] w : width of display window
-   * @param     [in] h : height of display window
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   * @see       DisplayType
-   *            Mixer::SetDisplayRoi()
-   */
-  virtual bool SetDisplay(const DisplayType type, const uint32_t surface_id, const int x, const int y, const int w, const int h) { return false; }
-  /**
-   * @brief     Set the video display mode
-   * @param     [in] mode : display mode
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   * @see       DisplayMode
-   * @see       Mixer::SetDisplay()
-   * @see       Mixer::SetDisplayRoi()
-   */
-  virtual bool SetDisplayMode(const DisplayMode& mode) { return false; }
-  /**
-   * @brief     Sets the ROI(Region Of Interest) area of display
-   * @remarks   The minimum value of width and height are 1.
-   * @param     [in] geometry : Roi Geometry
-   * @pre       Before set display ROI, #DisplayMode::kDstRoi must be set
-   *            with Mixer::SetDisplayMode().
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   * @see       DisplayMode  \n
-   *            Mixer::SetDisplay() \n
-   *            Mixer::SetDisplayMode()
-   */
-  virtual bool SetDisplayRoi(const Geometry& geometry) { return false; }
-   /**
-   * @brief     Set Resource allocation policy.
-   * @param     [in] mode : Resource allocation policy
-   * @pre       This api should be called before setting player's display type to
-   *            mixer type.
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetRscAllocMode(const RscAllocMode& mode) { return false; }
-  /**
-   * @brief     Disable audio focus setting.
-   *            The mixer has no authority to set audio focus and player can
-   *            control audio pipeline's activation/deactivation.
-   * @pre       This api should be called before setting player's display type to
-   *            mixer type.
-   * @post      SetAudioFocus() will return false.
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool DisableAudioFocusSetting() { return false; }
-  /**
-   * @brief     Set the alternative video scaler.
-   *            The mixer change to use the sub video scaler instead of main video
-   *            scaler(default).
-   * @pre       This api should be called before setting player's display type to
-   *            mixer type.
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetAlternativeVideoScaler() { return false; }  
-  /**
-   * @brief     Sets audio focus on the specific player object
-   * @param     [in] player_instance : The handle to player instance
-   * @pre       None
-   * @post      The player which gets audio focus will activate its audio
-   *            pipeline.
-   *            By default, players deactivate audio until setting audio focus.
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetAudioFocus(const void* player_instance) { return false; }
-  /**
-   * @brief     Applies geometry changes on mixed frame
-   * @pre       SetDisplayRoi() was called for players which are connected to
-   *            Mixer.
-   * @post      All the geometry changes will be applied to mixed frame.
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool Commit() { return false; }
-  /**
-   * @brief     Sets resolution of mixed frame
-   * @remarks   By default, the resolution of mixed frame is 1920x1080.
-   * @param     [in] info : The resolution info of mixed frame
-   * @pre       Mixer has no connected players yet.
-   * @post      The resolution of mixed frame will be changed.
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetResolution(const ResolutionInfo& info) { return false; }
-  /**
-   * @brief     Register eventlistener to Mixer
-   * @param     [in] listener : listener object
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   * @see       MixerEventListener
-   */
-  virtual bool RegisterListener(MixerEventListener* listener) { return false; }
-  /**
-   * @brief     Creates MixerTicket object for the specific player
-   * @param     [in] player_instance : The handle to player instance
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    A valid @c MixerTicket object on success, otherwise @c nullptr
-   */
-  virtual MixerTicket* CreateTicket(const void* player_instance) {
-    return nullptr;
-  }
-
- protected:
-  /**
-   * @brief     Constructor of Mixer
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    None
-   * @see       Mixer::Create()
-   */
-  Mixer() noexcept {};
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_MIXER__H__
diff --git a/include/mixer/mixer_eventlistener.h b/include/mixer/mixer_eventlistener.h
deleted file mode 100755 (executable)
index 1459b05..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * @file           mixer_eventlistener.h
- * @brief          Handles various events which comes from Mixer
- * @interfacetype  Module
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        0.0.1
- * @SDK_Support    N
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-
-#ifndef __PLUSPLAYER_SRC_MIXER_MIXER_EVENTLISTENER__H__
-#define __PLUSPLAYER_SRC_MIXER_MIXER_EVENTLISTENER__H__
-
-namespace plusplayer {
-/**
- * @brief Class MixerEventListener
- */
-/**
- * @brief   Notifies event that an application needs to handle.
- * @remark  An application should implement concrete class.
- * @see     Mixer::RegisterListener
- */
-class MixerEventListener {
- public:
-  /**
-   * @brief     Constuctor of MixerEventListener
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    None
-   */
-  MixerEventListener(){};
-  /**
-   * @brief     Destructor of MixerEventListener
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    None
-   */
-  virtual ~MixerEventListener(){};
-  /**
-   * @brief     It will be invoked when an error is occured in Mixer object
-   * @remark    OnError means that Mixer can't continue its operation.
-   *            An application may need to terminate Mixer usage.
-   * @pre       MixerEventListener object is registered
-   * @post      None
-   * @exception None
-   * @return    None
-   */
-  virtual void OnError() {}
-  /**
-   * @brief     It will be invoked when Mixer's own pipeline is notified
-   *            resource confliction
-   * @remark    OnResourceConflicted means that Mixer can't play anymore.
-   *            An application must terminate Mixer usage.
-   * @pre       MixerEventListener object is registered
-   * @post      None
-   * @exception None
-   * @return    None
-   */
-  virtual void OnResourceConflicted() {}
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_SRC_MIXER_MIXER_EVENTLISTENER__H__
diff --git a/include/mixer/mixerticket.h b/include/mixer/mixerticket.h
deleted file mode 100755 (executable)
index f490c3b..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * @file           mixerticket.h
- * @brief          Connects player to Mixer and allows it to send raw video
- *                 frame
- * @interfacetype  Module
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        0.0.1
- * @SDK_Support    N
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-
-#ifndef __PLUSPLAYER_SRC_MIXER_MIXERTICKET__H__
-#define __PLUSPLAYER_SRC_MIXER_MIXERTICKET__H__
-
-#include <memory>
-
-#include "mixer/decodedvideoinfo.h"
-#include "mixer/mixerticket_eventlistener.h"
-
-namespace plusplayer {
-/**
- * @brief Enumerations for Resource category
- * @brief Each player informs mixer with this category so that
- *        Mixer can understand which player uses which resources.
- */
-enum class ResourceCategory {
-  kVideoDecoder, /**< Video decoder category */
-  kAudioDecoder, /**< Audio decoder category */
-  kScaler        /**< Scaler category */
-};
-/**
- * @brief Enumerations for Resource type
- * @brief Each player informs mixer with this type so that
- *        Mixer can understand which player uses main or sub type.
- */
-enum class ResourceType {
-  kHwMain, /**< H/W Main resource type */
-  kHwSub,  /**< H/W Sub resource type */
-  kSw,     /**< S/W resource type. Only valid for decoder category */
-  kNdecoder,  /**< N decoder resource type */
-  kMax     /**< Size of this enumeration (not used) */
-};
-/**
- * @brief Class MixerTicket
- */
-/**
- * @brief   Provides methods for player to send their raw video
- *          frame to Mixer.
- * @remark  It also helps player to request H/W resources without
- *          causing confliction.
- * @see     Mixer
- */
-class MixerTicket {
- public:
-  /**
-   * @brief     Constuctor of MixerTicket
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    None
-   */
-  MixerTicket(){};
-  /**
-   * @brief     Destructor of MixerTicket
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    None
-   */
-  virtual ~MixerTicket(){};
-  /**
-   * @brief     Gets currently available resource type for the player
-   * @param     [in] category : The resource category that player wants to use
-   * @param     [out] type : The resource type that player can allocate
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool GetAvailableResourceType(const ResourceCategory& category,
-                                        ResourceType* type) {
-    return false;
-  }
-  /**
-   * @brief     Informs mixer about resource allocation status
-   * @param     [in] category : The resource category that player is using
-   * @param     [in] type : The resource type that player is using
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool Alloc(const ResourceCategory& category,
-                     const ResourceType& type) {
-    return false;
-  }
-  /**
-   * @brief     Renders decoded video frame into mixed frame in Mixer object
-   * @param     [in] info : The decoded physical address by H/W deocder
-   *            and the resolution of video frame.
-   * @pre       MixerTicket::Prepare() must be performed without error
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool Render(const DecodedRawInfo& info) { return false; }
-  /**
-   * @brief     Renders decoded video frame into mixed frame in Mixer object
-   * @param     [in] info : The information for tbm_key exported and the
-   *            resolution of video frame.
-   * @pre       MixerTicket::Prepare() must be performed without error
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool Render(const DecodedVideoKeyTypeInfo& info) { return false; }
-  /**
-   * @brief     Registers eventlistener to MixerTicket
-   * @param     [in] listener : listener object
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   * @see       MixerTicketEventListener
-   */
-  virtual bool RegisterListener(MixerTicketEventListener* listener) {
-    return false;
-  }
-  /**
-   * @brief     Prepares MixerTicket objects to be ready for use
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool Prepare() { return false; }
-  /**
-   * @brief     Get the status whether the mixer can handle player's audio focus.
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True : The mixer can handle player's audio focus,
-   *            @c False : The mixer can't handle player's audio focus and
-   *                       the attached players will determin whether to activate
-   *                       audio track directly.
-   */
-  virtual bool IsAudioFocusHandler() { return false; }
-  /**
-   * @brief     Get the status whether Mixer can handle player's resource
-   *            allocation.
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    @c True : The mixer will allocate appropriate video decoder
-   *                      resources to the attached players,
-   *            @c False : The attached player sets the video decoder resource to
-   *                       be allocated directly instead of the mixer.
-   */
-  virtual bool IsRscAllocHandler() { return false; }
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_SRC_MIXER_MIXERTICKET__H__
\ No newline at end of file
diff --git a/include/mixer/mixerticket_eventlistener.h b/include/mixer/mixerticket_eventlistener.h
deleted file mode 100755 (executable)
index 3ec62c8..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * @file           mixerticket_eventlistener.h
- * @brief          Handles various events which comes from MixerTicket
- * @interfacetype  Module
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        0.0.1
- * @SDK_Support    N
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-
-#ifndef __PLUSPLAYER_SRC_MIXER_MIXERTICKET_EVENTLISTENER__H__
-#define __PLUSPLAYER_SRC_MIXER_MIXERTICKET_EVENTLISTENER__H__
-
-#include "plusplayer/types/display.h"
-
-namespace plusplayer {
-/**
- * @brief Class MixerTicketEventListener
- */
-/**
- * @brief   Notifies event that player needs to handle.
- * @remark  Player should implement concrete class.
- * @see     MixerTicket::RegisterListener
- */
-class MixerTicketEventListener {
- public:
-  /**
-   * @brief     Constuctor of MixerTicketEventListener
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    None
-   */
-  MixerTicketEventListener(){};
-  /**
-   * @brief     Destructor of MixerTicketEventListener
-   * @pre       None
-   * @post      None
-   * @exception None
-   * @return    None
-   */
-  virtual ~MixerTicketEventListener(){};
-  /**
-   * @brief     It will be invoked when audio focus is being changed
-   * @param     [in] active : @c True if the player gets focused, otherwise @c
-   *            False.
-   * @pre       MixerTicketEventListener object is registered
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool OnAudioFocusChanged(bool active) { return false; }
-  /**
-   * @brief     It will be invoked when the mixed frame's geometry is being
-   *            changed
-   * @param     [in] cur_info : current display info that Mixer stores for this
-   *            player
-   * @param     [out] new_info : update display info that player needs to
-   *            provide for Mixer
-   * @pre       MixerTicketEventListener object is registered
-   * @post      None
-   * @exception None
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool OnUpdateDisplayInfo(const DisplayInfo& cur_info,
-                                   DisplayInfo* new_info) {
-    return false;
-  }
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_SRC_MIXER_MIXERTICKET_EVENTLISTENER__H__
diff --git a/include/mixer_capi/display.h b/include/mixer_capi/display.h
deleted file mode 100755 (executable)
index ba103ca..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * @file
- * @brief          Display related enums
- * @interfacetype  Platform
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        3.0
- * @SDK_Support    N
- * @remark         This is a group of C style display releted data structures
- *                 and enums.
- * @see            The display related enum values and data structures will be
- *                 converted by this managed C version types to avoid binary
- *                 compatibility.
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-
-#ifndef __PLUSPLAYER_MIXER_CAPI_DISPLAY_H__
-#define __PLUSPLAYER_MIXER_CAPI_DISPLAY_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief  Enumerations for the display mode
- */
-enum mixer_display_mode {
-  MIXER_DISPLAY_MODE_LETTER_BOX,
-  MIXER_DISPLAY_MODE_ORIGIN_SIZE,
-  MIXER_DISPLAY_MODE_FULL_SCREEN,
-  MIXER_DISPLAY_MODE_CROPPED_FULL,
-  MIXER_DISPLAY_MODE_ORIGIN_OR_LETTER,
-  MIXER_DISPLAY_MODE_DST_ROI
-};
-
-/**
- * @brief  Enumerations for the display type
- */
-enum mixer_display_type {
-  MIXER_DISPLAY_TYPE_NONE,
-  MIXER_DISPLAY_TYPE_OVERLAY,
-};
-
-#ifdef __cplusplus
-}  // extern "C"
-#endif
-
-#endif  // __PLUSPLAYER_MIXER_CAPI_DISPLAY_H__
\ No newline at end of file
diff --git a/include/mixer_capi/error.h b/include/mixer_capi/error.h
deleted file mode 100755 (executable)
index 903d825..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * @file
- * @brief          Error related enums
- * @interfacetype  Platform
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        3.0
- * @SDK_Support    N
- * @remark         This is a group of C style error releted enum.
- * @see            All error enum values will be converted to this managed error
- *                 types.
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-
-#ifndef __PLUSPLAYER_MIXER_CAPI_ERROR_H__
-#define __PLUSPLAYER_MIXER_CAPI_ERROR_H__
-
-#include "tizen.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MIXER_ERROR_CLASS TIZEN_ERROR_PLAYER | 0x20
-
-/**
- * @brief  Enumerations for the error type
- */
-enum mixer_error_type {
-  MIXER_ERROR_TYPE_NONE = TIZEN_ERROR_NONE, /**< Successful */
-  MIXER_ERROR_TYPE_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
-  MIXER_ERROR_TYPE_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Invalid operation */
-};
-
-#ifdef __cplusplus
-}  // extern "C"
-#endif
-
-#endif  // __PLUSPLAYER_MIXER_CAPI_ERROR_H__
\ No newline at end of file
diff --git a/include/mixer_capi/mixer_capi.h b/include/mixer_capi/mixer_capi.h
deleted file mode 100755 (executable)
index b2f39d2..0000000
+++ /dev/null
@@ -1,304 +0,0 @@
-/**
- * @file           mixer_capi.h
- * @brief          Mixer api c version
- * @interfacetype  Platform
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        3.0
- * @SDK_Support    N
- * @remark         This is mixer api header implemented as C style to
- *                 avoid binary compatibility issues.
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-
-#ifndef __PLUSPLAYER_MIXER_CAPI_MIXER_CAPI_H__
-#define __PLUSPLAYER_MIXER_CAPI_MIXER_CAPI_H__
-
-#include "mixer_capi/error.h"
-#include "mixer_capi/display.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-
-typedef void (*mixer_resource_conflicted_cb)(void*);
-
-typedef void* mixer_handle;
-typedef void* mixer_ticket_h;
-
-/**
- * @brief  Enumerations for the resource allocation mode
- */
-enum mixer_rsc_alloc_mode {
-  MIXER_RSC_ALLOC_MODE_DEFAULT,  /**< Main -> Sub -> S/W */
-  MIXER_RSC_ALLOC_MODE_NDECODER, /**< Only N decoder */
-  MIXER_RSC_ALLOC_MODE_DISABLE /**< Mixer is NOT involved in resource allocation */
-};
-
-/**
- * @brief     Create a mixer handle
- * @param     None
- * @return    return mixer handle pointer
- * @code
-      // basic api call sequence
-      mixer_handle mixer = mixer_create();
-      mixer_set_display(mixer, MIXER_DISPLAY_TYPE_OVERLAY, window);
-
-      esplusplayer_handle player1 = esplusplayer_create();
-      esplusplayer_open(player1);
-
-      esplusplayer_set_display(player1, ESPLUSPLAYER_DISPLAY_TYPE_MIXER, mixer);
-      eplusplayer_set_display_roi(player1, x, y, w, h);
-
-      mixer_set_audio_focus(mixer, player1);
-
-      esplusplayer_set_video_stream_info(player1, video_info);
-      esplusplayer_set_audio_stream_info(player1, audio_info);
-      esplusplayer_prepare_async(player1);
-
-      mixer_start(mixer);
-      esplusplayer_start(player1);
-
-      mixer_stop(mixer);
-      esplusplayer_close(player1);
-      mixer_destroy(mixer);
-      esplusplayer_destroy(player1);
- * @endcode
- * @pre       None
- * @post      None
- * @exception   None
- */
-mixer_handle mixer_create();
-
-/**
- * @brief     Release mixer handle
- * @param     [in] handle : mixer handle
- * @return    @c one of mixer_error_type values will be returned
- * @pre       None
- * @post      mixer handle will be removed
- * @exception   None
- * @see       mixer_create()
- */
-int mixer_destroy(mixer_handle handle);
-
-/**
- * @brief     Starts Mixer.
- * @param     [in] handle : mixer handle
- * @return    @c one of mixer_error_type values will be returned
- * @pre       None
- * @post      Black frame or mixed frame will be displayed on the screen
- * @exception   None
- * @see       mixer_stop()
- */
-int mixer_start(mixer_handle handle);
-
-/**
- * @brief     Stops Mixer
- * @param     [in] handle : Mixer handle
- * @return    @c one of mixer_error_type values will be returned
- * @pre       mixer_start() should be called
- * @post      None
- * @exception   None
- * @see       mixer_start()
- */
-int mixer_stop(mixer_handle handle);
-
-/**
- * @brief     Gets maximal number of players which can be connected to Mixer
- * @param     [in] handle : Mixer handle
- * @return    Non-zero value on success, otherwise zero
- * @pre       None
- * @post      None
- * @exception   None
- */
-int mixer_get_max_allowed_number_of_player(mixer_handle handle);
-
-/**
- * @brief     Sets the video display
- * @param     [in] handle : Mixer handle
- * @param     [in] type : display type
- * @param     [in] window : The handle to display window
- * @return    @c one of mixer_error_type values will be returned
- * @pre       This API have to be called before calling the
- *            mixer_start() to reflect the display type
- * @post      None
- * @exception   None
- * @remarks    We are not supporting changing display
- * @see       mixer_display_type \n
- *            mixer_set_display_roi()
- */
-int mixer_set_display(mixer_handle handle, mixer_display_type type,
-                      void* window);
-
-/**
- * @brief     Set the video display mode
- * @param     [in] handle : Mixer handle
- * @param     [in] mode : display mode
- * @return    @c one of mixer_error_type values will be returned
- * @pre       None
- * @post      None
- * @exception   None
- * @see       mixer_display_mode
- * @see       mixer_set_display() \n
- *            mixer_set_display_roi()
- */
-int mixer_set_display_mode(mixer_handle handle, mixer_display_mode mode);
-
-/**
- * @brief     Sets the ROI(Region Of Interest) area of display
- * @param     [in] handle : Mixer handle
- * @param     [in] geometry : Roi Geometry
- * @return    @c one of mixer_error_type values will be returned
- * @code
-      // The ROI of mixer means display area in tv screen.
-      // The ROI of each player means display area in mixer's ROI.
-      
-      mixer_set_display_mode(mixer, MIXER_DISPLAY_MODE_DST_ROI);      
-      mixer_set_display_roi(mixer, 0, 0, 1920, 1080);
-
-      esplusplayer_set_display_roi(player1, 20, 20, 700, 400);      
-      esplusplayer_set_display_roi(player2, 20, 20, 700, 400);
-      
-      mixer_commit(mixer);
- * @endcode
- * @pre       Before set display ROI, #MIXER_DISPLAY_MODE_DST_ROI must be set
- *            with mixer_set_display_mode()
- * @post      None
- * @exception   None
- * @remarks    The minimum value of width and height are 1.
- * @see       mixer_display_mode \n
- *            mixer_set_display() \n
- *            mixer_set_display_mode()
- */
-int mixer_set_display_roi(mixer_handle handle, const int x, const int y,
-                          const int width, const int height);
-
- /**
-  * @brief     Applies geometry changes on mixed frame
-  * @param     [in] handle : Mixer handle
-  * @return    @c one of mixer_error_type values will be returned
-  * @pre       set display roi api was called for players which are connected to
-  *            Mixer.
-  * @post      All the geometry changes will be applied to mixed frame.
-  * @exception   None
-  * @see       mixer_set_display_roi()
-  */
- int mixer_commit(mixer_handle handle);
-
- /**
-  * @brief     Set Resource allocation policy
-  * @param     [in] handle : Mixer handle
-  * @param     [in] mode : Resource allocation policy
-  * @return    @c one of mixer_error_type values will be returned
-  * @pre       This api should be called before setting player's display type to
-  *            mixer type.
-  * @post      None
-  * @exception None
-  */
- int mixer_set_rsc_alloc_mode(mixer_handle handle,
-                              const mixer_rsc_alloc_mode mode);
-
-/**
- * @brief     Disable audio focus setting.
- *            The mixer has no authority to set audio focus and player can
- *            control audio pipeline's activation/deactivation.
- * @param     [in] handle : Mixer handle
- * @return    @c one of mixer_error_type values will be returned
- * @pre       This api should be called before setting player's display type to
- *            mixer type.
- * @post      mixer_set_audio_focus() will return error.
- * @exception   None
- */
-int mixer_disable_audio_focus_setting(mixer_handle handle);
-
-/**
- * @brief     Set the alternative video scaler.
- *            The mixer change to use the sub video scaler instead of main video
- *            scaler(default).
- * @param     [in] handle : Mixer handle
- * @return    @c one of mixer_error_type values will be returned
- * @pre       This api should be called before mixer_start().
- * @post      None
- * @exception   None
- */
-int mixer_set_alternative_video_scaler(mixer_handle handle);
-
-/**
- * @brief     Sets audio focus on the specific player object
- * @param     [in] handle : Mixer handle
- * @param     [in] player_instance : The handle to player instance
- * @return    @c one of mixer_error_type values will be returned
- * @pre       None
- * @post      The player which gets audio focus will activate its audio
- *            pipeline. By default, players deactivate audio until setting
- *            audio focus.
- * @exception   None
- */
-int mixer_set_audio_focus(mixer_handle handle, const void* player_instance);
-
-/**
- * @brief     Sets resolution of mixed frame
- * @param     [in] handle : Mixer handle
- * @param     [in] info : The resolution info of mixed frame
- * @return    @c one of mixer_error_type values will be returned
- * @pre       Mixer has no connected players yet.
- * @post      The resolution of mixed frame will be changed.
- * @exception   None
- * @remarks    By default, the resolution of mixed frame is 1920x1080.
- */
-int mixer_set_resolution(mixer_handle handle, const int width, const int height,
-                         const int framerate_num, const int framerate_den);
-
-/**
- * @brief     Creates MixerTicket object for the specific player
- * @param     [in] handle : Mixer handle
- * @param     [in] player_instance : The handle to player instance
- * @return    A valid @c MixerTicket object on success, otherwise @c nullptr
- * @pre       None
- * @post      None
- * @exception   None
- */
-mixer_ticket_h mixer_create_ticket(mixer_handle handle,
-                                   const void* player_instance);
-
-// callback function
-
-/**
- * @brief     It will be invoked when Mixer's own pipeline is notified
- *            resource confliction
- * @param     [in] handle : Mixer handle
- * @param     [in] callback : the callback function to register
- * @param     [in] userdata : userdata of resource_conflicted_cb()
- * @return    @c one of mixer_error_type values will be returned
- * @pre       None
- * @post      resource_conflicted_cb will be invoked when resources are
- *            conflicted
- * @exception   None
- * @remark    resource_conflicted_cb means that Mixer can't play anymore.
- *            An application must terminate Mixer usage.
- */
-int mixer_set_resource_conflicted_cb(
-    mixer_handle handle, mixer_resource_conflicted_cb resource_conflicted_cb,
-    void* userdata);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  // __PLUSPLAYER_MIXER_CAPI_MIXER_CAPI_H__
-
old mode 100755 (executable)
new mode 100644 (file)
index d6113d6..a804d9d
@@ -36,12 +36,16 @@ enum class Attribute {
   kAudioQueueCurrentLevelByte,  // std::uint64_t
   kVideoMinByteThreshold,       // std::uint32_t
   kAudioMinByteThreshold,       // std::uint32_t
+  kVideoQueueMaxBuffer,         // std::uint64_t
+  kAudioQueueMaxBuffer,         // std::uint64_t
+#if 0
   kVideoQueueMaxTime,           // std::uint64_t
   kAudioQueueMaxTime,           // std::uint64_t
   kVideoQueueCurrentLevelTime,  // std::uint64_t
   kAudioQueueCurrentLevelTime,  // std::uint64_t
   kVideoMinTimeThreshold,       // std::uint32_t
   kAudioMinTimeThreshold,       // std::uint32_t
+#endif
   kMax,
 };
 
diff --git a/include/plusplayer/audioeasinginfo.h b/include/plusplayer/audioeasinginfo.h
deleted file mode 100755 (executable)
index f6671c8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/**\r
- * @file           audioeasinginfo.h\r
- * @interfacetype  module\r
- * @privlevel      None-privilege\r
- * @privilege      None\r
- * @product        TV, AV, B2B\r
- * @version        3.0\r
- * @SDK_Support    N\r
- *\r
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved\r
- * PROPRIETARY/CONFIDENTIAL\r
- * This software is the confidential and proprietary\r
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall\r
- * not disclose such Confidential Information and shall use it only in\r
- * accordance with the terms of the license agreement you entered into with\r
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the\r
- * suitability of the software, either express or implied, including but not\r
- * limited to the implied warranties of merchantability, fitness for a\r
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any\r
- * damages suffered by licensee as a result of using, modifying or distributing\r
- * this software or its derivatives.\r
- */\r
-#ifndef __PLUSPLAYER_AUDIOEASINGINFO_H__\r
-#define __PLUSPLAYER_AUDIOEASINGINFO_H__\r
-\r
-namespace plusplayer {\r
-\r
-enum class AudioEasingType {\r
-  kAudioEasingLinear = 0,\r
-  kAudioEasingIncubic,\r
-  kAudioEasingOutcubic,\r
-  kAudioEasingNone\r
-};\r
-\r
-/**\r
- * @brief  audio easing information struct\r
- */\r
-struct AudioEasingInfo {\r
-  uint32_t target_volume; /**< Audio easing target volume (0 ~ 100)*/\r
-  uint32_t duration;      /**< Audio easing duration, in millisecond */\r
-  AudioEasingType type;   /**< Audio easing type */\r
-};\r
-}  // namespace plusplayer\r
-\r
-#endif  // __PLUSPLAYER_AUDIOEASINGINFO_H__
\ No newline at end of file
diff --git a/include/plusplayer/decodedvideopacketex.h b/include/plusplayer/decodedvideopacketex.h
deleted file mode 100755 (executable)
index 3e36bc9..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * @file
- * @brief          the decoded video packet for playback
- * @interfacetype  Module
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        0.0.1
- * @SDK_Support    N
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-#ifndef __PLUSPLAYER_DECODED_VIDEO_PACKET_EX_H__
-#define __PLUSPLAYER_DECODED_VIDEO_PACKET_EX_H__
-
-#include <boost/core/noncopyable.hpp>
-#include <memory>
-#include <utility>
-
-#include "tbm_surface.h"
-#include "tbm_type.h"
-
-namespace plusplayer {
-
-class DecodedVideoPacketEx : private boost::noncopyable {
- public:
-  using Ptr = std::unique_ptr<DecodedVideoPacketEx>;
-
-  static Ptr Create(const uint64_t pts = 0, const uint64_t duration = 0,
-                    tbm_surface_h surface_data = nullptr,
-                    const void* scaler_index = nullptr);
-
-  DecodedVideoPacketEx() = delete;
-
-  virtual ~DecodedVideoPacketEx();
-
-  uint64_t GetPts() const { return pts_; }
-  uint64_t GetDuration() const { return duration_; }
-  const tbm_surface_h GetTbmSurface() const { return surface_data_; }
-  const void* GetScalerIndex() const { return scaler_index_; }
-
- protected:
-  explicit DecodedVideoPacketEx(const uint64_t pts, const uint64_t duration,
-                                tbm_surface_h surface_data,
-                                const void* scaler_index)
-      : pts_(pts),
-        duration_(duration),
-        surface_data_(surface_data),
-        scaler_index_(scaler_index) {}
-
- private:
-  const uint64_t pts_ = 0;
-  const uint64_t duration_ = 0;
-  tbm_surface_h surface_data_ = nullptr;  // tbm_surface
-  const void* scaler_index_ = nullptr;
-};
-
-using DecodedVideoPacketExPtr = DecodedVideoPacketEx::Ptr;
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_DECODED_VIDEO_PACKET_EX_H__
old mode 100755 (executable)
new mode 100644 (file)
index f299eb0..ba7b7e0
@@ -1,5 +1,5 @@
 /**
-* @file           
+* @file
 * @interfacetype  module
 * @privlevel      None-privilege
 * @privilege      None
@@ -8,7 +8,7 @@
 * @SDK_Support    N
 *
 * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
-* PROPRIETARY/CONFIDENTIAL 
+* PROPRIETARY/CONFIDENTIAL
 * This software is the confidential and proprietary
 * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
 * not disclose such Confidential Information and shall use it only in
@@ -41,6 +41,7 @@ enum class Type {
   kSecuremedia,
   kSdrm,
   kWidevineCdm = 8,
+  kClearkey,
   kMax
 };
 
@@ -53,7 +54,7 @@ struct Property {
   LicenseAcquiredCb license_acquired_cb = nullptr; // The cb will be invoked when license was acquired.
   UserData license_acquired_userdata = nullptr; // The userdata will be sent by license_acquired_cb
 };
-  
+
 }  // namespace drm
 
 }  // namespace plusplayer
old mode 100755 (executable)
new mode 100644 (file)
index 33e9535..a77f5c9
@@ -29,7 +29,6 @@
 #include "plusplayer/types/buffer.h"
 #include "plusplayer/types/error.h"
 #include "plusplayer/types/event.h"
-#include "plusplayer/types/latency.h"
 #include "plusplayer/types/stream.h"
 
 namespace plusplayer {
@@ -54,16 +53,6 @@ class EsEventListener {
    */
   virtual void OnError(const ErrorType& error_code, UserData userdata) {}
   /**
- * @brief     It will be invoked when error has happened
- * @param     [in] error_code : #ErrorType
- * @param     [in] error_msg : detailed error message including info related to
- *                 codec,demuxer,network status, etc.
- * @see       #ErrorType
- * @see       OnError() if only simple error code is required
- */
-  virtual void OnErrorMsg(const ErrorType& error_code, const char* error_msg,
-                          UserData userdata) {}
-  /**
    * @brief     It will be invoked when buffer overrun or underrun is detected
    * @param     [in] type : the type of target stream
    * @param     [in] status : current buffer status
@@ -132,16 +121,6 @@ class EsEventListener {
                              UserData userdata) {}
 
   /**
-   * @brief     Set a callback function to be invoked when trackrender side need
-   * to get an useful tbm surface.
-   * @param     [in] ptr : pointer which set to get tbm address.
-   * @param     [in] is_scale_change : parameter which indicate whether the
-   * scale resolution changed.
-   * @remark    SetVideoFrameBufferType()
-   */
-  virtual void OnMediaPacketGetTbmBufPtr(void** ptr, bool is_scale_change) {}
-
-  /**
    * @brief     Set a callback function to be invoked when player decoded video
    *            frame. A video frame can be retrieved
    * @param     [in] packet : decoded video packet
@@ -172,47 +151,6 @@ class EsEventListener {
                        UserData userdata) {}
 
   virtual void OnFirstDecodingDone(UserData userdata) {}
-
-  /**
-   * @brief     It will be invoked when buffer underrun is detected from a video
-   *            decoder.
-   * @param     [in] userdata : the user data passed from the event listener
-   *            registration function
-   */
-  virtual void OnVideoDecoderUnderrun(UserData userdata) {}
-
-  /**
-   * @brief     It will be invoked when the latency status of the video stream
-   * changes.
-   * @param     [in] latency_status : the latency status
-   *            [in] userdata : the user data passed from the event listener
-   *            registration function
-   */
-  virtual void OnVideoLatencyStatus(const LatencyStatus& latency_status,
-                                    UserData userdata) {}
-
-  /**
-  * @brief     It will be invoked when the latency status of the audio stream
-  * changes.
-  * @param     [in] latency_status : the latency status
-  *            [in] userdata : the user data passed from the event listener
-  *            registration function
-  */
-  virtual void OnAudioLatencyStatus(const LatencyStatus& latency_status,
-                                    UserData userdata) {}
-  /**
-   * @brief     It will be invoked when video high latency occurs.
-   * @param     [in] userdata : the user data passed from the event listener
-   *            registration function
-   */
-  virtual void OnVideoHighLatency(UserData userdata) {}
-
-  /**
-   * @brief     It will be invoked when audio high latency occurs.
-   * @param     [in] userdata : the user data passed from the event listener
-   *            registration function
-   */
-  virtual void OnAudioHighLatency(UserData userdata) {}
 };
 
 }  // namespace plusplayer
old mode 100755 (executable)
new mode 100644 (file)
index 890dbda..312b0fb
 #include <utility>
 #include <vector>
 
-#ifndef IS_AUDIO_PRODUCT
-#include "mixer/mixer.h"
-#endif
-
 #include "plusplayer/appinfo.h"
-#include "plusplayer/audioeasinginfo.h"
 #include "plusplayer/drm.h"
 #include "plusplayer/elementary_stream.h"
 #include "plusplayer/es_eventlistener.h"
@@ -46,9 +41,6 @@
 #include "plusplayer/types/buffer.h"
 #include "plusplayer/types/display.h"
 #include "plusplayer/types/error.h"
-#include "plusplayer/types/latency.h"
-#include "plusplayer/types/picturequality.h"
-#include "plusplayer/types/resource.h"
 #include "plusplayer/types/submitdata.h"
 
 namespace plusplayer {
@@ -112,7 +104,7 @@ enum PlayerLowLatencyMode {
    * @description   to support video fast decoding/rendering and video
    *                with seamless resolution change.
    */
-  kLowLatencyModeVideoWithSeamlessResolutionChange = 0x0040,  
+  kLowLatencyModeVideoWithSeamlessResolutionChange = 0x0040,
   /**
    * @description   to disable clock sync and a/v sync when rendering. it
    *                includes #kLowLatencyModeDisablePreroll.
@@ -352,27 +344,6 @@ class EsPlusPlayer : private boost::noncopyable {
    *            EsPlusPlayer::SetDisplayVisible()
    */
   virtual bool SetDisplay(const DisplayType& type, void* obj) { return false; }
-#ifndef IS_AUDIO_PRODUCT
-  /**
-   * @brief     Set the video display
-   * @remarks   We are not supporting changing display.
-   * @remarks   This API have to be called before calling the
-   * PlusPlayer::Prepare()
-   *            or PlusPlayer::PrepareAsync() to reflect the display type.
-   * @param     [in] type : display type
-   * @param     [in] handle : The handle of mixer ticket
-   * @pre       The player state must be set to #EsState::kIdle
-   * @post      None
-   * @return    @c True on success, otherwise @c False
-   * @see       DisplayType
-   *            PlusPlayer::SetDisplayRoi()
-   *            PlusPlayer::SetDisplayVisible()
-   * @exception  None
-   */
-  virtual bool SetDisplay(const DisplayType& type, MixerTicket* handle) {
-    return false;
-  }
-#endif
   /**
    * @brief     Set the video display
    * @remarks   We are not supporting changing display.
@@ -401,29 +372,6 @@ class EsPlusPlayer : private boost::noncopyable {
    * @remarks   This API have to be called before calling the
    * EsPlusPlayer::PrepareAsync() to reflect the display type.
    * @param     [in] type : display type
-   * @param     [in] ecore_wl2_subsurface : The ecore wayland subsurface handle
-   * @param     [in] x : x param of display window
-   * @param     [in] y : y param of display window
-   * @param     [in] w : width of display window
-   * @param     [in] h : height of display window
-   * @pre       The player state must be set to #EsState::kIdle
-   * @return    @c True on success, otherwise @c False
-   * @see       DisplayType \n
-   *            EsPlusPlayer::SetDisplayMode() \n
-   *            EsPlusPlayer::SetDisplayRoi() \n
-   *            EsPlusPlayer::SetDisplayVisible()
-   */
-  virtual bool SetDisplaySubsurface(const DisplayType& type,
-                                    void* ecore_wl2_subsurface, const int x,
-                                    const int y, const int w, const int h) {
-    return false;
-  }
-  /**
-   * @brief     Set the video display
-   * @remarks   We are not supporting changing display.
-   * @remarks   This API have to be called before calling the
-   * EsPlusPlayer::PrepareAsync() to reflect the display type.
-   * @param     [in] type : display type
    * @param     [in] surface_id : resource id of window.
    * @param     [in] x : x param of display window
    * @param     [in] y : y param of display window
@@ -476,16 +424,6 @@ class EsPlusPlayer : private boost::noncopyable {
   virtual bool SetVideoRoi(const CropArea& area) { return false; }
 
   /**
-   * @brief     Resize the render rectangle(the max region that video can be
-   * displayed).
-   * @param     [in] rect : render rectangle.
-   * @pre       Should be called after SetDisplay()
-   * @return    @c True on success, otherwise @c False
-   * @remark    The minimum value of width and height are 1.
-   */
-  virtual bool ResizeRenderRect(const RenderRect& rect) { return false; }
-
-  /**
    * @brief     Set the rotate angle of display
    * @remarks   The default value is 0.
    * @param     [in] rotate : Rotate angle.
@@ -692,41 +630,6 @@ class EsPlusPlayer : private boost::noncopyable {
   }
 
   /**
-   * @brief     Set the request frame rate of decoded video
-   * @remarks   Only works when decoded video frame buffer type is scale
-   * @param     [in] request_framerate : the request frame rate of returned decoded video frame
-   *            The value of track_framerate and request_framerate should be one of the following sets:
-   *            track_framerate indicate the frame rate of input video stream
-   *                 1.A/(A-B) = X ,X means drop 1 frame every X frame
-   *                 2.Special cases,such as 24000/1000 -> 15000/1000
-   *            when request_framerate.num = 0, return none decoded video frame.
-   *            when request_framerate.num/request_framerate.den =
-   *                 track_framerate.num/track_framerate.den, return all decoded 
-   *                 video frame.
-   *            when request_framerate.num/request_framerate.den <
-   *                 track_framerate.num/track_framerate.den, drop some decoded 
-   *                 video frame.
-   * @pre       The player state must be not #EsState::kNone
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetDecodedVideoFrameRate(const Rational& request_framerate) {
-    return false;
-  }
-
-  /**
-   * @brief     Set the target scale resolution when decoded video frame buffer
-   * type is scale
-   * @param     [in] target_width : target width of scale.
-   * @param     [in] target_height : target height of scale.
-   * @pre       The player state must be set to #EsState::kIdle
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetVideoFrameBufferScaleResolution(
-      const uint32_t& target_width, const uint32_t& target_height) {
-    return false;
-  }
-
-  /**
    * @brief     Register eventlistener to player
    * @param     [in] listener : listener object
    * @param     [in] userdata : listener object's userdata to be returned via
@@ -827,235 +730,6 @@ class EsPlusPlayer : private boost::noncopyable {
   virtual bool SetVideoCodecType(const PlayerVideoCodecType& type) {
     return false;
   }
-  /**
-   * @brief     Provided api for setting alternative video resource(sub decoder
-   *            and sub scaler)
-   * @param     [in] is_set : set alternative video resource
-   *            (@c 0 [defualt] = set all video resources(decoder/scaler) to
-   *                              main resources,
-   *             @c 1 = set all video resources(decoder/scaler) to sub
-   *                    resources,
-   *             @c 2 = set only decoder to sub resource,
-   *             @c 3 = set only scaler to sub resource)
-   * @pre       The player state can be all of #EsState except #EsState::kNone
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetAlternativeVideoResource(unsigned int rsc_type) {
-    return false;
-  }
-  /**
-   * @brief     Provided api for switching audio stream between the different
-   *            audio codec types on the fly
-   * @param     [in] stream : audio stream object
-   * @remark    Audio stream can be switched between only #AudioMimeType::kAAC,
-   *            #AudioMimeType::kEac3 and #AudioMimeType::kAC3.
-   *            if other codec type is set, this api will return false.
-   * @pre       The player state must be one of #EsState::kReady,
-   *            #EsState::kPlaying, #EsState::kPaused.
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SwitchAudioStreamOnTheFly(const AudioStreamPtr& stream) {
-    return false;
-  }
-
-  /**
-   * @brief     Provided api for setting aifilter to video pipeline
-   * @pre       The player state must be set to #EsState::kIdle.
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetAiFilter(void* aifilter) { return false; }
-  /**
-   * @brief     Provided api for setting render time offset
-   * @param     [in] type : stream type
-   * @param     [in] offset : offset (milisecond).
-   * @pre       The player state must be set to #EsState::kReady,
-   *            #EsState::kPaused or #EsState::kPlaying.
-   *            It have to be set to low latency mode.
-   * @remark    esplusplayer_set_low_latency_mode().
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetRenderTimeOffset(const StreamType type, int64_t offset) {
-    return false;
-  }
-  /**
-   * @brief     Provided api for getting render time offset
-   * @param     [in] type : stream type
-   * @param     [in] offset : offset ptr (milisecond).
-   * @pre       The player state must be set to #EsState::kReady,
-   *            #EsState::kPaused or #EsState::kPlaying.
-   *            It have to be set to low latency mode.
-   * @remark    esplusplayer_set_low_latency_mode().
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool GetRenderTimeOffset(const StreamType type, int64_t* offset) {
-    return false;
-  }
-
-  /**
-   * @brief     Provided api for setting catch up speed level
-   * @pre       The player state must be set to #EsState::kIdle,
-   *            #EsState::kReady, #EsState::kPlaying or #EsState::kPaused
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetCatchUpSpeed(const CatchUpSpeed& level) { return false; }
-  /**
-   * @brief     Provided api for getting current video latency status
-   * @pre       The player state must be one of #EsState::kReady,
-   *            #EsState::kPlaying or #EsState::kPaused
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool GetVideoLatencyStatus(LatencyStatus* status) { return false; }
-  /**
-   * @brief     Provided api for getting current audio latency status
-   * @pre       The player state must be one of #EsState::kReady,
-   *            #EsState::kPlaying or #EsState::kPaused
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool GetAudioLatencyStatus(LatencyStatus* status) { return false; }
-  /**
-   * @brief     Provided api for setting video mid latency threshold for low
-   * latency playback
-   * @pre       The player state must be set to #EsState::kIdle,
-   *            #EsState::kReady, #EsState::kPlaying or #EsState::kPaused
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetVideoMidLatencyThreshold(const unsigned int threshold) {
-    return false;
-  }
-
-  /**
-   * @brief     Provided api for setting audio mid latency threshold for low
-   * latency playback
-   * @pre       The player state must be set to #EsState::kIdle,
-   *            #EsState::kReady, #EsState::kPlaying or #EsState::kPaused
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetAudioMidLatencyThreshold(const unsigned int threshold) {
-    return false;
-  }
-
-  /**
-   * @brief     Provided api for setting video high latency threshold for low
-   * latency playback
-   * @pre       The player state must be set to #EsState::kIdle,
-   *            #EsState::kReady, #EsState::kPlaying or #EsState::kPaused
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetVideoHighLatencyThreshold(const unsigned int threshold) {
-    return false;
-  }
-
-  /**
-   * @brief     Provided api for setting audio high latency threshold for low
-   * latency playback
-   * @pre       The player state must be set to #EsState::kIdle,
-   *            #EsState::kReady, #EsState::kPlaying or #EsState::kPaused
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool SetAudioHighLatencyThreshold(const unsigned int threshold) {
-    return false;
-  }
-
-  /**
-   * @brief     Provided api for initializing audio easing information
-   * @param     [in] init_volume : initial volume
-   * @param     [in] init_elapsed_time : initail elapsed time (milisecond).
-   * @param     [in] easing_info : target_volume, duration(milisecond), easing
-   * type
-   * @pre       The player state can be all of #EsState except #EsState::kNone
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool InitAudioEasingInfo(const uint32_t init_volume,
-                                   const uint32_t init_elapsed_time,
-                                   const AudioEasingInfo& easing_info) {
-    return false;
-  }
-
-  /**
-   * @brief     Provided api for updating audio easing information
-   * @param     [in] easing_info : target_volume, duration(milisecond), easing
-   * type
-   * @pre       The player state can be all of #EsState except #EsState::kNone
-   * @remarks   This API have to be called after calling the
-   * EsPlusPlayer::InitAudioEasingInfo()
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool UpdateAudioEasingInfo(const AudioEasingInfo& easing_info) {
-    return false;
-  }
-
-  /**
-   * @brief     Provided api for getting audio easing information
-   * @param     [out] current_volume : current volume
-   * @param     [out] elapsed_time : elapsed time (milisecond).
-   * @param     [out] easing_info : target_volume, duration(milisecond), easing
-   * type
-   * @pre       The player state can be all of #EsState except #EsState::kNone
-   * @remarks   This API have to be called after calling the
-   * EsPlusPlayer::InitAudioEasingInfo()
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool GetAudioEasingInfo(uint32_t* current_volume,
-                                  uint32_t* elapsed_time,
-                                  AudioEasingInfo* easing_info) {
-    return false;
-  }
-
-  /**
-   * @brief     Provided api for starting audio easing
-   * @pre       The player state should be at least #EsState::kReady
-   * @remarks   This API have to be called after calling the
-   * EsPlusPlayer::InitAudioEasingInfo()
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool StartAudioEasing() { return false; }
-
-  /**
-   * @brief     Provided api for stopping audio easing
-   * @pre       The player state can be all of #EsState except #EsState::kNone
-   * @remarks   This API have to be called after calling the
-   * EsPlusPlayer::InitAudioEasingInfo()
-   * @return    @c True on success, otherwise @c False
-   */
-  virtual bool StopAudioEasing() { return false; }
-
-  /**
-   * @brief     Get virtual resource id
-   * @param     [in] type : The resource type of virtual id.
-   * @param     [out] virtual_id : Stored virtual resource id value.
-   * @pre       The player state should be #EsState::kReady, #EsState::kPlaying
-   * or #EsState::kPaused
-   * @post      None
-   * @return    @c True on success, otherwise @c False ("virtual_id" will be -1)
-   * @exception  None
-   */
-  virtual bool GetVirtualRscId(const RscType type, int* virtual_id) {
-    return false;
-  }
-
-  /**
-   * @brief     Set advanced picture quality type.
-   * @param     [in] type : The picture quality type.
-   * @pre       The player state must be set to #EsState::kIdle.
-   * @post      None
-   * @return    @c True on success, otherwise @c False
-   * @exception  None
-   */
-  virtual bool SetAdvancedPictureQualityType(const AdvPictureQualityType type) {
-    return false;
-  }
-
-  /**
-   * @brief     Set resource allocate policy.
-   * @param     [in] policy : The resource allocate policy.
-   * @pre       The player state must be set to #EsState::kIdle.
-   * @post      None
-   * @return    @c True on success, otherwise @c False
-   * @exception  None
-   */
-  virtual bool SetResourceAllocatePolicy(const RscAllocPolicy policy) {
-    return false;
-  }
 
  protected:
   EsPlusPlayer() noexcept {};
old mode 100755 (executable)
new mode 100644 (file)
index 5a13cd9..005b074
@@ -1,5 +1,5 @@
 /**
-* @file           
+* @file
 * @interfacetype  module
 * @privlevel      None-privilege
 * @privilege      None
@@ -8,7 +8,7 @@
 * @SDK_Support    N
 *
 * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
-* PROPRIETARY/CONFIDENTIAL 
+* PROPRIETARY/CONFIDENTIAL
 * This software is the confidential and proprietary
 * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
 * not disclose such Confidential Information and shall use it only in
@@ -73,19 +73,25 @@ struct Track {
   bool use_swdecoder = false;
   std::string language_code;
   std::string subtitle_format;
+  std::string stream_format;
+  std::string alignment;
+  std::string original_media_type;
+  std::string protection_system;
   Track() {};
   Track(int _index, int _id, std::string _mimetype, std::string _streamtype, std::string _container_type,
     TrackType _type, std::shared_ptr<char> _codec_data, unsigned int _codec_tag,  int _codec_data_len,
     int _width, int _height, int _maxwidth, int _maxheight, int _framerate_num, int _framerate_den,
     int _sample_rate, int _sample_format, int _channels, int _version, int _layer, int _bits_per_sample,
     int _block_align, int _bitrate, int _endianness, bool _is_signed, bool _active, bool _use_swdecoder,
-    std::string _language_code, std::string _subtitle_format)
+    std::string _language_code, std::string _subtitle_format, std::string _stream_format, std::string _alignment,
+       std::string _original_media_type, std::string _protection_system)
      : index(_index), id(_id), mimetype(_mimetype), streamtype(_streamtype), container_type(_container_type),
     type(_type), codec_data(_codec_data), codec_tag(_codec_tag),  codec_data_len(_codec_data_len),
     width(_width), height(_height), maxwidth(_maxwidth), maxheight(_maxheight), framerate_num(_framerate_num), framerate_den(_framerate_den),
     sample_rate(_sample_rate), sample_format(_sample_format), channels(_channels), version(_version), layer(_layer), bits_per_sample(_bits_per_sample),
     block_align(_block_align), bitrate(_bitrate), endianness(_endianness), is_signed(_is_signed), active(_active), use_swdecoder(_use_swdecoder),
-    language_code(_language_code), subtitle_format(_subtitle_format) {};
+    language_code(_language_code), subtitle_format(_subtitle_format), stream_format(_stream_format), alignment(_alignment),
+       original_media_type(_original_media_type), protection_system(_protection_system) {};
 };
 
 enum SubtitleAttrType {
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index d73cc05..9865ad7 100755 (executable)
@@ -1,5 +1,5 @@
 /**
-* @file           
+* @file
 * @interfacetype  module
 * @privlevel      None-privilege
 * @privilege      None
@@ -8,7 +8,7 @@
 * @SDK_Support    N
 *
 * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
-* PROPRIETARY/CONFIDENTIAL 
+* PROPRIETARY/CONFIDENTIAL
 * This software is the confidential and proprietary
 * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
 * not disclose such Confidential Information and shall use it only in
diff --git a/include/plusplayer/types/latency.h b/include/plusplayer/types/latency.h
deleted file mode 100755 (executable)
index 87a8e65..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
-* @file           
-* @interfacetype  module
-* @privlevel      None-privilege
-* @privilege      None
-* @product        TV, AV, B2B
-* @version        3.0
-* @SDK_Support    N
-*
-* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
-* PROPRIETARY/CONFIDENTIAL 
-* This software is the confidential and proprietary
-* information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
-* not disclose such Confidential Information and shall use it only in
-* accordance with the terms of the license agreement you entered into with
-* SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
-* suitability of the software, either express or implied, including but not
-* limited to the implied warranties of merchantability, fitness for a
-* particular purpose, or non-infringement. SAMSUNG shall not be liable for any
-* damages suffered by licensee as a result of using, modifying or distributing
-* this software or its derivatives.
-*/
-
-#ifndef __PLUSPLAYER_TYPES_LATENCY_H__
-#define __PLUSPLAYER_TYPES_LATENCY_H__
-
-namespace plusplayer {
-
-enum class CatchUpSpeed { 
-  kNone,
-  kSlow,
-  kNormal,
-  kFast
-};
-  
-enum class LatencyStatus { 
-  kLow,
-  kMid,
-  kHigh
-};
-  
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_TYPES_LATENCY_H__
\ No newline at end of file
diff --git a/include/plusplayer/types/picturequality.h b/include/plusplayer/types/picturequality.h
deleted file mode 100755 (executable)
index c4106e8..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
-* @file           
-* @interfacetype  module
-* @privlevel      None-privilege
-* @privilege      None
-* @product        TV, AV, B2B
-* @version        1.0
-* @SDK_Support    N
-*
-* Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
-* PROPRIETARY/CONFIDENTIAL 
-* This software is the confidential and proprietary
-* information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
-* not disclose such Confidential Information and shall use it only in
-* accordance with the terms of the license agreement you entered into with
-* SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
-* suitability of the software, either express or implied, including but not
-* limited to the implied warranties of merchantability, fitness for a
-* particular purpose, or non-infringement. SAMSUNG shall not be liable for any
-* damages suffered by licensee as a result of using, modifying or distributing
-* this software or its derivatives.
-*/
-
-#ifndef __PLUSPLAYER_PICTUREQUALITY_H__
-#define __PLUSPLAYER_PICTUREQUALITY_H__
-
-namespace plusplayer {
-
-/**
-* @brief Advanced Picture Quality Type.
-*/
-enum class AdvPictureQualityType {
-  kVideoCall,
-  kUsbCamera
-};
-
-}  // namespace plusplayer
-#endif  // __PLUSPLAYER_PICTUREQUALITY_H__
\ No newline at end of file
diff --git a/include/plusplayer/types/resource.h b/include/plusplayer/types/resource.h
deleted file mode 100755 (executable)
index ea7d09b..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * @file
- * @brief          the stream information for playback
- * @interfacetype  Module
- * @privlevel      None-privilege
- * @privilege      None
- * @product        TV, AV, B2B
- * @version        3.0
- * @SDK_Support    N
- *
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- * PROPRIETARY/CONFIDENTIAL
- * This software is the confidential and proprietary
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
- * not disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into with
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
- * suitability of the software, either express or implied, including but not
- * limited to the implied warranties of merchantability, fitness for a
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
- * damages suffered by licensee as a result of using, modifying or distributing
- * this software or its derivatives.
- */
-#ifndef __PLUSPLAYER_TYPES_RESOURCE_H__
-#define __PLUSPLAYER_TYPES_RESOURCE_H__
-
-namespace plusplayer {
-
-/**
- * @brief  Enumerations for the resource type
- */
-enum class RscType { kVideoRenderer };
-
-/**
- * @brief   Enumerations for resource allocate policy
- */
-enum class RscAllocPolicy {
-  /**
-   * @description   exclusive policy, default policy
-   */
-  kRscAllocExclusive,
-  /**
-   * @description   conditional policy
-   */
-  kRscAllocConditional,
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_TYPES_RESOURCE_H__
\ No newline at end of file
index 3f2502a..433442a 100755 (executable)
@@ -9,7 +9,7 @@
 * @SDK_Support    N
 *
 * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
-* PROPRIETARY/CONFIDENTIAL 
+* PROPRIETARY/CONFIDENTIAL
 * This software is the confidential and proprietary
 * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
 * not disclose such Confidential Information and shall use it only in
diff --git a/out/docs/class_diagram/adapter/bms_avplayer_player_adapter(1)/bms_avplayer_player_adapter(1).png b/out/docs/class_diagram/adapter/bms_avplayer_player_adapter(1)/bms_avplayer_player_adapter(1).png
deleted file mode 100755 (executable)
index e5504b4..0000000
Binary files a/out/docs/class_diagram/adapter/bms_avplayer_player_adapter(1)/bms_avplayer_player_adapter(1).png and /dev/null differ
diff --git a/out/docs/class_diagram/adapter/bms_avplayer_player_adapter(2)/bms_avplayer_player_adapter(2).png b/out/docs/class_diagram/adapter/bms_avplayer_player_adapter(2)/bms_avplayer_player_adapter(2).png
deleted file mode 100755 (executable)
index 8a0d3bf..0000000
Binary files a/out/docs/class_diagram/adapter/bms_avplayer_player_adapter(2)/bms_avplayer_player_adapter(2).png and /dev/null differ
diff --git a/out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter-TO-BE page 1.png b/out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter-TO-BE page 1.png
deleted file mode 100755 (executable)
index 207bdf9..0000000
Binary files a/out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter-TO-BE page 1.png and /dev/null differ
diff --git a/out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter-TO-BE page 2.png b/out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter-TO-BE page 2.png
deleted file mode 100755 (executable)
index a0c1341..0000000
Binary files a/out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter-TO-BE page 2.png and /dev/null differ
diff --git a/out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter.png b/out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter.png
deleted file mode 100755 (executable)
index 0022fc6..0000000
Binary files a/out/docs/class_diagram/adapter/webapi_avplay_player_adapter/webapi_avplay_player_adapter.png and /dev/null differ
diff --git a/out/docs/class_diagram/bmservice_drmmanager_plusplayer/bmservice_drmmanager_plusplayer.png b/out/docs/class_diagram/bmservice_drmmanager_plusplayer/bmservice_drmmanager_plusplayer.png
deleted file mode 100755 (executable)
index 64fc589..0000000
Binary files a/out/docs/class_diagram/bmservice_drmmanager_plusplayer/bmservice_drmmanager_plusplayer.png and /dev/null differ
diff --git a/out/docs/class_diagram/details/defaultplayer/DefaultPlayer.png b/out/docs/class_diagram/details/defaultplayer/DefaultPlayer.png
deleted file mode 100755 (executable)
index ca9fd33..0000000
Binary files a/out/docs/class_diagram/details/defaultplayer/DefaultPlayer.png and /dev/null differ
diff --git a/out/docs/class_diagram/details/trackrenderer/TrackRenderer.png b/out/docs/class_diagram/details/trackrenderer/TrackRenderer.png
deleted file mode 100755 (executable)
index 0eb2615..0000000
Binary files a/out/docs/class_diagram/details/trackrenderer/TrackRenderer.png and /dev/null differ
diff --git a/out/docs/class_diagram/details/tracksource_compositor/TrackSource & Compositor.png b/out/docs/class_diagram/details/tracksource_compositor/TrackSource & Compositor.png
deleted file mode 100755 (executable)
index 281653e..0000000
Binary files a/out/docs/class_diagram/details/tracksource_compositor/TrackSource & Compositor.png and /dev/null differ
diff --git a/out/docs/class_diagram/esplusplayer/esplusplayer.png b/out/docs/class_diagram/esplusplayer/esplusplayer.png
deleted file mode 100755 (executable)
index 3e5a9e1..0000000
Binary files a/out/docs/class_diagram/esplusplayer/esplusplayer.png and /dev/null differ
diff --git a/out/docs/class_diagram/plusplayer/plusplayer.png b/out/docs/class_diagram/plusplayer/plusplayer.png
deleted file mode 100755 (executable)
index 1d13d0e..0000000
Binary files a/out/docs/class_diagram/plusplayer/plusplayer.png and /dev/null differ
diff --git a/out/docs/class_diagram/plusplayer_simple/plusplayer_simple.png b/out/docs/class_diagram/plusplayer_simple/plusplayer_simple.png
deleted file mode 100755 (executable)
index 0a787ea..0000000
Binary files a/out/docs/class_diagram/plusplayer_simple/plusplayer_simple.png and /dev/null differ
diff --git a/out/docs/downloadable/version_control_sequence/tvplus case(1) dynamic loading page 1.png b/out/docs/downloadable/version_control_sequence/tvplus case(1) dynamic loading page 1.png
deleted file mode 100755 (executable)
index f11efbb..0000000
Binary files a/out/docs/downloadable/version_control_sequence/tvplus case(1) dynamic loading page 1.png and /dev/null differ
diff --git a/out/docs/downloadable/version_control_sequence/tvplus case(1) dynamic loading page 2.png b/out/docs/downloadable/version_control_sequence/tvplus case(1) dynamic loading page 2.png
deleted file mode 100755 (executable)
index 0230148..0000000
Binary files a/out/docs/downloadable/version_control_sequence/tvplus case(1) dynamic loading page 2.png and /dev/null differ
diff --git a/out/docs/downloadable/version_control_sequence/tvplus case1) dynamic loading page 1.png b/out/docs/downloadable/version_control_sequence/tvplus case1) dynamic loading page 1.png
deleted file mode 100755 (executable)
index 9ae0fc9..0000000
Binary files a/out/docs/downloadable/version_control_sequence/tvplus case1) dynamic loading page 1.png and /dev/null differ
diff --git a/out/docs/downloadable/version_control_sequence/tvplus case1) dynamic loading page 2.png b/out/docs/downloadable/version_control_sequence/tvplus case1) dynamic loading page 2.png
deleted file mode 100755 (executable)
index 84c65fe..0000000
Binary files a/out/docs/downloadable/version_control_sequence/tvplus case1) dynamic loading page 2.png and /dev/null differ
diff --git a/out/docs/module_view/libav-common/reduced downloadable module size by libav-common dash hls http streaming module 9M to 4.5M.png b/out/docs/module_view/libav-common/reduced downloadable module size by libav-common dash hls http streaming module 9M to 4.5M.png
deleted file mode 100755 (executable)
index 0c8c978..0000000
Binary files a/out/docs/module_view/libav-common/reduced downloadable module size by libav-common dash hls http streaming module 9M to 4.5M.png and /dev/null differ
diff --git a/out/docs/module_view/uses_view/module view uses view.png b/out/docs/module_view/uses_view/module view uses view.png
deleted file mode 100755 (executable)
index da737ff..0000000
Binary files a/out/docs/module_view/uses_view/module view uses view.png and /dev/null differ
diff --git a/out/docs/sequence_activity_diagram/source_change/source_change_base_flow_1/source_change_base_flow_1.png b/out/docs/sequence_activity_diagram/source_change/source_change_base_flow_1/source_change_base_flow_1.png
deleted file mode 100755 (executable)
index 0378d7b..0000000
Binary files a/out/docs/sequence_activity_diagram/source_change/source_change_base_flow_1/source_change_base_flow_1.png and /dev/null differ
diff --git a/out/docs/sequence_activity_diagram/tracksource/tracksource_alternative_flow_1/tracksource_alternative_flow_1.png b/out/docs/sequence_activity_diagram/tracksource/tracksource_alternative_flow_1/tracksource_alternative_flow_1.png
deleted file mode 100755 (executable)
index ffe67ee..0000000
Binary files a/out/docs/sequence_activity_diagram/tracksource/tracksource_alternative_flow_1/tracksource_alternative_flow_1.png and /dev/null differ
diff --git a/out/docs/sequence_activity_diagram/tracksource/tracksource_base_flow_1/tracksource_base_flow_1.png b/out/docs/sequence_activity_diagram/tracksource/tracksource_base_flow_1/tracksource_base_flow_1.png
deleted file mode 100755 (executable)
index 6e6208f..0000000
Binary files a/out/docs/sequence_activity_diagram/tracksource/tracksource_base_flow_1/tracksource_base_flow_1.png and /dev/null differ
diff --git a/out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_1/tracksource_exception_flow_1.png b/out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_1/tracksource_exception_flow_1.png
deleted file mode 100755 (executable)
index fde5983..0000000
Binary files a/out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_1/tracksource_exception_flow_1.png and /dev/null differ
diff --git a/out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_2/tracksource_exception_flow_2.png b/out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_2/tracksource_exception_flow_2.png
deleted file mode 100755 (executable)
index dd0b012..0000000
Binary files a/out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_2/tracksource_exception_flow_2.png and /dev/null differ
diff --git a/out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_3/tracksource_exception_flow_3.png b/out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_3/tracksource_exception_flow_3.png
deleted file mode 100755 (executable)
index d7b36d9..0000000
Binary files a/out/docs/sequence_activity_diagram/tracksource/tracksource_exception_flow_3/tracksource_exception_flow_3.png and /dev/null differ
diff --git a/out/docs/sequence_activity_diagram/tvplus_update_activity_diagram/risk_management_lib_api_validation/risk_management_lib_api_validation.png b/out/docs/sequence_activity_diagram/tvplus_update_activity_diagram/risk_management_lib_api_validation/risk_management_lib_api_validation.png
deleted file mode 100755 (executable)
index 81bd0e0..0000000
Binary files a/out/docs/sequence_activity_diagram/tvplus_update_activity_diagram/risk_management_lib_api_validation/risk_management_lib_api_validation.png and /dev/null differ
diff --git a/out/docs/sequence_activity_diagram/tvplus_update_activity_diagram/update_procedure/TVPlus Player update process.png b/out/docs/sequence_activity_diagram/tvplus_update_activity_diagram/update_procedure/TVPlus Player update process.png
deleted file mode 100755 (executable)
index 9e7da9e..0000000
Binary files a/out/docs/sequence_activity_diagram/tvplus_update_activity_diagram/update_procedure/TVPlus Player update process.png and /dev/null differ
diff --git a/out/docs/state_diagram/state_diagram/plusplayer_internal_state_diagram.png b/out/docs/state_diagram/state_diagram/plusplayer_internal_state_diagram.png
deleted file mode 100755 (executable)
index 76736f5..0000000
Binary files a/out/docs/state_diagram/state_diagram/plusplayer_internal_state_diagram.png and /dev/null differ
diff --git a/out/docs/state_diagram/state_diagram_v2_substatemachine/plusplayer_internal_state_diagram.png b/out/docs/state_diagram/state_diagram_v2_substatemachine/plusplayer_internal_state_diagram.png
deleted file mode 100755 (executable)
index 938863a..0000000
Binary files a/out/docs/state_diagram/state_diagram_v2_substatemachine/plusplayer_internal_state_diagram.png and /dev/null differ
old mode 100755 (executable)
new mode 100644 (file)
index 6616451..07eb39c
@@ -1,10 +1,5 @@
 # %bcond_with : disable ESPLUSPLAYER_UT by default, %bcond_without : enable ESPLUSPLAYER_UT
-%if ("%{_vd_cfg_product_type}" != "AUDIO")
 %bcond_without ESPLUSPLAYER_UT
-%else
-%bcond_with ESPLUSPLAYER_UT
-%endif
-#echo "Product Type: %{_vd_cfg_product_type}"
 Name:       esplusplayer
 Summary:    new multimedia streaming player
 Version:    0.0.1
@@ -14,7 +9,6 @@ License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
 Source1001: esplusplayer.manifest
 BuildRequires:  cmake
-BuildRequires:  curl
 BuildRequires:  pkgconfig(glib-2.0)
 BuildRequires:  pkgconfig(capi-base-common)
 BuildRequires:  pkgconfig(gstreamer-1.0)
@@ -27,35 +21,24 @@ BuildRequires:  pkgconfig(evas)
 BuildRequires:  pkgconfig(ecore-wl2)
 BuildRequires:  pkgconfig(wayland-client)
 BuildRequires:  pkgconfig(tizen-extension-client)
-BuildRequires:  pkgconfig(tv-resource-manager)
-BuildRequires:  pkgconfig(tv-resource-information)
 BuildRequires:  pkgconfig(libtzplatform-config)
 BuildRequires:  pkgconfig(jsoncpp)
-BuildRequires:  pkgconfig(gstreamer-ffsubtitle-1.0)
 BuildRequires:  pkgconfig(icu-i18n)
-BuildRequires:  pkgconfig(drmdecrypt)
 BuildRequires:  pkgconfig(vconf)
-BuildRequires:  pkgconfig(logger)
+BuildRequires:  pkgconfig(capi-system-info)
 BuildRequires:  pkgconfig(gio-2.0)
 BuildRequires:  pkgconfig(libtbm)
-BuildRequires:  pkgconfig(lwipc)
-BuildRequires:  pkgconfig(capi-screensaver)
-BuildRequires:  pkgconfig(context-aware-api)
-BuildRequires:  pkgconfig(capi-trackrenderer-tv)
-BuildRequires:  pkgconfig(libtbm)
-BuildRequires:  pkgconfig(smart-deadlock)
+BuildRequires:  pkgconfig(libtrackrenderer)
 
-%if ("%{_vd_cfg_product_type}" != "AUDIO")
-BuildRequires:  pkgconfig(graphics-control)
-%endif
 
-%if ("%{_vd_cfg_licensing}" == "n")
 # for ut
-BuildRequires:  pkgconfig(capi-media-player)
-BuildRequires:  pkgconfig(gtest_gmock)
+#BuildRequires:  pkgconfig(capi-media-player)
+#BuildRequires:  pkgconfig(gtest_gmock)
 BuildRequires:  pkgconfig(appcore-efl)
-BuildRequires:  pkgconfig(libresourced)
-%endif
+#BuildRequires:  pkgconfig(libresourced)
+BuildRequires:         pkgconfig(gmock)
+BuildRequires: pkgconfig(libinput)
+BuildRequires:  pkgconfig(gstreamer-app-1.0)
 
 %define _packagedir /usr
 %define _bindir %{_packagedir}/bin
@@ -83,90 +66,20 @@ Requires:   %{name} = %{version}-%{release}
 
 %description config
 
-#################################################
-# gcov
-#################################################
-%if 0%{?vd_gcov:1}
-%package gcov
-Summary: gcov enabled package
-Group: gcov package
-
-%description gcov
-This package is gcov package for coverage measurement.
-%endif
-
 %prep
 %setup -q
 cp %{SOURCE1001} .
 
-%if ("%{_vd_cfg_licensing}" == "n")
-%if ("%{_vd_cfg_product_type}" != "AUDIO")
-%{?!TOMATO: %define TOMATO n}
-
-%define _tomatoname esplusplayer
-%define _tomatodir  /opt/usr/apps/tomato/testcase/%{name}
-%define _tomatobin /opt/usr/apps/tomato/testcase/%{name}/bin
-
-%package ut-component-tomato
-Summary: Test package with TOMATO
-BuildRequires:  pkgconfig(tomato)
-BuildRequires:  pkgconfig(gtest_gmock)
-BuildRequires:  pkgconfig(video-capture)
-BuildRequires:  pkgconfig(audio-control)
-BuildRequires:  libjpeg-turbo-devel
-BuildRequires:  elementary-devel
-BuildRequires:  opencv-devel
-BuildRequires:  pkgconfig(opencv)
-BuildRequires:  pkgconfig(capi-appfw-application)
-Requires: %{name} = %{version}-%{release}
-
-%description ut-component-tomato
-This package is for test
-
-%files ut-component-tomato
-%defattr(-,root,root,-)
-%{_bindir}/esplusplayer_ut
-%{_tomatodir}/*
-
-%endif
-%endif
 
 %build
 export CFLAGS+=" -Wno-deprecated-declarations"
 export CXXFLAGS+=" -Wno-deprecated-declarations"
 
-%if ("%{_vd_cfg_product_type}" == "AUDIO")
-export CFLAGS+=" -DIS_AUDIO_PRODUCT"
-export CXXFLAGS+=" -DIS_AUDIO_PRODUCT"
-%define PRODUCT_TYPE_AUDIO yes
-%else
-%define PRODUCT_TYPE_AUDIO no
-%endif
-
-%if ("%{_vd_cfg_product_type}" == "AV")
-export CFLAGS+=" -DIS_AV_PRODUCT"
-export CXXFLAGS+=" -DIS_AV_PRODUCT"
-%endif
-
-%if 0%{?vd_gcov:1}
-export CFLAGS+=" -fprofile-arcs -ftest-coverage"
-export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
-export FFLAGS+=" -fprofile-arcs -ftest-coverage"
-export LDFLAGS+=" -lgcov"
-export CFLAGS+=" -DIS_TOMATO"
-export CXXFLAGS+=" -DIS_TOMATO"
-%endif
-
 export CXXFLAGS+=" -Wno-pessimizing-move"
-
-%if ("%{_vd_cfg_licensing}" == "n")
 %if %{with ESPLUSPLAYER_UT}
-%cmake . -DESPLUSPLAYER_BUILD_UT=ON -DPRODUCT_TYPE_AUDIO=%PRODUCT_TYPE_AUDIO
-%else
-%cmake . -DPRODUCT_TYPE_AUDIO=%PRODUCT_TYPE_AUDIO
-%endif
+%cmake . -DESPLUSPLAYER_BUILD_UT=ON
 %else
-%cmake . -DPRODUCT_TYPE_AUDIO=%PRODUCT_TYPE_AUDIO
+%cmake .
 %endif
 
 make %{?jobs:-j%jobs}
@@ -174,56 +87,26 @@ make %{?jobs:-j%jobs}
 %install
 rm -rf %{buildroot}
 
-%if ("%{_vd_cfg_licensing}" == "n")
-mkdir -p %{buildroot}%{_tomatodir}
-mkdir -p %{buildroot}%{_tomatodir}/log
-mkdir -p %{buildroot}%{_tomatodir}/result
-mkdir -p %{buildroot}%{_tomatodir}/tc
-cp -rf tomato/tc/* %{buildroot}%{_tomatodir}/tc
-%endif
-
 %make_install
 mkdir -p %{buildroot}%TZ_SYS_RO_ETC/multimedia
-#mkdir -p %{buildroot}%TZ_SYS_RW_APP/multimedia
-#mkdir -p %{buildroot}/opt
-#mkdir -p %{buildroot}/opt/usr
-#mkdir -p %{buildroot}/opt/usr/home
-#mkdir -p %{buildroot}/opt/usr/home/owner
-#mkdir -p %{buildroot}/opt/usr/home/owner/models
 cp -rf config/esplusplayer.ini %{buildroot}%TZ_SYS_RO_ETC/multimedia/esplusplayer.ini
 
-%if 0%{?vd_gcov:1}
-mkdir -p %{buildroot}%{_datadir}/gcov/obj
-find . \( -name '*.gcno' -o -name '*.cpp' -o -name '*.c' -o -name '*.hpp' -o -name '*.h' \) ! -path "./ut/*" ! -path "./test/*" ! -path "*/CompilerIdCXX/*" -exec cp --parents -r '{}' %{buildroot}%{_datadir}/gcov/obj ';'
-%endif
-
 %files
 %defattr(-,root,root,-)
 %manifest esplusplayer.manifest
 %license LICENSE.APLv2
 %{_libdir}/libespplayer-core.so
 %{_libdir}/libesplusplayer.so
-%if ("%{_vd_cfg_product_type}" != "AUDIO")
-%{_libdir}/libmixer.so
-%endif
-
 %TZ_SYS_RO_ETC/multimedia/esplusplayer.ini
-#%attr(0775, owner,users) %TZ_SYS_RW_APP/multimedia
 
-#remove esplusplayer_ut in esplusplayer package by flash memory issue
-#%if ("%{_vd_cfg_licensing}" == "n")
-#%if %{with ESPLUSPLAYER_UT}
-#%{_bindir}/esplusplayer_ut
-#%defattr(-,root,root,-)
-#%{_tomatodir}/*
-#%endif
-#%endif
+%if %{with ESPLUSPLAYER_UT}
+%{_bindir}/esplusplayer_ut
+%defattr(-,root,root,-)
+%endif
 
 %files devel
 %defattr(-,root,root,-)
 %{_includedir}/esplusplayer_capi/*.h
-%{_includedir}/mixer/*.h
-%{_includedir}/mixer_capi/*.h
 %{_pkgconfigdir}/esplusplayer.pc
 
 %files config
@@ -231,9 +114,3 @@ find . \( -name '*.gcno' -o -name '*.cpp' -o -name '*.c' -o -name '*.hpp' -o -na
 %manifest esplusplayer.manifest
 %license LICENSE.APLv2
 %TZ_SYS_RO_ETC/multimedia/esplusplayer.ini
-%attr(0775, owner,users) %TZ_SYS_RO_ETC/multimedia
-
-%if 0%{?vd_gcov:1}
-%files gcov
-%{_datadir}/gcov/*
-%endif
old mode 100755 (executable)
new mode 100644 (file)
index 82d4cda..9f8e3f8
@@ -1,5 +1,2 @@
 ADD_SUBDIRECTORY(plusplayer-core)
-ADD_SUBDIRECTORY(esplusplayer)
-IF(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
-ADD_SUBDIRECTORY(mixer)
-ENDIF(${PRODUCT_TYPE_AUDIO} STREQUAL)
+ADD_SUBDIRECTORY(esplusplayer)
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index 73a51ad..9e5d7c1
@@ -4,24 +4,15 @@ SET(fw_name "${PROJECT_NAME}")
 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
 SET(${fw_name}_LDFLAGS)
 
-IF(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
 SET(ADD_LIBS
   "espplayer-core"
   "trackrenderer"
-  "mixer"
 )
-ELSE(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
-SET(ADD_LIBS
-  "espplayer-core"
-  "trackrenderer"
-)
-ENDIF(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
 
 SET(${fw_name}_CXXFLAGS "-Wall -Werror -std=c++11 -fPIC -fno-lto -Wl,-z,relro -fstack-protector -DEFL_BETA_API_SUPPORT")
 
 SET(dependents "gstreamer-1.0 glib-2.0 dlog"
                "boost"
-               "tv-resource-manager"
                "elementary ecore ecore-wl2"
                "jsoncpp")
 
old mode 100755 (executable)
new mode 100644 (file)
index 2ce81cf..10988d8
 #include <vector>
 
 #include "core/decoderinputbuffer.h"
-#include "core/kpi.h"
 #include "core/trackrendereradapter.h"
-#ifndef IS_AUDIO_PRODUCT
-#include "mixer/mixerticket.h"
-#include "mixer/mixerticket_eventlistener.h"
-#endif
 #include "esplayer/espacket_logger.h"
 #include "esplayer/message.hpp"
 #include "esplayer/state_manager.hpp"
 #include "plusplayer/drm.h"
 #include "plusplayer/esplusplayer.h"
 #include "plusplayer/track.h"
+
 #include "plusplayer/types/buffer.h"
 #include "plusplayer/types/display.h"
 #include "plusplayer/types/error.h"
@@ -64,20 +60,13 @@ class EsPlayer : public EsPlusPlayer {
   void SetAppInfo(const PlayerAppInfo& app_info) override;
   bool SetPlaybackRate(const double rate, const bool audio_mute) override;
   bool SetDisplay(const DisplayType& type, void* obj) override;
-#ifndef IS_AUDIO_PRODUCT
-  bool SetDisplay(const DisplayType& type, MixerTicket* handle) override;
-#endif
   bool SetDisplay(const DisplayType& type, void* ecore_wl2_window, const int x,
                   const int y, const int w, const int h) override;
-  bool SetDisplaySubsurface(const DisplayType& type, void* ecore_wl2_subsurface,
-                            const int x, const int y, const int w,
-                            const int h) override;
   bool SetDisplay(const DisplayType& type, unsigned int surface_id, const int x,
                   const int y, const int w, const int h) override;
   bool SetDisplayMode(const DisplayMode& mode) override;
   bool SetDisplayRoi(const Geometry& roi) override;
   bool SetVideoRoi(const CropArea& area) override;
-  bool ResizeRenderRect(const RenderRect& rect) override;
   bool SetDisplayRotate(const DisplayRotation& rotate) override;
   bool GetDisplayRotate(DisplayRotation* rotate) override;
   bool SetDisplayVisible(bool is_visible) override;
@@ -95,9 +84,6 @@ class EsPlayer : public EsPlusPlayer {
   bool GetPlayingTime(uint64_t* time_in_milliseconds) override;
   bool SetAudioMute(bool is_mute) override;
   bool SetVideoFrameBufferType(DecodedVideoFrameBufferType type) override;
-  bool SetVideoFrameBufferScaleResolution(
-      const uint32_t& target_width, const uint32_t& target_height) override;
-  bool SetDecodedVideoFrameRate(const Rational& request_framerate) override;
   void RegisterListener(EsEventListener* listener,
                         EsEventListener::UserData userdata) override;
   bool GetAdaptiveInfo(void* padaptive_info,
@@ -113,29 +99,6 @@ class EsPlayer : public EsPlusPlayer {
   bool SetFmmMode() override;
   bool SetAudioCodecType(const PlayerAudioCodecType& type) override;
   bool SetVideoCodecType(const PlayerVideoCodecType& type) override;
-  bool SetRenderTimeOffset(const StreamType type, int64_t offset) override;
-  bool GetRenderTimeOffset(const StreamType type, int64_t* offset) override;
-  bool SetAlternativeVideoResource(unsigned int rsc_type) override;
-  bool SwitchAudioStreamOnTheFly(const AudioStreamPtr& stream) override;
-  bool SetAiFilter(void* aifilter) override;
-  bool SetCatchUpSpeed(const CatchUpSpeed& level) override;
-  bool GetVideoLatencyStatus(LatencyStatus* status) override;
-  bool GetAudioLatencyStatus(LatencyStatus* status) override;
-  bool SetVideoMidLatencyThreshold(const unsigned int threshold) override;
-  bool SetAudioMidLatencyThreshold(const unsigned int threshold) override;
-  bool SetVideoHighLatencyThreshold(const unsigned int threshold) override;
-  bool SetAudioHighLatencyThreshold(const unsigned int threshold) override;
-  bool InitAudioEasingInfo(const uint32_t init_volume,
-                           const uint32_t init_elapsed_time,
-                           const AudioEasingInfo& easing_info) override;
-  bool UpdateAudioEasingInfo(const AudioEasingInfo& easing_info) override;
-  bool GetAudioEasingInfo(uint32_t* current_volume, uint32_t* elapsed_time,
-                          AudioEasingInfo* easing_info) override;
-  bool StartAudioEasing() override;
-  bool StopAudioEasing() override;
-  bool GetVirtualRscId(const RscType type, int* virtual_id) override;
-  bool SetAdvancedPictureQualityType(const AdvPictureQualityType type) override;
-  bool SetResourceAllocatePolicy(const RscAllocPolicy policy) override;
 
  private:
   using SubmitPacketOperator =
@@ -166,6 +129,9 @@ class EsPlayer : public EsPlusPlayer {
     std::uint64_t kMaxTimeOfAudioSrcQueue = 0;
     std::uint32_t kMinTimeThresholdOfVideoSrcQueue = 0;
     std::uint32_t kMinTimeThresholdOfAudioSrcQueue = 0;
+
+    std::uint64_t kMaxBufferOfVideoSrcQueue = 0;
+    std::uint64_t kMaxBufferOfAudioSrcQueue = 0;
   };
 
  private:
@@ -194,10 +160,6 @@ class EsPlayer : public EsPlusPlayer {
   void ResetContextForStop_();
   void GetSrcQueueCurrentSize_(const TrackType& type, uint64_t* byte_size,
                                uint64_t* time_size);
-  kpi::EsCodecLoggerKeys MakeKpiKeys_();
-#ifndef IS_AUDIO_PRODUCT
-  bool PrepareVideoMixingMode_(std::vector<Track>* tracks);
-#endif
 
  private:  // private types
   class TrackRendererEventListener
@@ -207,7 +169,6 @@ class EsPlayer : public EsPlusPlayer {
       assert(handler);
     }
     void OnError(const ErrorType& error_code) override;
-    void OnErrorMsg(const ErrorType& error_code, char* error_msg) override;
     void OnResourceConflicted() override;
     void OnEos() override;
     void OnSeekDone() override;
@@ -219,42 +180,17 @@ class EsPlayer : public EsPlusPlayer {
     void OnEvent(const EventType& event_type,
                  const EventMsg& msg_data) override;
     void OnFirstDecodingDone() override;
-    void OnVideoDecoderUnderrun() override;
-    void OnVideoLatencyStatus(const LatencyStatus& latency_status) override;
-    void OnAudioLatencyStatus(const LatencyStatus& latency_status) override;
-    void OnVideoHighLatency() override;
-    void OnAudioHighLatency() override;
-#ifndef IS_AUDIO_PRODUCT
-    void OnMediaPacketVideoRawDecoded(
-        const DecodedVideoRawModePacket& packet) override;
-#endif
 
    private:
     void ReadyToPrepare_(const TrackType& type);
     void ReadyToSeek_(const TrackType& type);
     void BufferStatus_(const TrackType& type, const BufferStatus& status);
     void OnMediaPacketVideoDecoded(const DecodedVideoPacket& packet);
-    void OnMediaPacketGetTbmBufPtr(void** ptr, bool is_scale_change);
 
    private:
     EsPlayer* handler_ = nullptr;
   };  // class TrackRendererEventListener
 
-#ifndef IS_AUDIO_PRODUCT
-  class MixerListener : public MixerTicketEventListener {
-   public:
-    explicit MixerListener(EsPlayer* handler) : handler_(handler) {
-      assert(handler);
-    }
-    bool OnAudioFocusChanged(bool active) override;
-    bool OnUpdateDisplayInfo(const DisplayInfo& cur_info,
-                             DisplayInfo* new_info) override;
-
-   private:
-    EsPlayer* handler_{nullptr};
-  };
-#endif
-
  private:
   std::vector<Track> track_;
   NeedData need_data_[kTrackTypeMax];
@@ -289,9 +225,6 @@ class EsPlayer : public EsPlusPlayer {
 
   std::unique_ptr<TrackRendererEventListener> trackrenderer_event_listener_{
       new TrackRendererEventListener(this)};
-#ifndef IS_AUDIO_PRODUCT
-  std::unique_ptr<MixerListener> mixer_event_listener_{new MixerListener(this)};
-#endif
   std::unique_ptr<TrackRendererAdapter> trackrenderer_;
   std::future<void> preparetask_;
   PlayerAppInfo app_info_;
@@ -304,15 +237,6 @@ class EsPlayer : public EsPlusPlayer {
   SrcQueueSize src_queue_size_;
 
   std::string caf_unique_number;
-#ifndef IS_AUDIO_PRODUCT
-  std::unique_ptr<MixerTicket> mixer_ticket_;
-  bool is_audio_focused_ = true;
-  Geometry mixerticket_roi_;
-  bool is_visible_ = true;
-  std::mutex audio_focus_m_;
-  bool enable_audio_pipeline_handle_ = true;
-  bool enable_rsc_alloc_handle_ = true;
-#endif
   DecodedVideoFrameBufferType vidoe_frame_buffer_type_ =
       DecodedVideoFrameBufferType::kNone;
   // for debugging
old mode 100755 (executable)
new mode 100644 (file)
index bdf19c6..210b8d7
@@ -82,39 +82,6 @@ struct Error : Base {
       : Base(userdata), type(_type), op(_op) {}
 };
 
-struct ErrorMsg : Base {
-  using Ptr = std::unique_ptr<ErrorMsg>;
-  using Operator =
-      std::function<void(const ErrorType&, const char*, Base::UserData)>;
-
-  static Base::Ptr Make(const ErrorType& error_type, const char* error_msg,
-                        size_t size, const Operator& op,
-                        const Base::UserData userdata) {
-    return Base::Ptr(new ErrorMsg(error_type, error_msg, size, op, userdata));
-  }
-  void Execute() override {
-    if (!op) return;
-    op(type, message, userdata_);
-  }
-
-  const ErrorType type = ErrorType::kNone;
-  const char* message = nullptr;
-  const Operator op;
-
- private:
-  explicit ErrorMsg(const ErrorType& _type, const char* _msg, size_t _size,
-                    const Operator& _op, const Base::UserData userdata)
-      : Base(userdata), type(_type), op(_op) {
-    message = new const char[_size + 1]{0};
-    memcpy((void*)message, _msg, _size);
-  }
-
-  ~ErrorMsg() {
-    delete[] message;
-    message = nullptr;
-  }
-};
-
 struct Bufferstatus : Base {
   using Ptr = std::unique_ptr<Bufferstatus>;
   using Operator = std::function<void(StreamType, BufferStatus, uint64_t,
@@ -339,29 +306,6 @@ struct ClosedCaption : Base {
   }
 };
 
-struct PacketLatencyStatus : Base {
-  using Ptr = std::unique_ptr<PacketLatencyStatus>;
-  using Operator = std::function<void(LatencyStatus, Base::UserData)>;
-
-  static Base::Ptr Make(const LatencyStatus latency_status, const Operator& op,
-                        const Base::UserData userdata) {
-    return Base::Ptr(new PacketLatencyStatus(latency_status, op, userdata));
-  }
-  void Execute() override {
-    if (!op) return;
-    op(latency_status, userdata_);
-  }
-
-  const LatencyStatus latency_status = LatencyStatus::kLow;
-  const Operator op;
-
- private:
-  explicit PacketLatencyStatus(const LatencyStatus _latency_status,
-                               const Operator& _op,
-                               const Base::UserData userdata)
-      : Base(userdata), latency_status(_latency_status), op(_op) {}
-};
-
 }  // namespace es_msg
 
 }  // namespace plusplayer
old mode 100755 (executable)
new mode 100644 (file)
index 19cd11c..a87d7f4
@@ -4,6 +4,7 @@
 \r
 #include "esplayer/espacket_logger.h"\r
 \r
+#include <inttypes.h>\r
 #include <sstream>\r
 #include <thread>\r
 #include <utility>\r
@@ -76,7 +77,7 @@ void EsPacketLogger::PrintStoredPacketInfo(const StreamType type, bool force) {
       (force) || (count == 1) || (count % kLogBufferThreshold == 0);\r
   if (in_timing) {\r
     const auto logmsg = GetStringFromLastPacketInfo_(type);\r
-    LOG_INFO("<pktinfo - %llu %s> [%s] %s", count, (force ? ": last" : ""),\r
+    LOG_INFO("<pktinfo - %" PRIu64 " %s> [%s] %s", count, (force ? ": last" : ""),\r
              (type == StreamType::kAudio ? "AUDIO" : "VIDEO"), logmsg.c_str());\r
   }\r
 }\r
old mode 100755 (executable)
new mode 100644 (file)
index dfecffc..802c879
 
 #include "core/gst_utils.h"
 #include "core/track_util.h"
-#include "core/utils/caf_logger.h"
 #include "core/utils/performance_checker.h"
 #include "core/utils/plusplayer_cfg.h"
 #include "core/utils/plusplayer_log.h"
-#include "core/videoframetypestrategy.h"
 #include "esplayer/esplayer_drm.h"
 #include "json/json.h"
 
@@ -242,9 +240,6 @@ inline bool IsSetLowLatencyModeForCatchUp(std::uint32_t low_latency_mode) {
 
 EsPlayer::EsPlayer() {
   std::call_once(es_conf::loaded, [this]() { es_conf::LoadIniFile(); });
-  if (CafLogger::Initialize() != true) {
-    LOG_INFO("CAF Dbus not connect.");
-  }
 }
 
 EsPlayer::~EsPlayer() {
@@ -272,10 +267,6 @@ bool EsPlayer::Open() {
     performance_checker::End(start, "Open");
     return true;
   };
-  CafLogger::SetUniqueNumber();
-  caf_unique_number = CafLogger::GetUniqueNumber();
-  CafLogger::LogMessage(CafEventType::kIdle, caf_unique_number);
-
   es_event::Open event{op};
   return state_manager_.ProcessEvent(event);
 }
@@ -311,13 +302,6 @@ bool EsPlayer::Deactivate(const StreamType type) {
                 state_manager_.GetStateEnum());
     return false;
   }
-#ifndef IS_AUDIO_PRODUCT
-  if (!enable_audio_pipeline_handle_ && type == StreamType::kAudio) {
-    LOG_ERROR_P(
-        this, "can't deactivate audio stream, mixer will control audio stream");
-    return false;
-  }
-#endif
   if (!trackrenderer_->Deactivate(static_cast<TrackType>(type))) {
     return false;
   }
@@ -349,13 +333,6 @@ bool EsPlayer::Activate(const StreamType type) {
                 state_manager_.GetStateEnum());
     return false;
   }
-#ifndef IS_AUDIO_PRODUCT
-  if (!enable_audio_pipeline_handle_ && type == StreamType::kAudio) {
-    LOG_ERROR_P(this,
-                "can't activate audio stream, mixer will control audio stream");
-    return false;
-  }
-#endif
   if (!track_.empty()) {
     auto has_track = [type](const Track& item) -> bool {
       return item.type == static_cast<TrackType>(type);
@@ -373,20 +350,7 @@ bool EsPlayer::Activate(const StreamType type) {
     internal::UpdateCodecTypeTracks(track_, audio_codec_type_,
                                     video_codec_type_,
                                     force_audio_swdecoder_use_);
-    if (drm_property_.external_decryption) {
-      internal::MakeTrustZoneTracks(track_, app_info_.id);
-    }
     SetTrackRendererAttributes_();
-#ifndef IS_AUDIO_PRODUCT
-    if (type == StreamType::kVideo) {
-      if (mixer_ticket_)
-        trackrenderer_->SetVideoFrameBufferType(
-            VideoFrameTypeStrategyPtr(new RawVideoFrameTypeStrategy()));
-      else
-        trackrenderer_->SetVideoFrameBufferType(VideoFrameTypeStrategyPtr(
-            new DefaultVideoFrameTypeStrategy(vidoe_frame_buffer_type_)));
-    }
-#endif
     if (!trackrenderer_->Activate(target->type, *target)) {
       target->active = false;
       return false;
@@ -410,9 +374,6 @@ bool EsPlayer::Start() {
     }
     return true;
   };
-
-  CafLogger::LogMessage(CafEventType::kPlaying, caf_unique_number);
-
   es_event::Start event{op};
   return state_manager_.ProcessEvent(event);
 }
@@ -424,9 +385,6 @@ bool EsPlayer::Stop() {
     const auto start = performance_checker::Start();
     if (trackrenderer_) trackrenderer_->Stop();
     ResetContextForStop_();
-#ifndef IS_AUDIO_PRODUCT
-    if (mixer_ticket_) mixer_ticket_.reset();
-#endif
     performance_checker::End(start, "Stop");
     return true;
   };
@@ -443,9 +401,6 @@ bool EsPlayer::Stop() {
     LOG_INFO_P(this, "Wait , Wait Prepare() Done...");
   }
 
-  CafLogger::LogMessage(CafEventType::kIdle, caf_unique_number);
-  CafLogger::StopLoggingThread();
-
   return res;
 }
 
@@ -464,6 +419,13 @@ void EsPlayer::SetTrackRendererAttributes_() {
       TrackRendererAdapter::Attribute::kAudioMinByteThreshold,
       src_queue_size_.kMinByteThresholdOfAudioSrcQueue);
   trackrenderer_->SetAttribute(
+      TrackRendererAdapter::Attribute::kVideoQueueMaxBuffer,
+      src_queue_size_.kMaxBufferOfVideoSrcQueue);
+  trackrenderer_->SetAttribute(
+      TrackRendererAdapter::Attribute::kAudioQueueMaxBuffer,
+      src_queue_size_.kMaxBufferOfAudioSrcQueue);
+#if 0
+  trackrenderer_->SetAttribute(
       TrackRendererAdapter::Attribute::kVideoQueueMaxTime,
       util::ConvertMsToNs(src_queue_size_.kMaxTimeOfVideoSrcQueue));
   trackrenderer_->SetAttribute(
@@ -477,6 +439,7 @@ void EsPlayer::SetTrackRendererAttributes_() {
       src_queue_size_.kMinTimeThresholdOfAudioSrcQueue);
   trackrenderer_->SetAttribute(TrackRendererAdapter::Attribute::kLowLatencyMode,
                                low_latency_mode_);
+#endif
   trackrenderer_->SetAttribute(
       TrackRendererAdapter::Attribute::kVideoFramePeekMode,
       video_frame_peek_mode_);
@@ -496,45 +459,16 @@ void EsPlayer::SetTrackRendererAttributes_() {
   }
   trackrenderer_->SetAttribute(TrackRendererAdapter::Attribute::kFmmMode,
                                fmm_mode_);
+#if 0
   trackrenderer_->SetAttribute(
       TrackRendererAdapter::Attribute::kAlternativeVideoResource,
       alternaltive_video_resource_);
   trackrenderer_->SetAttribute(
       TrackRendererAdapter::Attribute::kVideoDecodingMode,
       video_decoding_mode_);
-}
-
-#ifndef IS_AUDIO_PRODUCT
-bool EsPlayer::PrepareVideoMixingMode_(std::vector<Track>* tracks) {
-  LOG_ENTER_P(this);
-  mixer_ticket_->Prepare();
-  if (enable_rsc_alloc_handle_) return true;
-  ResourceType type = ResourceType::kHwMain;
-  if (!mixer_ticket_->GetAvailableResourceType(ResourceCategory::kVideoDecoder,
-                                               &type)) {
-    LOG_ERROR_P(this, "no available resource");
-    return false;
-  }
-  if (!mixer_ticket_->Alloc(ResourceCategory::kVideoDecoder, type)) {
-    LOG_ERROR_P(this, "fail to alloc resource [%d]", static_cast<int>(type));
-    return false;
-  }
+#endif
 
-  if (type == ResourceType::kHwSub) {
-    alternaltive_video_resource_ = 1;
-  } else if (type == ResourceType::kSw) {
-    for (auto it = tracks->begin(); it != tracks->end(); ++it) {
-      if (it->type == kTrackTypeVideo) {
-        it->use_swdecoder = true;
-        break;
-      }
-    }
-  } else if (type == ResourceType::kNdecoder) {
-    video_decoding_mode_ = internal::kNdecodingMode;
-  }
-  return true;
 }
-#endif
 
 bool EsPlayer::Prepare_() {
   LOG_ENTER_P(this);
@@ -556,27 +490,6 @@ bool EsPlayer::Prepare_() {
       return false;
     }
     trackrenderer_->SetIniProperty(es_conf::ini_property);
-#ifndef IS_AUDIO_PRODUCT
-    if (mixer_ticket_) {
-      trackrenderer_->SetVideoFrameBufferType(
-          VideoFrameTypeStrategyPtr(new RawVideoFrameTypeStrategy()));
-      if (!PrepareVideoMixingMode_(&active_track)) {
-        LOG_ERROR_P(this, "fail to prepare mixing mode");
-        return false;
-      }
-    }
-    std::unique_lock<std::mutex> lock(audio_focus_m_);
-    if (!enable_audio_pipeline_handle_ && !is_audio_focused_) {
-      for (auto it = active_track.begin(); it != active_track.end(); ++it) {
-        if (it->type == kTrackTypeAudio) {
-          active_track.erase(it);
-          LOG_INFO_P(this, "erase audio track is_audio_focused_ [%d]",
-                     is_audio_focused_);
-          break;
-        }
-      }
-    }
-#endif
     for (const auto& track : active_track) {
       switch (track.type) {
         case kTrackTypeAudio: {
@@ -603,10 +516,6 @@ bool EsPlayer::Prepare_() {
     performance_checker::End(start, "Prepare");
     return true;
   };
-
-  CafLogger::StartLoggingThread();
-  CafLogger::LogMessage(CafEventType::kReady, caf_unique_number);
-
   es_event::Prepare event{op};
   if (!state_manager_.ProcessEvent(event)) {
     return false;
@@ -624,9 +533,6 @@ void EsPlayer::PrepareTask_() {
     eventlistener_->OnPrepareDone(ret, eventlistener_userdata_);
   }
 
-  kpi::CodecLogger logger;
-  kpi::EsCodecLoggerKeys event_keys = MakeKpiKeys_();
-  logger.SendKpi(ret, event_keys);
   LOG_LEAVE_P(this);
 }
 
@@ -663,9 +569,6 @@ bool EsPlayer::Pause() {
     es_packet_logger_.PrintStoredPacketInfo(
         internal::ConvertToStreamType(track.type), true);
   }
-
-  CafLogger::LogMessage(CafEventType::kPaused, caf_unique_number);
-
   es_event::Pause event{op};
   return state_manager_.ProcessEvent(event);
 }
@@ -696,9 +599,6 @@ bool EsPlayer::Resume() {
     es_packet_logger_.PrintStoredPacketInfo(
         internal::ConvertToStreamType(track.type), true);
   }
-
-  CafLogger::LogMessage(CafEventType::kPlaying, caf_unique_number);
-
   es_event::Resume event{op};
   return state_manager_.ProcessEvent(event);
 }
@@ -719,7 +619,6 @@ bool EsPlayer::Seek(const uint64_t time_millisecond) {
     resume_time_.time = time_millisecond;
     return true;
   }
-  is_seek_done_need_drop = true;
   LOG_DEBUG_P(this, "[ENTER] seek time [%llu ms]", time_millisecond);
   for (const auto& track : track_) {
     eos_status_ = internal::ResetEosStatus(track.type, eos_status_);
@@ -734,23 +633,7 @@ bool EsPlayer::Seek(const uint64_t time_millisecond) {
     return true;
   };
   es_event::Seek event{op};
-  bool ret = state_manager_.ProcessEvent(event);
-  is_seek_done_need_drop = false;
-
-  if (eventlistener_) {
-    if (internal::IsLowLatencyModeDisableAVSync(low_latency_mode_) ||
-        internal::IsLowLatencyModeDisablePreroll(low_latency_mode_)) {
-      auto listener = std::bind(&plusplayer::EsEventListener::OnSeekDone,
-                                eventlistener_, std::placeholders::_1);
-      auto msg = es_msg::Simple::Make(listener, eventlistener_userdata_);
-      std::unique_lock<std::mutex> msg_mutex(msg_task_mutex_);
-      msg_queue_.push(std::move(msg));
-      msg_mutex.unlock();
-      msg_task_cv_.notify_one();
-    }
-  }
-  LOG_DEBUG_P(this, "[LEAVE] seek end [%llu ms]", time_millisecond);
-  return ret;
+  return state_manager_.ProcessEvent(event);
 }
 
 void EsPlayer::SetAppInfo(const PlayerAppInfo& app_info) {
@@ -763,7 +646,6 @@ void EsPlayer::SetAppInfo(const PlayerAppInfo& app_info) {
   app_info_ = app_info;
   trackrenderer_->SetAppInfo(app_info);
   LOG_INFO("Appid [%s]", app_info.id.c_str());
-  CafLogger::SetAppId(app_info.id);
 }
 
 bool EsPlayer::SetPlaybackRate(const double rate, const bool audio_mute) {
@@ -801,27 +683,9 @@ bool EsPlayer::SetDisplay(const DisplayType& type, void* obj) {
                 state_manager_.GetStateEnum());
     return false;
   }
-#ifndef IS_AUDIO_PRODUCT
-  if (mixer_ticket_) mixer_ticket_.reset();
-#endif
   return trackrenderer_->SetDisplay(type, obj);
 }
 
-#ifndef IS_AUDIO_PRODUCT
-bool EsPlayer::SetDisplay(const DisplayType& type, MixerTicket* handle) {
-  if (type == DisplayType::kMixer) {
-    LOG_INFO_P(this, "Create MixerTicket");
-    mixer_ticket_.reset(handle);
-    mixer_ticket_->RegisterListener(mixer_event_listener_.get());
-    if (mixer_ticket_->IsAudioFocusHandler())
-      enable_audio_pipeline_handle_ = false;
-    if (mixer_ticket_->IsRscAllocHandler()) enable_rsc_alloc_handle_ = false;
-    trackrenderer_->SetDisplay(DisplayType::kNone, nullptr);
-  }
-  return true;
-}
-#endif
-
 bool EsPlayer::SetDisplay(const DisplayType& type, void* ecore_wl2_window,
                           const int x, const int y, const int w, const int h) {
   if (state_manager_.GetState() != EsState::kIdle) {
@@ -829,27 +693,9 @@ bool EsPlayer::SetDisplay(const DisplayType& type, void* ecore_wl2_window,
                 state_manager_.GetStateEnum());
     return false;
   }
-#ifndef IS_AUDIO_PRODUCT
-  if (mixer_ticket_) mixer_ticket_.reset();
-#endif
   return trackrenderer_->SetDisplay(type, ecore_wl2_window, x, y, w, h);
 }
 
-bool EsPlayer::SetDisplaySubsurface(const DisplayType& type,
-                                    void* ecore_wl2_subsurface, const int x,
-                                    const int y, const int w, const int h) {
-  if (state_manager_.GetState() != EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-#ifndef IS_AUDIO_PRODUCT
-  if (mixer_ticket_) mixer_ticket_.reset();
-#endif
-  return trackrenderer_->SetDisplaySubsurface(type, ecore_wl2_subsurface, x, y,
-                                              w, h);
-}
-
 bool EsPlayer::SetDisplay(const DisplayType& type, unsigned int surface_id,
                           const int x, const int y, const int w, const int h) {
   if (state_manager_.GetState() != EsState::kIdle) {
@@ -857,9 +703,6 @@ bool EsPlayer::SetDisplay(const DisplayType& type, unsigned int surface_id,
                 state_manager_.GetStateEnum());
     return false;
   }
-#ifndef IS_AUDIO_PRODUCT
-  if (mixer_ticket_) mixer_ticket_.reset();
-#endif
   return trackrenderer_->SetDisplay(type, surface_id, x, y, w, h);
 }
 
@@ -879,14 +722,6 @@ bool EsPlayer::SetDisplayRoi(const Geometry& roi) {
                 state_manager_.GetStateEnum());
     return false;
   }
-#ifndef IS_AUDIO_PRODUCT
-  if (mixer_ticket_) {
-    LOG_INFO_P(this, "mixed player roi x[%d] y[%d] w[%d] h[%d]", roi.x, roi.y,
-               roi.w, roi.h);
-    mixerticket_roi_ = roi;
-    return true;
-  }
-#endif
   return trackrenderer_->SetDisplayRoi(roi);
 }
 
@@ -899,15 +734,6 @@ bool EsPlayer::SetVideoRoi(const CropArea& area) {
   return trackrenderer_->SetVideoRoi(area);
 }
 
-bool EsPlayer::ResizeRenderRect(const RenderRect& rect) {
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  return trackrenderer_->ResizeRenderRect(rect);
-}
-
 bool EsPlayer::SetDisplayRotate(const DisplayRotation& rotate) {
   if (state_manager_.GetState() < EsState::kIdle) {
     LOG_ERROR_P(this, "Invalid State , current %d",
@@ -935,14 +761,6 @@ bool EsPlayer::SetDisplayVisible(bool is_visible) {
                 state_manager_.GetStateEnum());
     return false;
   }
-#ifndef IS_AUDIO_PRODUCT
-  if (mixer_ticket_) {
-    LOG_INFO_P(this, "mixed player is_visible [%d] -> [%d]", is_visible_,
-               is_visible);
-    is_visible_ = is_visible;
-    return true;
-  }
-#endif
   return trackrenderer_->SetDisplayVisible(is_visible);
 }
 
@@ -975,11 +793,13 @@ bool EsPlayer::SetSubmitDataType(SubmitDataType type) {
 
   if (type == SubmitDataType::kCleanData) return true;
   submit_data_type_ = type;
-  drm_property_.type = drm::Type::kPlayready;
-  // TODO: following SubmitDataType, need to set external_decryption
-  drm_property_.external_decryption = true;
-  drm::Property drm_property = drm_property_;
-  trackrenderer_->SetDrm(drm_property);
+  if (type == SubmitDataType::kEncryptedData) {
+       drm_property_.type = drm::Type::kPlayready;
+       // TODO: following SubmitDataType, need to set external_decryption
+       drm_property_.external_decryption = true;
+       drm::Property drm_property = drm_property_;
+       trackrenderer_->SetDrm(drm_property);
+  }
   return true;
 }
 
@@ -1030,9 +850,6 @@ bool EsPlayer::SetStream_(const Track& track) {
     }
     return true;
   };
-
-  CafLogger::LogMessage(CafEventType::kStreamReady, caf_unique_number);
-
   es_event::SetStream event{op};
   return state_manager_.ProcessEvent(event);
 }
@@ -1074,59 +891,6 @@ bool EsPlayer::SetStream(const VideoStreamPtr& stream) {
   return SetStream_(track);
 }
 
-bool EsPlayer::SwitchAudioStreamOnTheFly(const AudioStreamPtr& stream) {
-  LOG_ENTER_P(this);
-  if (state_manager_.GetState() < EsState::kReady) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  Track track = stream->GetTrack_();
-
-  if (!internal::IsAvailableCodecSwitch(track)) {
-    LOG_ERROR_P(this, "Invalid new mimetype [%s][%d]", track.mimetype.c_str(),
-                track.version);
-    return false;
-  }
-  for (auto& old_track : track_) {
-    if (old_track.type == TrackType::kTrackTypeAudio) {
-      if (!internal::IsAvailableCodecSwitch(old_track)) {
-        LOG_ERROR_P(this, "Invalid previous mimetype [%s][%d]",
-                    old_track.mimetype.c_str(), old_track.version);
-        return false;
-      }
-      if (!Flush(StreamType::kAudio)) return false;
-      old_track.active = false;
-      break;
-    }
-  }
-  if (!ChangeStream_(track)) return false;
-
-  trackrenderer_->SetTrack(track_);
-  return true;
-}
-
-bool EsPlayer::SetAdvancedPictureQualityType(const AdvPictureQualityType type) {
-  LOG_ENTER_P(this);
-  if (state_manager_.GetState() != EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  trackrenderer_->SetAdvancedPictureQualityType(type);
-  return true;
-}
-
-bool EsPlayer::SetResourceAllocatePolicy(const RscAllocPolicy policy) {
-  LOG_ENTER_P(this);
-  if (state_manager_.GetState() != EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  trackrenderer_->SetResourceAllocatePolicy(policy);
-  return true;
-}
 
 void EsPlayer::ResetContextForClose_() {
   internal::ResetDrmProperty(drm_property_);
@@ -1166,21 +930,14 @@ void EsPlayer::GetSrcQueueCurrentSize_(const TrackType& type,
     trackrenderer_->GetAttribute(
         TrackRendererAdapter::Attribute::kVideoQueueCurrentLevelByte,
         &byte_size_);
-    trackrenderer_->GetAttribute(
-        TrackRendererAdapter::Attribute::kVideoQueueCurrentLevelTime,
-        &time_size_);
   } else if (type == TrackType::kTrackTypeAudio) {
     trackrenderer_->GetAttribute(
         TrackRendererAdapter::Attribute::kAudioQueueCurrentLevelByte,
         &byte_size_);
-    trackrenderer_->GetAttribute(
-        TrackRendererAdapter::Attribute::kAudioQueueCurrentLevelTime,
-        &time_size_);
   } else
     return;
   *byte_size = boost::any_cast<std::uint64_t>(byte_size_);
-  *time_size = boost::any_cast<std::uint64_t>(time_size_);
-  *time_size = util::ConvertNsToMs(*time_size);
+  *time_size = 0;
 }
 
 GstBuffer* EsPlayer::GetGstBuffer_(const EsPacketPtr& packet,
@@ -1475,44 +1232,12 @@ bool EsPlayer::SetAudioMute(bool is_mute) {
 }
 
 bool EsPlayer::SetVideoFrameBufferType(DecodedVideoFrameBufferType type) {
-  if ((state_manager_.GetState() != EsState::kIdle &&
-       type != DecodedVideoFrameBufferType::kScale) ||
-      (state_manager_.GetState() < EsState::kIdle &&
-       type == DecodedVideoFrameBufferType::kScale)) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  if (type == DecodedVideoFrameBufferType::kScale &&
-      video_codec_type_ == kPlayerVideoCodecTypeSW) {
-    LOG_ERROR_P(this, "kScale is not supportted when using sw video decoder");
-    return false;
-  }
-  trackrenderer_->SetVideoFrameBufferType(
-      VideoFrameTypeStrategyPtr(new DefaultVideoFrameTypeStrategy(type)));
-  vidoe_frame_buffer_type_ = type;
-  return true;
-}
-
-bool EsPlayer::SetVideoFrameBufferScaleResolution(
-    const uint32_t& target_width, const uint32_t& target_height) {
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-
-  return trackrenderer_->SetVideoFrameBufferScaleResolution(target_width,
-                                                            target_height);
-}
-
-bool EsPlayer::SetDecodedVideoFrameRate(const Rational& request_framerate) {
-  if (state_manager_.GetState() < EsState::kIdle) {
+  if (state_manager_.GetState() != EsState::kIdle) {
     LOG_ERROR("Invalid State , current %d", state_manager_.GetStateEnum());
     return false;
   }
-
-  return trackrenderer_->SetDecodedVideoFrameRate(request_framerate);
+  trackrenderer_->SetVideoFrameBufferType(type);
+  return true;
 }
 
 void EsPlayer::RegisterListener(EsEventListener* listener,
@@ -1535,20 +1260,6 @@ bool EsPlayer::GetAdaptiveInfo(void* padaptive_info,
         return false;
       }
       return trackrenderer_->GetDroppedFrames(padaptive_info);
-    case PlayerAdaptiveInfo::kDroppedVideoFramesForCatchup:
-      if (state_manager_.GetState() < EsState::kReady) {
-        LOG_ERROR_P(this, "Wrong state, we aren't started yet");
-        return false;
-      }
-      return trackrenderer_->GetDroppedFramesForCatchup(kTrackTypeVideo,
-                                                        padaptive_info);
-    case PlayerAdaptiveInfo::kDroppedAudioFramesForCatchup:
-      if (state_manager_.GetState() < EsState::kReady) {
-        LOG_ERROR_P(this, "Wrong state, we aren't started yet");
-        return false;
-      }
-      return trackrenderer_->GetDroppedFramesForCatchup(kTrackTypeAudio,
-                                                        padaptive_info);
     default:
       break;
   }
@@ -1640,60 +1351,6 @@ bool EsPlayer::SetLowLatencyMode(const PlayerLowLatencyMode& mode) {
   return true;
 }
 
-bool EsPlayer::SetRenderTimeOffset(const StreamType type, int64_t offset) {
-  if (state_manager_.GetState() < EsState::kReady) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  if (!internal::IsSupportedTsOffset(low_latency_mode_)) {
-    LOG_ERROR_P(this,
-                "low latency mode have to be set except disable_sync mode");
-    return false;
-  }
-  constexpr std::int64_t ns_unit = 1000000;
-  if ((offset * ns_unit > G_MAXINT64) || (offset * ns_unit < G_MININT64)) {
-    LOG_ERROR_P(
-        this, "wrong value : G_MAXINT64 < offset[%lld] * 1000000 < G_MAXINT64",
-        offset);
-    return false;
-  }
-  if (type == StreamType::kMax) return false;
-  if (type == StreamType::kAudio)
-    trackrenderer_->SetAttribute(
-        TrackRendererAdapter::Attribute::kAudioRenderTimeOffset,
-        util::ConvertMsToNs(offset));
-  else if (type == StreamType::kVideo)
-    trackrenderer_->SetAttribute(
-        TrackRendererAdapter::Attribute::kVideoRenderTimeOffset,
-        util::ConvertMsToNs(offset));
-  return true;
-}
-
-bool EsPlayer::GetRenderTimeOffset(const StreamType type, int64_t* offset) {
-  if (state_manager_.GetState() < EsState::kReady) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  if (!internal::IsSupportedTsOffset(low_latency_mode_)) {
-    LOG_ERROR_P(this, "low latency mode have to be set");
-    return false;
-  }
-  if (type == StreamType::kMax) return false;
-  boost::any off_set;
-  if (type == StreamType::kAudio)
-    trackrenderer_->GetAttribute(
-        TrackRendererAdapter::Attribute::kAudioRenderTimeOffset, &off_set);
-  else if (type == StreamType::kVideo)
-    trackrenderer_->GetAttribute(
-        TrackRendererAdapter::Attribute::kVideoRenderTimeOffset, &off_set);
-
-  *offset = boost::any_cast<std::int64_t>(off_set);
-  *offset = util::ConvertNsToMs(*offset);
-  return true;
-}
-
 bool EsPlayer::SetVideoFramePeekMode() {
   if (state_manager_.GetState() != EsState::kIdle) {
     LOG_ERROR_P(this, "Invalid State , current %d",
@@ -1778,241 +1435,12 @@ bool EsPlayer::SetVideoCodecType(const PlayerVideoCodecType& type) {
                 "type is scale");
     return false;
   }
-#ifndef IS_AUDIO_PRODUCT
-  if (!enable_rsc_alloc_handle_) {
-    LOG_ERROR_P(this, "player can't control resource type, mixer will do it");
-    return false;
-  }
-  if (type == kPlayerVideoCodecTypeHWNdecoding) {
-    LOG_INFO_P(this, "PlayerVideoCodecType HW N-decoding");
-    video_decoding_mode_ = internal::kNdecodingMode;
-    return true;
-  }
-#endif
   LOG_INFO_P(this, "PlayerVideoCodecType [%s]",
              (type == kPlayerVideoCodecTypeHW) ? "hardware" : "software");
   video_codec_type_ = type;
   return true;
 }
 
-bool EsPlayer::SetAiFilter(void* aifilter) {
-  if (state_manager_.GetState() != EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  trackrenderer_->SetAiFilter(aifilter);
-  return true;
-}
-
-bool EsPlayer::InitAudioEasingInfo(const uint32_t init_volume,
-                                   const uint32_t init_elapsed_time,
-                                   const AudioEasingInfo& easing_info) {
-  if (init_volume > internal::kVolumeMax ||
-      easing_info.target_volume > internal::kVolumeMax) {
-    LOG_ERROR_P(this, "Invalid volume: init [%d] target [%d]", init_volume,
-                easing_info.target_volume);
-    return false;
-  }
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  return trackrenderer_->InitAudioEasingInfo(init_volume, init_elapsed_time,
-                                             easing_info);
-}
-
-bool EsPlayer::UpdateAudioEasingInfo(const AudioEasingInfo& easing_info) {
-  if (easing_info.target_volume > internal::kVolumeMax) {
-    LOG_ERROR_P(this, "Invalid volume level %d", easing_info.target_volume);
-    return false;
-  }
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  return trackrenderer_->UpdateAudioEasingInfo(easing_info);
-}
-
-bool EsPlayer::GetAudioEasingInfo(uint32_t* current_volume,
-                                  uint32_t* elapsed_time,
-                                  AudioEasingInfo* easing_info) {
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  return trackrenderer_->GetAudioEasingInfo(current_volume, elapsed_time,
-                                            easing_info);
-}
-
-bool EsPlayer::StartAudioEasing() {
-  if (state_manager_.GetState() < EsState::kReady) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  return trackrenderer_->StartAudioEasing();
-}
-
-bool EsPlayer::StopAudioEasing() {
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-  return trackrenderer_->StopAudioEasing();
-}
-
-bool EsPlayer::SetAlternativeVideoResource(unsigned int rsc_type) {
-  if (state_manager_.GetState() == EsState::kNone) {
-    LOG_ERROR_P(this, "Invalid State");
-    return false;
-  }
-#ifndef IS_AUDIO_PRODUCT
-  if (!enable_rsc_alloc_handle_) {
-    LOG_ERROR_P(this, "player can't control resource type, mixer will do it");
-    return false;
-  }
-#endif
-  alternaltive_video_resource_ = static_cast<std::uint32_t>(rsc_type);
-  return true;
-}
-
-bool EsPlayer::SetCatchUpSpeed(const CatchUpSpeed& level) {
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-
-  if (false == internal::IsSetLowLatencyModeForCatchUp(low_latency_mode_)) {
-    LOG_ERROR_P(this, "Do not set low latency mode, current[%u]",
-                static_cast<std::uint32_t>(low_latency_mode_));
-    return false;
-  }
-
-  if (trackrenderer_->SetCatchUpSpeed(level)) {
-    return true;
-  }
-  return false;
-}
-
-bool EsPlayer::GetVideoLatencyStatus(LatencyStatus* status) {
-  if (state_manager_.GetState() < EsState::kReady) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-
-  if (trackrenderer_->GetVideoLatencyStatus(status)) {
-    return true;
-  }
-  return false;
-}
-
-bool EsPlayer::GetAudioLatencyStatus(LatencyStatus* status) {
-  if (state_manager_.GetState() < EsState::kReady) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-
-  if (trackrenderer_->GetAudioLatencyStatus(status)) {
-    return true;
-  }
-  return false;
-}
-
-bool EsPlayer::SetVideoMidLatencyThreshold(const unsigned int threshold) {
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-
-  if (false == internal::IsSetLowLatencyModeForCatchUp(low_latency_mode_)) {
-    LOG_ERROR_P(this, "Don't set low latency mode, current[%u]",
-                static_cast<std::uint32_t>(low_latency_mode_));
-    return false;
-  }
-
-  LOG_INFO_P(this, "video_mid_latency_threshold : [%u]", threshold);
-
-  trackrenderer_->SetVideoMidLatencyThreshold(threshold);
-  return true;
-}
-
-bool EsPlayer::SetAudioMidLatencyThreshold(const unsigned int threshold) {
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-
-  if (false == internal::IsSetLowLatencyModeForCatchUp(low_latency_mode_)) {
-    LOG_ERROR_P(this, "Don't set low latency mode, current[%u]",
-                static_cast<std::uint32_t>(low_latency_mode_));
-    return false;
-  }
-
-  LOG_INFO_P(this, "audio_mid_latency_threshold : [%u]", threshold);
-
-  trackrenderer_->SetAudioMidLatencyThreshold(threshold);
-  return true;
-}
-
-bool EsPlayer::SetVideoHighLatencyThreshold(const unsigned int threshold) {
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-
-  if (false == internal::IsSetLowLatencyModeForCatchUp(low_latency_mode_)) {
-    LOG_ERROR_P(this, "Don't set low latency mode, current[%u]",
-                static_cast<std::uint32_t>(low_latency_mode_));
-    return false;
-  }
-
-  LOG_INFO_P(this, "video_high_latency_threshold : [%u]", threshold);
-
-  trackrenderer_->SetVideoHighLatencyThreshold(threshold);
-  return true;
-}
-
-bool EsPlayer::SetAudioHighLatencyThreshold(const unsigned int threshold) {
-  if (state_manager_.GetState() < EsState::kIdle) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    return false;
-  }
-
-  if (false == internal::IsSetLowLatencyModeForCatchUp(low_latency_mode_)) {
-    LOG_ERROR_P(this, "Don't set low latency mode, current[%u]",
-                static_cast<std::uint32_t>(low_latency_mode_));
-    return false;
-  }
-
-  LOG_INFO_P(this, "audio_high_latency_threshold : [%u]", threshold);
-
-  trackrenderer_->SetAudioHighLatencyThreshold(threshold);
-  return true;
-}
-
-bool EsPlayer::GetVirtualRscId(const RscType type, int* virtual_id) {
-  if (virtual_id == nullptr) return false;
-  if (state_manager_.GetState() < EsState::kReady) {
-    LOG_ERROR_P(this, "Invalid State , current %d",
-                state_manager_.GetStateEnum());
-    *virtual_id = -1;
-    return false;
-  }
-  return trackrenderer_->GetVirtualRscId(type, virtual_id);
-}
-
 void EsPlayer::Init_() {
   track_.clear();
   is_stopped_ = false;
@@ -2054,7 +1482,6 @@ void EsPlayer::TrackRendererEventListener::OnEos() {
 void EsPlayer::TrackRendererEventListener::OnSeekDone() {
   LOG_ENTER_P(handler_);
   if (!handler_->eventlistener_) return;
-  if (handler_->is_seek_done_need_drop == true) return;
   auto listener = std::bind(&plusplayer::EsEventListener::OnSeekDone,
                             handler_->eventlistener_, std::placeholders::_1);
   auto msg = es_msg::Simple::Make(listener, handler_->eventlistener_userdata_);
@@ -2105,74 +1532,6 @@ void EsPlayer::TrackRendererEventListener::OnError(
   handler_->msg_task_cv_.notify_one();
 }
 
-void EsPlayer::TrackRendererEventListener::OnErrorMsg(
-    const ErrorType& error_code, char* error_msg) {
-  if (!handler_->eventlistener_) return;
-  if (error_code == ErrorType::kResourceLimit) return;
-
-  std::vector<Track> activeTracks;
-  track_util::GetActiveTrackList(handler_->track_, activeTracks);
-
-  Json::Value message;
-  message["error_code"] = (int)error_code;
-
-  switch (error_code) {
-    case ErrorType::kNotSupportedVideoCodec:
-      for (const auto& track : activeTracks) {
-        if (track.type == kTrackTypeVideo) {
-          message["codec"] = track.mimetype.c_str();
-          message["demux"] = track.container_type.c_str();
-          char json_string[20] = {0};
-          int nLen = 19;
-          strncat(json_string, std::to_string(track.width).c_str(), nLen);
-          nLen = sizeof(json_string) - strlen(json_string) - 1;
-          if (nLen < 0) nLen = 0;
-          strncat(json_string, "*", nLen);
-          nLen = sizeof(json_string) - strlen(json_string) - 1;
-          if (nLen < 0) nLen = 0;
-          strncat(json_string, std::to_string(track.height).c_str(), nLen);
-          message["resolution"] = json_string;
-          memset(json_string, 0, sizeof(json_string));
-          nLen = 19;
-          strncat(json_string, std::to_string(track.framerate_num).c_str(),
-                  nLen);
-          nLen = sizeof(json_string) - strlen(json_string) - 1;
-          if (nLen < 0) nLen = 0;
-          strncat(json_string, "/", nLen);
-          nLen = sizeof(json_string) - strlen(json_string) - 1;
-          if (nLen < 0) nLen = 0;
-          strncat(json_string, std::to_string(track.framerate_den).c_str(),
-                  nLen);
-          message["fps"] = json_string;
-          message["detail_info"] = error_msg;
-          break;
-        }
-      }
-      break;
-    case ErrorType::kNotSupportedAudioCodec:
-
-      break;
-    default:
-      break;
-  }
-
-  Json::FastWriter writer;
-  std::string str = writer.write(message);
-  LOG_INFO_P(handler_, "error message: %s", str.c_str());
-
-  auto listener = std::bind(&plusplayer::EsEventListener::OnErrorMsg,
-                            handler_->eventlistener_, std::placeholders::_1,
-                            std::placeholders::_2, std::placeholders::_3);
-  auto msg =
-      es_msg::ErrorMsg::Make(error_code, str.c_str(), str.size(), listener,
-                             handler_->eventlistener_userdata_);
-
-  std::unique_lock<std::mutex> msg_mutex(handler_->msg_task_mutex_);
-  handler_->msg_queue_.push(std::move(msg));
-  msg_mutex.unlock();
-  handler_->msg_task_cv_.notify_one();
-}
-
 void EsPlayer::TrackRendererEventListener::ReadyToPrepare_(
     const TrackType& type) {
   LOG_INFO_P(handler_, "OnReadyToPrepare [%s]",
@@ -2252,13 +1611,6 @@ void EsPlayer::TrackRendererEventListener::OnBufferStatus(
   }
 }
 
-void EsPlayer::TrackRendererEventListener::OnMediaPacketGetTbmBufPtr(
-    void** tbm_ptr, bool is_scale_change) {
-  if (!handler_->eventlistener_) return;
-
-  handler_->eventlistener_->OnMediaPacketGetTbmBufPtr(tbm_ptr, is_scale_change);
-}
-
 void EsPlayer::TrackRendererEventListener::OnMediaPacketVideoDecoded(
     const DecodedVideoPacket& packet) {
   if (!handler_->eventlistener_) return;
@@ -2266,68 +1618,6 @@ void EsPlayer::TrackRendererEventListener::OnMediaPacketVideoDecoded(
   handler_->eventlistener_->OnMediaPacketVideoDecoded(packet);
 }
 
-#ifndef IS_AUDIO_PRODUCT
-void EsPlayer::TrackRendererEventListener::OnMediaPacketVideoRawDecoded(
-    const DecodedVideoRawModePacket& packet) {
-  if (handler_->mixer_ticket_ == nullptr) return;
-  const auto& data = packet.data;
-  if (packet.type == DecodedVideoRawModePacketType::kPhysicalAddress) {
-    DecodedRawInfo info;
-    info.width = packet.width;
-    info.height = packet.height;
-    info.y_info.phyaddr = data.raw.y_phyaddr;
-    info.y_info.viraddr = data.raw.y_viraddr;
-    info.y_info.linesize = data.raw.y_linesize;
-    info.uv_info.phyaddr = data.raw.uv_phyaddr;
-    info.uv_info.viraddr = data.raw.uv_viraddr;
-    info.uv_info.linesize = data.raw.uv_linesize;
-    handler_->mixer_ticket_->Render(info);
-  } else if (packet.type == DecodedVideoRawModePacketType::kTizenBuffer) {
-    DecodedVideoKeyTypeInfo info;
-    info.width = packet.width;
-    info.height = packet.height;
-    info.key = packet.data.tbm.key;
-    handler_->mixer_ticket_->Render(info);
-  }
-}
-
-bool EsPlayer::MixerListener::OnAudioFocusChanged(bool active) {
-  LOG_INFO_P(handler_, "focused [%d]", active);
-  std::unique_lock<std::mutex> lock(handler_->audio_focus_m_);
-  if (handler_->state_manager_.GetState() < EsState::kReady) {
-    handler_->is_audio_focused_ = active;
-    return true;
-  }
-  if (active) {
-    Track activated_track;
-    track_util::GetActiveTrack(handler_->track_, kTrackTypeAudio,
-                               &activated_track);
-    LOG_INFO_P(handler_, "Activate audio track");
-    {
-      std::lock_guard<std::mutex> lock2(handler_->eos_mutex_);
-      handler_->eos_status_ =
-          internal::ResetEosStatus(kTrackTypeAudio, handler_->eos_status_);
-    }
-    return handler_->trackrenderer_->Activate(kTrackTypeAudio, activated_track);
-  }
-  LOG_INFO_P(handler_, "Deactivate audio track");
-  handler_->is_audio_focused_ = false;
-  {
-    std::lock_guard<std::mutex> lock2(handler_->eos_mutex_);
-    handler_->eos_status_ |= EosStatus::kAudioEos;
-  }
-  return handler_->trackrenderer_->Deactivate(kTrackTypeAudio);
-}
-
-bool EsPlayer::MixerListener::OnUpdateDisplayInfo(const DisplayInfo& cur_info,
-                                                  DisplayInfo* new_info) {
-  new_info->geometry = handler_->mixerticket_roi_;
-  new_info->visible_status =
-      handler_->is_visible_ ? VisibleStatus::kVisible : VisibleStatus::kHide;
-  return true;
-}
-#endif
-
 void EsPlayer::TrackRendererEventListener::OnSeekData(const TrackType& type,
                                                       const uint64_t offset) {
   if (!handler_->eventlistener_) return;
@@ -2398,128 +1688,6 @@ void EsPlayer::TrackRendererEventListener::OnFirstDecodingDone() {
   LOG_LEAVE_P(handler_);
 }
 
-void EsPlayer::TrackRendererEventListener::OnVideoDecoderUnderrun() {
-  LOG_ENTER_P(handler_);
-  if (!handler_->eventlistener_) return;
-
-  if (handler_->state_manager_.GetState() != EsState::kPlaying &&
-      handler_->state_manager_.GetState() != EsState::kPaused) {
-    return;
-  }
-
-  auto listener =
-      std::bind(&plusplayer::EsEventListener::OnVideoDecoderUnderrun,
-                handler_->eventlistener_, std::placeholders::_1);
-  auto msg = es_msg::Simple::Make(listener, handler_->eventlistener_userdata_);
-  std::unique_lock<std::mutex> msg_mutex(handler_->msg_task_mutex_);
-  handler_->msg_queue_.push(std::move(msg));
-  msg_mutex.unlock();
-  handler_->msg_task_cv_.notify_one();
-  LOG_LEAVE_P(handler_);
-}
-
-void EsPlayer::TrackRendererEventListener::OnVideoLatencyStatus(
-    const LatencyStatus& latency_status) {
-  LOG_ENTER_P(handler_);
-  if (!handler_->eventlistener_) return;
-
-  if (handler_->state_manager_.GetState() != EsState::kPlaying &&
-      handler_->state_manager_.GetState() != EsState::kPaused) {
-    return;
-  }
-
-  auto listener = std::bind(&plusplayer::EsEventListener::OnVideoLatencyStatus,
-                            handler_->eventlistener_, std::placeholders::_1,
-                            std::placeholders::_2);
-
-  auto msg = es_msg::PacketLatencyStatus::Make(
-      latency_status, listener, handler_->eventlistener_userdata_);
-
-  std::unique_lock<std::mutex> msg_mutex(handler_->msg_task_mutex_);
-  handler_->msg_queue_.push(std::move(msg));
-  msg_mutex.unlock();
-  handler_->msg_task_cv_.notify_one();
-  LOG_LEAVE_P(handler_);
-}
-
-void EsPlayer::TrackRendererEventListener::OnAudioLatencyStatus(
-    const LatencyStatus& latency_status) {
-  LOG_ENTER_P(handler_);
-  if (!handler_->eventlistener_) return;
-
-  if (handler_->state_manager_.GetState() != EsState::kPlaying &&
-      handler_->state_manager_.GetState() != EsState::kPaused) {
-    return;
-  }
-
-  auto listener = std::bind(&plusplayer::EsEventListener::OnAudioLatencyStatus,
-                            handler_->eventlistener_, std::placeholders::_1,
-                            std::placeholders::_2);
-
-  auto msg = es_msg::PacketLatencyStatus::Make(
-      latency_status, listener, handler_->eventlistener_userdata_);
-
-  std::unique_lock<std::mutex> msg_mutex(handler_->msg_task_mutex_);
-  handler_->msg_queue_.push(std::move(msg));
-  msg_mutex.unlock();
-  handler_->msg_task_cv_.notify_one();
-  LOG_LEAVE_P(handler_);
-}
-
-void EsPlayer::TrackRendererEventListener::OnVideoHighLatency() {
-  LOG_ENTER_P(handler_);
-  if (!handler_->eventlistener_) return;
-
-  auto listener = std::bind(&plusplayer::EsEventListener::OnVideoHighLatency,
-                            handler_->eventlistener_, std::placeholders::_1);
-
-  auto msg = es_msg::Simple::Make(listener, handler_->eventlistener_userdata_);
-
-  std::unique_lock<std::mutex> msg_mutex(handler_->msg_task_mutex_);
-  handler_->msg_queue_.push(std::move(msg));
-  msg_mutex.unlock();
-  handler_->msg_task_cv_.notify_one();
-  LOG_LEAVE_P(handler_);
-}
-
-void EsPlayer::TrackRendererEventListener::OnAudioHighLatency() {
-  LOG_ENTER_P(handler_);
-  if (!handler_->eventlistener_) return;
-
-  auto listener = std::bind(&plusplayer::EsEventListener::OnAudioHighLatency,
-                            handler_->eventlistener_, std::placeholders::_1);
-
-  auto msg = es_msg::Simple::Make(listener, handler_->eventlistener_userdata_);
-
-  std::unique_lock<std::mutex> msg_mutex(handler_->msg_task_mutex_);
-  handler_->msg_queue_.push(std::move(msg));
-  msg_mutex.unlock();
-  handler_->msg_task_cv_.notify_one();
-  LOG_LEAVE_P(handler_);
-}
-
-kpi::EsCodecLoggerKeys EsPlayer::MakeKpiKeys_() {
-  kpi::EsCodecLoggerKeys event_info;
-  event_info.app_id = app_info_.id;
-  if (submit_data_type_ == SubmitDataType::kCleanData) {
-    event_info.is_clean = true;
-  } else {
-    event_info.is_clean = false;
-  }
-
-  for (const auto& track : track_) {
-    if (track.type == kTrackTypeVideo) {
-      event_info.v_codec = track.mimetype;
-      event_info.v_codec_version = track.version;
-      event_info.width = track.maxwidth;
-      event_info.height = track.maxheight;
-    } else if (track.type == kTrackTypeAudio) {
-      event_info.a_codec = track.mimetype;
-    }
-  }
-  return event_info;
-}
-
 namespace es_conf {
 
 void LoadIniProperty(const Json::Value& root) {
old mode 100755 (executable)
new mode 100644 (file)
index 045b444..9147f9c
@@ -16,11 +16,7 @@ using plusplayer::Geometry;
 #include "core/utils/plusplayer_log.h"
 #include "esplayer/decoded_pkt_list.h"
 #include "esplusplayer_capi/esplusplayer_internal.h"
-#ifndef IS_TOMATO
-#include "mixer_capi/mixer_capi.h"
-#endif
 #include "plusplayer/appinfo.h"
-#include "plusplayer/audioeasinginfo.h"
 #include "plusplayer/drm.h"
 #include "plusplayer/elementary_stream.h"
 #include "plusplayer/espacket.h"
@@ -29,19 +25,12 @@ using plusplayer::Geometry;
 #include "plusplayer/types/buffer.h"
 #include "plusplayer/types/display.h"
 #include "plusplayer/types/error.h"
-#include "plusplayer/types/latency.h"
-#include "plusplayer/types/picturequality.h"
-#include "plusplayer/types/resource.h"
 #include "plusplayer/types/stream.h"
 
-using plusplayer::AdvPictureQualityType;
-using plusplayer::AudioEasingInfo;
-using plusplayer::AudioEasingType;
 using plusplayer::AudioMimeType;
 using plusplayer::AudioStream;
 using plusplayer::AudioStreamPtr;
 using plusplayer::BufferStatus;
-using plusplayer::CatchUpSpeed;
 using plusplayer::CropArea;
 using plusplayer::DecodedPacketManagerInterface;
 using plusplayer::DisplayMode;
@@ -51,17 +40,10 @@ using plusplayer::ErrorType;
 using plusplayer::EsPacket;
 using plusplayer::EsPacketPtr;
 using plusplayer::EsState;
-using plusplayer::LatencyStatus;
 using plusplayer::MatroskaColor;
 using plusplayer::PlayerAdaptiveInfo;
 using plusplayer::PlayerAppInfo;
-using plusplayer::PlayerAudioCodecType;
 using plusplayer::PlayerLowLatencyMode;
-using plusplayer::PlayerVideoCodecType;
-using plusplayer::Rational;
-using plusplayer::RenderRect;
-using plusplayer::RscAllocPolicy;
-using plusplayer::RscType;
 using plusplayer::StreamType;
 using plusplayer::SubmitDataType;
 using plusplayer::Track;
@@ -71,6 +53,8 @@ using plusplayer::VideoStream;
 using plusplayer::VideoStreamPtr;
 using plusplayer::drm::EsPlayerEncryptedInfo;
 using plusplayer::drm::Type;
+using plusplayer::PlayerAudioCodecType;
+using plusplayer::PlayerVideoCodecType;
 
 namespace util {
 const std::unordered_map<esplusplayer_error_type, std::string> kErrorStringMap =
@@ -256,7 +240,7 @@ class listener_bridge : public plusplayer::EsEventListener {
   virtual void OnReadyToSeek(const StreamType& type, const uint64_t offset,
                              UserData userdata) {
     LOG_ENTER
-    LOG_INFO("offset : %llu", offset);
+    LOG_INFO("offset : %" PRIu64, offset);
     std::unique_lock<std::mutex> lock(this->multi_seek_control.lock);
     if (this->multi_seek_control.is_offset_valid == false ||
         this->multi_seek_control.offset != offset) {
@@ -333,42 +317,6 @@ class listener_bridge : public plusplayer::EsEventListener {
     }
   }
 
-  virtual void OnVideoDecoderUnderrun(UserData userdata) {
-    LOG_ENTER
-    if (this->video_decoder_underrun_cb_)
-      this->video_decoder_underrun_cb_(video_decoder_underrun_cb_userdata_);
-  }
-
-  virtual void OnVideoLatencyStatus(const LatencyStatus& latency_status,
-                                    UserData userdata) {
-    LOG_ENTER
-    if (this->video_latency_status_cb_)
-      this->video_latency_status_cb_(
-          static_cast<esplusplayer_latency_status>(latency_status),
-          video_latency_status_cb_userdata_);
-  }
-
-  virtual void OnAudioLatencyStatus(const LatencyStatus& latency_status,
-                                    UserData userdata) {
-    LOG_ENTER
-    if (this->audio_latency_status_cb_)
-      this->audio_latency_status_cb_(
-          static_cast<esplusplayer_latency_status>(latency_status),
-          audio_latency_status_cb_userdata_);
-  }
-
-  virtual void OnVideoHighLatency(UserData userdata) {
-    LOG_ENTER
-    if (this->video_high_latency_cb_)
-      this->video_high_latency_cb_(video_high_latency_cb_userdata_);
-  }
-
-  virtual void OnAudioHighLatency(UserData userdata) {
-    LOG_ENTER
-    if (this->audio_high_latency_cb_)
-      this->audio_high_latency_cb_(audio_high_latency_cb_userdata_);
-  }
-
  private:
   static void DecodedPacketDeleter(esplusplayer_decoded_video_packet* packet) {
     if (packet->surface_data != nullptr) {
@@ -411,16 +359,6 @@ class listener_bridge : public plusplayer::EsEventListener {
   esplusplayer_first_video_decoding_done_cb first_video_decoding_done_cb_ =
       nullptr;
   void* first_video_decoding_done_cb_userdata_ = nullptr;
-  esplusplayer_decoder_underrun_cb video_decoder_underrun_cb_ = nullptr;
-  void* video_decoder_underrun_cb_userdata_ = nullptr;
-  esplusplayer_video_latency_status_cb video_latency_status_cb_ = nullptr;
-  esplusplayer_audio_latency_status_cb audio_latency_status_cb_ = nullptr;
-  void* video_latency_status_cb_userdata_ = nullptr;
-  void* audio_latency_status_cb_userdata_ = nullptr;
-  esplusplayer_video_high_latency_cb video_high_latency_cb_ = nullptr;
-  esplusplayer_audio_high_latency_cb audio_high_latency_cb_ = nullptr;
-  void* video_high_latency_cb_userdata_ = nullptr;
-  void* audio_high_latency_cb_userdata_ = nullptr;
 
   std::shared_ptr<DecodedPacketManagerInterface> decoded_pkt_mgr_;
 
@@ -484,24 +422,6 @@ class listener_bridge : public plusplayer::EsEventListener {
       esplusplayer_handle handle,
       esplusplayer_first_video_decoding_done_cb first_video_decoding_done_cb,
       void* userdata);
-  friend int esplusplayer_set_video_decoder_underrun_cb(
-      esplusplayer_handle handle,
-      esplusplayer_decoder_underrun_cb video_decoder_underrun_cb,
-      void* userdata);
-  friend int esplusplayer_set_video_latency_status_cb(
-      esplusplayer_handle pp,
-      esplusplayer_video_latency_status_cb video_latency_status_cb,
-      void* userdata);
-  friend int esplusplayer_set_audio_latency_status_cb(
-      esplusplayer_handle pp,
-      esplusplayer_audio_latency_status_cb audio_latency_status_cb,
-      void* userdata);
-  friend int esplusplayer_set_video_high_latency_cb(
-      esplusplayer_handle pp,
-      esplusplayer_video_high_latency_cb video_high_latency_cb, void* userdata);
-  friend int esplusplayer_set_audio_high_latency_cb(
-      esplusplayer_handle pp,
-      esplusplayer_audio_high_latency_cb audio_high_latency_cb, void* userdata);
 };
 
 struct EsPlusPlayerPriv {
@@ -869,7 +789,7 @@ int esplusplayer_set_playback_rate(esplusplayer_handle handle,
 int esplusplayer_seek(esplusplayer_handle handle, uint64_t time_ms) {
   LOG_ENTER_P(cast_(handle))
   if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  LOG_INFO_P(cast_(handle), "time : %llu", time_ms);
+  LOG_INFO("[%p] > time : %" PRIu64, cast_(handle), time_ms);
   update_ready_to_seek_offset(handle, time_ms);
 
   return convert_return_type_(cast_(handle)->Seek(time_ms));
@@ -900,16 +820,6 @@ int esplusplayer_set_display(esplusplayer_handle handle,
   LOG_INFO_P(cast_(handle), "display type : %d, object : %p",
              static_cast<int>(type), window);
 
-#if (!IS_AUDIO_PRODUCT) && (!IS_TOMATO)
-  if (type == ESPLUSPLAYER_DISPLAY_TYPE_MIXER) {
-    mixer_handle mixer_h = window;
-    plusplayer::MixerTicket* ticket =
-        (plusplayer::MixerTicket*)mixer_create_ticket(mixer_h, handle);
-    if (is_null_(ticket)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-    return convert_return_type_(
-        cast_(handle)->SetDisplay(static_cast<DisplayType>(type), ticket));
-  }
-#endif
   return convert_return_type_(
       cast_(handle)->SetDisplay(static_cast<DisplayType>(type), window));
 }
@@ -926,20 +836,6 @@ int esplusplayer_set_ecore_display(esplusplayer_handle handle,
       static_cast<DisplayType>(type), window, x, y, width, height));
 }
 
-int esplusplayer_set_display_ecore_subsurface(esplusplayer_handle handle,
-                                              esplusplayer_display_type type,
-                                              void* subsurface, int x, int y,
-                                              int width, int height) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle) || is_null_(subsurface))
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  LOG_INFO_P(cast_(handle), "display type : %d, object : %p",
-             static_cast<int>(type), subsurface);
-
-  return convert_return_type_(cast_(handle)->SetDisplaySubsurface(
-      static_cast<DisplayType>(type), subsurface, x, y, width, height));
-}
-
 int esplusplayer_set_surface_display(esplusplayer_handle handle,
                                      esplusplayer_display_type type,
                                      unsigned int surface_id, int x, int y,
@@ -996,22 +892,6 @@ int esplusplayer_set_video_roi(esplusplayer_handle handle, double scale_x,
   return convert_return_type_(cast_(handle)->SetVideoRoi(rio_area));
 }
 
-int esplusplayer_resize_render_rect(esplusplayer_handle handle, int x, int y,
-                                    int width, int height) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  LOG_INFO_P(cast_(handle), "x : %d, y: %d, width : %d, height : %d", x, y,
-             width, height);
-
-  RenderRect rect;
-  rect.x = x;
-  rect.y = y;
-  rect.w = width;
-  rect.h = height;
-
-  return convert_return_type_(cast_(handle)->ResizeRenderRect(rect));
-}
-
 int esplusplayer_set_display_rotation(
     esplusplayer_handle handle, esplusplayer_display_rotation_type rotation) {
   LOG_ENTER_P(cast_(handle))
@@ -1038,13 +918,6 @@ int esplusplayer_set_display_visible(esplusplayer_handle handle, bool visible) {
   return convert_return_type_(cast_(handle)->SetDisplayVisible(visible));
 }
 
-int esplusplayer_set_tz_use(esplusplayer_handle handle, bool using_tz) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  LOG_INFO_P(cast_(handle), "using_tz : %s", using_tz ? "true" : "false");
-  return convert_return_type_(cast_(handle)->SetTrustZoneUse(using_tz));
-}
-
 int esplusplayer_set_submit_data_type(esplusplayer_handle handle,
                                       esplusplayer_submit_data_type type) {
   LOG_ENTER_P(cast_(handle))
@@ -1087,23 +960,6 @@ esplusplayer_submit_status esplusplayer_submit_packet(
   return static_cast<esplusplayer_submit_status>(status);
 }
 
-esplusplayer_submit_status esplusplayer_submit_trust_zone_packet(
-    esplusplayer_handle handle, esplusplayer_es_packet* packet,
-    uint32_t tz_handle) {
-  if (is_null_(handle)) return ESPLUSPLAYER_SUBMIT_STATUS_NOT_PREPARED;
-  auto packetptr = convert_espacket_(packet);
-  if (packetptr == nullptr) {
-    LOG_ERROR("packet converting failed");
-    return ESPLUSPLAYER_SUBMIT_STATUS_INVALID_PACKET;
-  }
-  auto status = cast_(handle)->SubmitTrustZonePacket(packetptr, tz_handle);
-  if (status != plusplayer::PacketSubmitStatus::kSuccess) {
-    LOG_ERROR("SubmitPacket status isn't SUCCESS [%d]",
-              static_cast<int>(status));
-  }
-  return static_cast<esplusplayer_submit_status>(status);
-}
-
 esplusplayer_submit_status esplusplayer_submit_encrypted_packet(
     esplusplayer_handle handle, esplusplayer_es_packet* packet,
     esplusplayer_drm_info* drm_info) {
@@ -1197,32 +1053,6 @@ int esplusplayer_set_video_frame_buffer_type(
   return convert_return_type_(ret);
 }
 
-int esplusplayer_set_video_frame_buffer_scale_resolution(
-    esplusplayer_handle handle, uint32_t target_width, uint32_t target_height) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle) || !target_width || !target_height)
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  LOG_INFO_P(cast_(handle), "target_width : %d, target_height: %d",
-             target_width, target_height);
-  return convert_return_type_(cast_(handle)->SetVideoFrameBufferScaleResolution(
-      target_width, target_height));
-}
-
-int esplusplayer_set_decoded_video_frame_rate(
-    esplusplayer_handle handle, esplusplayer_rational request_framerate) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  LOG_INFO("request decoded video frame rate : %d/%d", request_framerate.num,
-           request_framerate.den);
-
-  Rational request_fps;
-  request_fps.num = request_framerate.num;
-  request_fps.den = request_framerate.den;
-  return convert_return_type_(
-      cast_(handle)->SetDecodedVideoFrameRate(request_fps));
-}
-
 int esplusplayer_get_adaptive_info(
     esplusplayer_handle handle, void* padaptive_info,
     esplusplayer_adaptive_info_type adaptive_type) {
@@ -1499,83 +1329,6 @@ int esplusplayer_set_first_video_decoding_done_cb(
   return convert_return_type_(true);
 }
 
-int esplusplayer_set_video_decoder_underrun_cb(
-    esplusplayer_handle handle,
-    esplusplayer_decoder_underrun_cb video_decoder_underrun_cb,
-    void* userdata) {
-  LOG_ENTER_P(cast_(handle))
-  listener_bridge* listener = nullptr;
-  if (is_null_(handle) || is_null_(listener = listener_cast_(handle))) {
-    LOG_ERROR("ESPlayer or Listener object is nil.");
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  }
-  listener->video_decoder_underrun_cb_ = video_decoder_underrun_cb;
-  listener->video_decoder_underrun_cb_userdata_ = userdata;
-
-  return convert_return_type_(true);
-}
-int esplusplayer_set_video_latency_status_cb(
-    esplusplayer_handle handle,
-    esplusplayer_video_latency_status_cb video_latency_status_cb,
-    void* userdata) {
-  LOG_ENTER_P(cast_(handle))
-  listener_bridge* listener = nullptr;
-  if (is_null_(handle) || is_null_(listener = listener_cast_(handle))) {
-    LOG_ERROR("ESPlayer or Listener object is nil.");
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  }
-
-  listener->video_latency_status_cb_ = video_latency_status_cb;
-  listener->video_latency_status_cb_userdata_ = userdata;
-  return convert_return_type_(true);
-}
-
-int esplusplayer_set_audio_latency_status_cb(
-    esplusplayer_handle handle,
-    esplusplayer_audio_latency_status_cb audio_latency_status_cb,
-    void* userdata) {
-  LOG_ENTER_P(cast_(handle))
-  listener_bridge* listener = nullptr;
-  if (is_null_(handle) || is_null_(listener = listener_cast_(handle))) {
-    LOG_ERROR("ESPlayer or Listener object is nil.");
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  }
-
-  listener->audio_latency_status_cb_ = audio_latency_status_cb;
-  listener->audio_latency_status_cb_userdata_ = userdata;
-  return convert_return_type_(true);
-}
-
-int esplusplayer_set_video_high_latency_cb(
-    esplusplayer_handle handle,
-    esplusplayer_video_high_latency_cb video_high_latency_cb, void* userdata) {
-  LOG_ENTER_P(cast_(handle))
-  listener_bridge* listener = nullptr;
-  if (is_null_(handle) || is_null_(listener = listener_cast_(handle))) {
-    LOG_ERROR("ESPlayer or Listener object is nil.");
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  }
-
-  listener->video_high_latency_cb_ = video_high_latency_cb;
-  listener->video_high_latency_cb_userdata_ = userdata;
-  return convert_return_type_(true);
-}
-
-int esplusplayer_set_audio_high_latency_cb(
-    esplusplayer_handle handle,
-    esplusplayer_audio_high_latency_cb audio_high_latency_cb, void* userdata) {
-  LOG_ENTER_P(cast_(handle))
-  listener_bridge* listener = nullptr;
-  if (is_null_(handle) || is_null_(listener = listener_cast_(handle))) {
-    LOG_ERROR("ESPlayer or Listener object is nil.");
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  }
-
-  listener->audio_high_latency_cb_ = audio_high_latency_cb;
-  listener->audio_high_latency_cb_userdata_ = userdata;
-  return convert_return_type_(true);
-}
-
 int esplusplayer_decoded_buffer_destroy(
     esplusplayer_handle handle, esplusplayer_decoded_video_packet* packet) {
   if (is_null_(handle)) {
@@ -1638,14 +1391,6 @@ int esplusplayer_set_audio_codec_type(esplusplayer_handle handle,
   return convert_return_type_(ret);
 }
 
-int esplusplayer_set_aifilter(esplusplayer_handle handle, void* aifilter) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle) || is_null_(aifilter))
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  auto ret = cast_(handle)->SetAiFilter(aifilter);
-  return convert_return_type_(ret);
-}
-
 int esplusplayer_set_video_codec_type(esplusplayer_handle handle,
                                       esplusplayer_video_codec_type type) {
   LOG_ENTER_P(cast_(handle))
@@ -1654,248 +1399,3 @@ int esplusplayer_set_video_codec_type(esplusplayer_handle handle,
       cast_(handle)->SetVideoCodecType(static_cast<PlayerVideoCodecType>(type));
   return convert_return_type_(ret);
 }
-
-int esplusplayer_set_alternative_video_resource(esplusplayer_handle handle,
-                                                unsigned int rsc_type) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  auto ret = cast_(handle)->SetAlternativeVideoResource(rsc_type);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_set_render_time_offset(esplusplayer_handle handle,
-                                        esplusplayer_stream_type type,
-                                        int64_t offset) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  auto ret =
-      cast_(handle)->SetRenderTimeOffset(static_cast<StreamType>(type), offset);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_get_render_time_offset(esplusplayer_handle handle,
-                                        esplusplayer_stream_type type,
-                                        int64_t* offset) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle) || is_null_(offset))
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  auto ret =
-      cast_(handle)->GetRenderTimeOffset(static_cast<StreamType>(type), offset);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_switch_audio_stream_onthefly(
-    esplusplayer_handle handle, esplusplayer_audio_stream_info* info) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle) || is_null_(info))
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  auto stream = convert_stream_ptr_(info);
-  auto ret = cast_(handle)->SwitchAudioStreamOnTheFly(std::move(stream));
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_init_audio_easing_info(
-    esplusplayer_handle handle, uint32_t init_volume, uint32_t elapsed_time,
-    const esplusplayer_target_audio_easing_info* easing_info) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  if (easing_info == nullptr) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  AudioEasingInfo info;
-  info.target_volume = easing_info->volume;
-  info.duration = easing_info->duration;
-  info.type = static_cast<AudioEasingType>(easing_info->type);
-  auto ret =
-      cast_(handle)->InitAudioEasingInfo(init_volume, elapsed_time, info);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_update_audio_easing_info(
-    esplusplayer_handle handle,
-    const esplusplayer_target_audio_easing_info* easing_info) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  if (easing_info == nullptr) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  AudioEasingInfo info;
-  info.target_volume = easing_info->volume;
-  info.duration = easing_info->duration;
-  info.type = static_cast<AudioEasingType>(easing_info->type);
-
-  auto ret = cast_(handle)->UpdateAudioEasingInfo(info);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_get_audio_easing_info(
-    esplusplayer_handle handle, uint32_t* current_volume,
-    uint32_t* elapsed_time,
-    esplusplayer_target_audio_easing_info* easing_info) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  if (is_null_(current_volume) || is_null_(elapsed_time) ||
-      is_null_(easing_info))
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  AudioEasingInfo info;
-  auto ret =
-      cast_(handle)->GetAudioEasingInfo(current_volume, elapsed_time, &info);
-  easing_info->volume = info.target_volume;
-  easing_info->duration = info.duration;
-  easing_info->type = static_cast<esplusplayer_audio_easing_type>(info.type);
-
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_start_audio_easing(esplusplayer_handle handle) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  auto ret = cast_(handle)->StartAudioEasing();
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_stop_audio_easing(esplusplayer_handle handle) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  auto ret = cast_(handle)->StopAudioEasing();
-  return convert_return_type_(ret);
-}
-
-int get_size_of_esplusplayer_app_info(void) {
-  return sizeof(esplusplayer_app_info);
-}
-
-int get_size_of_esplusplayer_es_packet(void) {
-  return sizeof(esplusplayer_es_packet);
-}
-
-int get_size_of_esplusplayer_es_tz_packet(void) {
-  return sizeof(esplusplayer_es_tz_packet);
-}
-
-int get_size_of_esplusplayer_audio_stream_info(void) {
-  return sizeof(esplusplayer_audio_stream_info);
-}
-
-int get_size_of_esplusplayer_video_stream_info(void) {
-  return sizeof(esplusplayer_video_stream_info);
-}
-
-int get_size_of_esplusplayer_drm_info(void) {
-  return sizeof(esplusplayer_drm_info);
-}
-int esplusplayer_set_catch_up_speed(esplusplayer_handle handle,
-                                    esplusplayer_catch_up_speed level) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  if (level < ESPLUSPLAYER_CATCH_UP_SPEED_NONE ||
-      level > ESPLUSPLAYER_CATCH_UP_SPEED_FAST) {
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  }
-  auto ret = cast_(handle)->SetCatchUpSpeed(static_cast<CatchUpSpeed>(level));
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_get_video_latency_status(esplusplayer_handle handle,
-                                          esplusplayer_latency_status* status) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle) || is_null_(status))
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  LatencyStatus current_status = LatencyStatus::kLow;
-  auto ret = cast_(handle)->GetVideoLatencyStatus(&current_status);
-  *status = static_cast<esplusplayer_latency_status>(current_status);
-
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_get_audio_latency_status(esplusplayer_handle handle,
-                                          esplusplayer_latency_status* status) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle) || is_null_(status))
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  LatencyStatus current_status = LatencyStatus::kLow;
-  auto ret = cast_(handle)->GetAudioLatencyStatus(&current_status);
-  *status = static_cast<esplusplayer_latency_status>(current_status);
-
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_set_video_mid_latency_threshold(esplusplayer_handle handle,
-                                                 const unsigned int threshold) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  auto ret = cast_(handle)->SetVideoMidLatencyThreshold(threshold);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_set_audio_mid_latency_threshold(esplusplayer_handle handle,
-                                                 const unsigned int threshold) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  auto ret = cast_(handle)->SetAudioMidLatencyThreshold(threshold);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_set_video_high_latency_threshold(
-    esplusplayer_handle handle, const unsigned int threshold,
-    esplusplayer_video_high_latency_cb video_high_latency_cb, void* userdata) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  esplusplayer_set_video_high_latency_cb(handle, video_high_latency_cb,
-                                         userdata);
-
-  auto ret = cast_(handle)->SetVideoHighLatencyThreshold(threshold);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_set_audio_high_latency_threshold(
-    esplusplayer_handle handle, const unsigned int threshold,
-    esplusplayer_audio_high_latency_cb audio_high_latency_cb, void* userdata) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  esplusplayer_set_audio_high_latency_cb(handle, audio_high_latency_cb,
-                                         userdata);
-
-  auto ret = cast_(handle)->SetAudioHighLatencyThreshold(threshold);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_get_virtual_rsc_id(esplusplayer_handle handle,
-                                    const esplusplayer_rsc_type type,
-                                    int* virtual_id) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle) || is_null_(virtual_id))
-    return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  auto ret =
-      cast_(handle)->GetVirtualRscId(static_cast<RscType>(type), virtual_id);
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_set_advanced_picture_quality_type(
-    esplusplayer_handle handle,
-    esplusplayer_advanced_picture_quality_type type) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-
-  auto ret = cast_(handle)->SetAdvancedPictureQualityType(
-      static_cast<AdvPictureQualityType>(type));
-  return convert_return_type_(ret);
-}
-
-int esplusplayer_set_resource_allocate_policy(
-    esplusplayer_handle handle, esplusplayer_rsc_alloc_policy policy) {
-  LOG_ENTER_P(cast_(handle))
-  if (is_null_(handle)) return ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER;
-  LOG_INFO("policy: %d", static_cast<int>(policy));
-
-  auto ret = cast_(handle)->SetResourceAllocatePolicy(
-      static_cast<RscAllocPolicy>(policy));
-  return convert_return_type_(ret);
-}
diff --git a/src/mixer/CMakeLists.txt b/src/mixer/CMakeLists.txt
deleted file mode 100755 (executable)
index 85c8dee..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-PROJECT(mixer)
-
-SET(fw_name "${PROJECT_NAME}")
-SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
-SET(${fw_name}_LDFLAGS)
-
-SET(${fw_name}_CXXFLAGS "-Wall -Werror -std=c++11 -fPIC -Wl,-z,relro -fstack-protector")
-
-SET(dependents "dlog boost gstreamer-1.0 libtbm graphics-control")
-
-INCLUDE(FindPkgConfig)
-
-IF(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
-pkg_check_modules(${fw_name} REQUIRED ${dependents})
-ELSE(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
-pkg_check_modules(${fw_name} REQUIRED ${dependents})
-ENDIF(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
-
-FOREACH(flag ${${fw_name}_CFLAGS})
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
-ENDFOREACH(flag)
-
-FOREACH(flag ${${fw_name}_CXXFLAGS})
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_FLAGS} ${flag}")
-ENDFOREACH(flag)
-
-GET_FILENAME_COMPONENT(PARENT_DIR ${PROJECT_SOURCE_DIR} DIRECTORY)
-INCLUDE_DIRECTORIES(
-  ${PROJECT_SOURCE_DIR}/include_internal
-  ${PARENT_DIR}/plusplayer-core/include_internal
-)
-
-SET(CC_SRCS
-  ${PROJECT_SOURCE_DIR}/src/mixer_capi.cpp
-  ${PROJECT_SOURCE_DIR}/src/mixer.cpp
-  ${PROJECT_SOURCE_DIR}/src/defaultmixer.cpp
-  ${PROJECT_SOURCE_DIR}/src/sys/tbminterface.cpp
-  ${PROJECT_SOURCE_DIR}/src/tizen/tizenaccessiblebufferobj.cpp
-  ${PROJECT_SOURCE_DIR}/src/tizen/tizenbufferkeyvideoframe.cpp
-  ${PROJECT_SOURCE_DIR}/src/tizen/tizendefaultphyaddraccessor.cpp
-  ${PROJECT_SOURCE_DIR}/src/tizen/tizenhwbufferobj.cpp
-  ${PROJECT_SOURCE_DIR}/src/tizen/tizenhwvideoframe.cpp
-  ${PROJECT_SOURCE_DIR}/src/tizen/tizenrenderableobj_factory.cpp
-  ${PROJECT_SOURCE_DIR}/src/tizen/tizensurfacevideoframe.cpp
-  ${PROJECT_SOURCE_DIR}/src/abs_videoframe.cpp
-  ${PROJECT_SOURCE_DIR}/src/mixedframe.cpp
-  ${PROJECT_SOURCE_DIR}/src/renderer.cpp
-  ${PROJECT_SOURCE_DIR}/src/videoplane.cpp
-)
-
-ADD_LIBRARY(${fw_name} SHARED ${CC_SRCS})
-
-SET_TARGET_PROPERTIES(${fw_name} PROPERTIES LINKER_LANGUAGE CXX)
-
-TARGET_LINK_LIBRARIES(${fw_name} ${CMAKE_THREAD_LIBS_INIT} ${${fw_name}_LDFLAGS})
-
-INSTALL(TARGETS ${fw_name} DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(
-        DIRECTORY ${INC_DIR}/ DESTINATION include/
-)
diff --git a/src/mixer/include_internal/mixer/abs_videoframe.h b/src/mixer/include_internal/mixer/abs_videoframe.h
deleted file mode 100755 (executable)
index 1cedf89..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef __PLUSPLAYER_ABSTRACT_MIXER_VIDEO_FRAME_H__
-#define __PLUSPLAYER_ABSTRACT_MIXER_VIDEO_FRAME_H__
-
-#include <memory>
-
-#include "mixer/interfaces/videoplanecollection.h"
-#include "mixer/interfaces/videoplanemanipulable.h"
-
-namespace plusplayer {
-
-class AbstractVideoFrame : public VideoPlaneCollection {
- public:
-  using VideoPlaneManipulablePtr = std::unique_ptr<VideoPlaneManipulable>;
-
- public:
-  explicit AbstractVideoFrame() = default;
-  virtual ~AbstractVideoFrame() = default;
-
- public:
-  virtual const std::vector<VideoPlaneManipulableInfo> GetVideoPlaneManipInfo()
-      const override;
-
-  bool IsValid() const;
-  bool SetCropArea(const CropArea& croparea);
-  const std::uint32_t GetWidth() const;
-  const std::uint32_t GetHeight() const;
-
- protected:
-  virtual bool IsValid_() const = 0;
-  virtual const std::uint32_t GetWidth_() const = 0;
-  virtual const std::uint32_t GetHeight_() const = 0;
-
- protected:
-  void RegisterVideoPlaneManipulablePtr_(VideoPlaneManipulablePtr vpmanip);
-
- private:
-  std::vector<VideoPlaneManipulablePtr> planes_;
-};
-}  // namespace plusplayer
-
-#endif
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/defaultmixer.h b/src/mixer/include_internal/mixer/defaultmixer.h
deleted file mode 100755 (executable)
index 364091d..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-
-#ifndef __PLUSPLAYER_SRC_PLAYER_DEFAULTMIXER__H__
-#define __PLUSPLAYER_SRC_PLAYER_DEFAULTMIXER__H__
-
-#include <trackrenderer_capi/trackrenderer_capi.h>
-
-#include <cassert>
-#include <chrono>
-#include <list>
-#include <map>
-#include <memory>
-#include <mutex>
-#include <thread>
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/interfaces/videoplanecollection.h"
-#include "mixer/mixer.h"
-#include "mixer/mixerticket.h"
-#include "mixer/renderer.h"
-#include "mixer/tizen/tizenbuffermgr.h"
-
-namespace plusplayer {
-
-class DefaultMixer : public Mixer {
- public:
-  using RendererPtr = std::unique_ptr<Renderer>;
-
- public:
-  DefaultMixer();
-  ~DefaultMixer();
-
-  bool Start() override;
-  bool Stop() override;
-  int GetMaximumAllowedNumberOfPlayer() override;
-  bool SetDisplay(const DisplayType type, void* obj) override;
-  bool SetDisplay(const DisplayType type, const uint32_t surface_id,
-                  const int x, const int y, const int w, const int h) override;
-  bool SetDisplayMode(const DisplayMode& mode) override;
-  bool SetDisplayRoi(const Geometry& geometry) override;
-  bool DisableAudioFocusSetting() override;
-  bool SetAlternativeVideoScaler() override;
-  bool SetAudioFocus(const void* player_instance) override;
-  bool SetRscAllocMode(const RscAllocMode& mode) override;
-  bool Commit() override;
-  bool SetResolution(const ResolutionInfo& info) override;
-  bool RegisterListener(MixerEventListener* listener) override;
-  MixerTicket* CreateTicket(const void* player_instance) override;
-
-  class Ticket : public MixerTicket {
-   public:
-    explicit Ticket(DefaultMixer* handler, const void* player_instance)
-        : handler_(handler), player_instance_(player_instance) {
-      assert(handler);
-    }
-    ~Ticket();
-    bool GetAvailableResourceType(const ResourceCategory& category,
-                                  ResourceType* type) override;
-    bool Alloc(const ResourceCategory& category,
-               const ResourceType& type) override;
-    bool Render(const DecodedRawInfo& info) override;
-    bool Render(const DecodedVideoKeyTypeInfo& info) override;
-    bool RegisterListener(MixerTicketEventListener* listener) override;
-    bool Prepare() override;
-    bool IsAudioFocusHandler() override;
-    bool IsRscAllocHandler() override;
-
-    // interface for defaultmixer
-    MixerTicketEventListener* GetListener();
-    bool IsAudioFocused();
-    void SetAudioFocus(bool active);
-    void GetDisplayInfo(DisplayInfo* info);
-    bool HasRenderedBefore();
-    void UpdateDisplayInfo(const DisplayInfo& info);
-    void DeallocResource();
-    void RecordRenderingTime();
-
-   private:
-    DefaultMixer* handler_ = nullptr;
-    const void* player_instance_ = nullptr;
-    MixerTicketEventListener* ticket_listener_ = nullptr;
-    bool is_audio_focus_ = false;
-    DisplayInfo each_display_info_;
-    bool has_rendered_ = false;
-    std::chrono::system_clock::time_point last_rendering_time_;
-  };
-
- private:
-  struct Resource {
-    ResourceCategory category = ResourceCategory::kVideoDecoder;
-    ResourceType type = ResourceType::kHwMain;
-    const void* assignee = nullptr;
-  };
-
-  class MixerRendererEventListener : public RendererEventListener {
-   public:
-    explicit MixerRendererEventListener(TrackRendererHandle* trhandle_ptr);
-    virtual ~MixerRendererEventListener();
-    virtual bool OnRenderingRelease(const BufferKeyType& key) override;
-
-   private:
-    void* CreateGstBuffer_(const BufferKeyType& key) const;
-    void FillDecoderInputBuffer_(TrackRendererDecoderInputBuffer& buffer,
-                                 const BufferKeyType& key) const;
-
-   private:
-    TrackRendererHandle* trhandle_ptr_;
-  };
-
- private:
-  bool Detach_(const void* player_instance);
-  bool GetAvailableResourceType_();
-  bool Render_(const void* player_instance,
-               const VideoPlaneCollection& vplanes);
-  bool RegisterListener_();
-  void InitResourceList_();
-  bool IsNeededToSkipRendering_(const DisplayInfo& display_info);
-
-  using UserData = void*;
-  static void ResourceConflictCb_(UserData userdata);
-  static void ErrorCb_(const TrackRendererErrorType error_code,
-                       UserData userdata);
-
- private:
-  std::map<const void*, Ticket*> player_map_;
-  std::mutex mixer_lock_;
-  std::mutex ticket_lock_;
-  bool is_started_ = false;
-  MixerEventListener* listener_ = nullptr;
-  TrackRendererHandle trackrenderer_handle_ = nullptr;
-  const void* audio_focused_player_ = nullptr;
-  ResolutionInfo whole_resolution_;
-  std::list<Resource> resource_list_;
-  bool enable_audio_focus_setting_ = true;
-  RscAllocMode resource_allocation_mode_ = RscAllocMode::kDefault;
-  bool use_sub_scaler_ = false;
-  RendererPtr renderer_;
-  MixerRendererEventListener renderer_listener_;
-  TizenBufferManager bufmgr_;
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_SRC_PLAYER_DEFAULTMIXER__H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/accessiblebuffer.h b/src/mixer/include_internal/mixer/interfaces/accessiblebuffer.h
deleted file mode 100755 (executable)
index aa4a9b8..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_ACCESSIBLE_BUFFER_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_ACCESSIBLE_BUFFER_H__
-
-#include <memory>
-
-#include "mixer/interfaces/bufferobject.h"
-#include "mixer/interfaces/phyaddraccessor.h"
-
-namespace plusplayer {
-struct AccessibleBuffer {
-  using PhyAddrAccessorPtr = std::unique_ptr<PhysicalAddressAccessor>;
-
-  virtual ~AccessibleBuffer() = default;
-  virtual PhyAddrAccessorPtr GetReadableAddress() const = 0;
-  virtual PhyAddrAccessorPtr GetWritableAddress() const = 0;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_ACCESSIBLE_BUFFER_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/bufferobject.h b/src/mixer/include_internal/mixer/interfaces/bufferobject.h
deleted file mode 100755 (executable)
index a08fbda..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_BUFFER_OBJECT_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_BUFFER_OBJECT_H__
-
-#include "mixer/types/buffertype.h"
-
-namespace plusplayer {
-struct BufferObject {
-  virtual ~BufferObject() = default;
-
-  virtual BufferHandleType GetBufferHandle() const = 0;
-  virtual BufferKeyType Export() const = 0;
-  virtual std::uint32_t GetSize() const = 0;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_BUFFER_OBJECT_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/memoryallocator.h b/src/mixer/include_internal/mixer/interfaces/memoryallocator.h
deleted file mode 100755 (executable)
index 7446a60..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_MEMORY_OPERATOR_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_MEMORY_OPERATOR_H__
-
-#include <cstdint>
-#include <memory>
-
-#include "mixer/interfaces/bufferobject.h"
-#include "mixer/types/buffertype.h"
-
-namespace plusplayer {
-
-struct MemoryAllocator {
-  virtual ~MemoryAllocator() = default;
-  virtual BufferObject* Allocate(const std::uint32_t& size) const = 0;
-};
-}  // namespace plusplayer
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_MEMORY_OPERATOR_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/phyaddraccessor.h b/src/mixer/include_internal/mixer/interfaces/phyaddraccessor.h
deleted file mode 100755 (executable)
index d50593b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_PHYSICAL_ADDRESS_ACCESSOR_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_PHYSICAL_ADDRESS_ACCESSOR_H__
-
-#include "mixer/types/buffertype.h"
-
-namespace plusplayer {
-struct PhysicalAddressAccessor {
-  virtual ~PhysicalAddressAccessor() = default;
-  virtual BufferPhysicalAddrType GetAddress() = 0;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_PHYSICAL_ADDRESS_ACCESSOR_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/renderableobj_factory.h b/src/mixer/include_internal/mixer/interfaces/renderableobj_factory.h
deleted file mode 100755 (executable)
index ec7ea9b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_RENDERABLE_OBJECT_FACTORY_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_RENDERABLE_OBJECT_FACTORY_H__
-
-#include "mixer/interfaces/renderableobject.h"
-
-namespace plusplayer {
-struct RenderableObjectFactory {
-  virtual ~RenderableObjectFactory() = default;
-  virtual RenderableObject* CreateRenderableObject(
-      const std::uint32_t width, const std::uint32_t height) const = 0;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_RENDERABLE_OBJECT_FACTORY_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/renderableobject.h b/src/mixer/include_internal/mixer/interfaces/renderableobject.h
deleted file mode 100755 (executable)
index ccdb598..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_RENDERABLE_OBJECT_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_RENDERABLE_OBJECT_H__
-
-#include <cstdint>
-#include <memory>
-#include <vector>
-
-#include "mixer/interfaces/videoplanemanipulator.h"
-#include "mixer/types/buffertype.h"
-#include "mixer/types/planecomponent.h"
-#include "mixer/types/videoplanemanipinfo.h"
-#include "plusplayer/types/display.h"
-
-namespace plusplayer {
-struct RenderableObject {
-  using Ptr = std::unique_ptr<RenderableObject>;
-  virtual ~RenderableObject() = default;
-  virtual bool IsValid() const = 0;
-  virtual std::uint32_t GetWidth() const = 0;
-  virtual std::uint32_t GetHeight() const = 0;
-  virtual std::uint32_t GetSize() const = 0;
-  virtual bool Render(const VideoPlaneManipulator* const vpmanip,
-                      const std::vector<VideoPlaneManipulableInfo>& planes,
-                      const Geometry& geom) = 0;
-  virtual bool Fill(const VideoPlaneColorManipulator* const vpmanip,
-                    const PlaneComponent& comp, const std::uint32_t& color,
-                    const Geometry& geom) = 0;
-  virtual bool Export(BufferKeyType& key) const = 0;
-};
-using RenderableObjectPtr = RenderableObject::Ptr;
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_RENDERABLE_OBJECT_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/videoplanecollection.h b/src/mixer/include_internal/mixer/interfaces/videoplanecollection.h
deleted file mode 100755 (executable)
index e0bb422..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_COLLECTION_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_COLLECTION_H__
-
-#include <vector>
-
-#include "mixer/types/videoplanemanipinfo.h"
-
-namespace plusplayer {
-struct VideoPlaneCollection {
-  virtual ~VideoPlaneCollection() = default;
-  virtual const std::vector<VideoPlaneManipulableInfo> GetVideoPlaneManipInfo()
-      const = 0;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_COLLECTION_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/videoplanecolorfiller.h b/src/mixer/include_internal/mixer/interfaces/videoplanecolorfiller.h
deleted file mode 100755 (executable)
index b35b610..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_COLOR_FILLER_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_COLOR_FILLER_H__
-
-#include <memory>
-
-#include "mixer/interfaces/videoplanemanipulator.h"
-#include "mixer/types/planecomponent.h"
-
-namespace plusplayer {
-struct VideoPlaneColorFiller {
-  virtual ~VideoPlaneColorFiller() = default;
-  virtual const VideoPlaneColorManipulator* const GetColorFillManipulator()
-      const = 0;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_COLOR_FILLER_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/videoplanecopier.h b/src/mixer/include_internal/mixer/interfaces/videoplanecopier.h
deleted file mode 100755 (executable)
index b27dead..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_COPIER_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_COPIER_H__
-
-#include "mixer/interfaces/videoplanemanipulator.h"
-
-namespace plusplayer {
-struct VideoPlaneCopier {
-  virtual ~VideoPlaneCopier() = default;
-  virtual const VideoPlaneManipulator* const GetCopyManipulator() const = 0;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_COPIER_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/videoplanemanipulable.h b/src/mixer/include_internal/mixer/interfaces/videoplanemanipulable.h
deleted file mode 100755 (executable)
index 6bb20f0..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_MANIPULABLE_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_MANIPULABLE_H__
-
-#include "mixer/types/videoplanemanipinfo.h"
-#include "plusplayer/types/display.h"
-
-namespace plusplayer {
-
-struct VideoPlaneManipulable {
-  virtual ~VideoPlaneManipulable() = default;
-  virtual bool IsValid() const = 0;
-  virtual VideoPlaneManipulableInfo GetVideoPlaneManipulableInfo() const = 0;
-  virtual void SetCropArea(const CropArea& croparea) = 0;
-};
-
-}  // namespace plusplayer
-
-#endif  //__PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_MANIPULABLE_H__
diff --git a/src/mixer/include_internal/mixer/interfaces/videoplanemanipulator.h b/src/mixer/include_internal/mixer/interfaces/videoplanemanipulator.h
deleted file mode 100755 (executable)
index 3ddc760..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_MANIPULATOR_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_MANIPULATOR_H__
-
-#include <cstdint>
-
-#include "mixer/types/planecomponent.h"
-#include "mixer/types/videoplanemanipinfo.h"
-
-namespace plusplayer {
-
-template <typename T>
-struct VideoPlaneManipulatorWithType {
-  virtual bool Do(const T&, const VideoPlaneManipulableInfo&) const = 0;
-};
-
-using VideoPlaneManipulator =
-    VideoPlaneManipulatorWithType<VideoPlaneManipulableInfo>;
-
-using VideoPlaneColorManipulator = VideoPlaneManipulatorWithType<std::uint32_t>;
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_MANIPULATOR_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/interfaces/videoplanescaler.h b/src/mixer/include_internal/mixer/interfaces/videoplanescaler.h
deleted file mode 100755 (executable)
index c1aae57..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_SCALER_H__
-#define __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_SCALER_H__
-
-#include "mixer/interfaces/videoplanemanipulator.h"
-
-namespace plusplayer {
-struct VideoPlaneScaler {
-  virtual ~VideoPlaneScaler() = default;
-  virtual const VideoPlaneManipulator* const GetScaleManipulator() const = 0;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_INTERFACES_VIDEO_PLANE_SCALER_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/mixedframe.h b/src/mixer/include_internal/mixer/mixedframe.h
deleted file mode 100755 (executable)
index a2e6c3c..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_MIXED_FRAME_H__
-#define __PLUSPLAYER_MIXER_MIXED_FRAME_H__
-
-#include <cstdint>
-#include <memory>
-
-#include "mixer/interfaces/memoryallocator.h"
-#include "mixer/interfaces/renderableobject.h"
-#include "mixer/interfaces/videoplanecollection.h"
-#include "mixer/interfaces/videoplanemanipulator.h"
-#include "plusplayer/types/display.h"
-
-namespace plusplayer {
-class MixedFrame : public VideoPlaneCollection, public RenderableObject {
- public:
-  using Ptr = std::unique_ptr<MixedFrame>;
-  using BufferObjectPtr = std::unique_ptr<BufferObject>;
-
- public:
-  static Ptr Create(const MemoryAllocator* const memop,
-                    const std::uint32_t width, const std::uint32_t height);
-
- public:
-  explicit MixedFrame(const MemoryAllocator* const memop,
-                      const std::uint32_t width, const std::uint32_t height);
-  virtual ~MixedFrame() = default;
-
- public:
-  virtual const std::vector<VideoPlaneManipulableInfo> GetVideoPlaneManipInfo()
-      const override;
-
- public:
-  virtual bool IsValid() const override;
-  virtual std::uint32_t GetWidth() const override;
-  virtual std::uint32_t GetHeight() const override;
-  virtual std::uint32_t GetSize() const override;
-  virtual bool Render(const VideoPlaneManipulator* const vpmanip,
-                      const std::vector<VideoPlaneManipulableInfo>& planes,
-                      const Geometry& geom) override;
-  virtual bool Fill(const VideoPlaneColorManipulator* const vpmanip,
-                    const PlaneComponent& comp, const std::uint32_t& color,
-                    const Geometry& geom) override;
-  virtual bool Export(BufferKeyType& key) const override;
-
- private:
-  std::uint32_t CalculateBufferSize_(const std::uint32_t width,
-                                     const std::uint32_t height);
-  VideoPlaneManipulableInfo GetMixedFrameVideoPlaneManipulableInfo_(
-      const PlaneComponent component, const Geometry& geom);
-  VideoPlaneManipulableInfo GetYComponentVMInfo_(BufferHandleType handle) const;
-  VideoPlaneManipulableInfo GetUVComponentVMInfo_(
-      BufferHandleType handle) const;
-
- private:
-  const std::uint32_t width_ = 0;
-  const std::uint32_t height_ = 0;
-  mutable std::uint32_t allocated_size_ = 0;
-  BufferObjectPtr buffer_ = nullptr;
-};
-using MixedFramePtr = MixedFrame::Ptr;
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_MIXED_FRAME_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/renderer.h b/src/mixer/include_internal/mixer/renderer.h
deleted file mode 100755 (executable)
index cc326b1..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_RENDERER_H__
-#define __PLUSPLAYER_MIXER_RENDERER_H__
-
-#include <chrono>
-#include <condition_variable>
-#include <memory>
-#include <mutex>
-#include <thread>
-#include <vector>
-
-#include "mixer/interfaces/renderableobj_factory.h"
-#include "mixer/interfaces/videoplanecollection.h"
-#include "mixer/interfaces/videoplanecolorfiller.h"
-#include "mixer/interfaces/videoplanescaler.h"
-#include "mixer/mixer.h"
-#include "mixer/types/buffertype.h"
-#include "mixer/types/videoplanemoveinfo.h"
-
-namespace plusplayer {
-
-struct RendererEventListener {
-  virtual bool OnRenderingRelease(const BufferKeyType&) = 0;
-};
-
-class Renderer {
- private:
-  using JitterType = std::chrono::duration<std::int64_t, std::milli>;
-
- public:
-  explicit Renderer(const RenderableObjectFactory& mf_factory,
-                    const Mixer::ResolutionInfo& rinfo,
-                    RendererEventListener* listener);
-  virtual ~Renderer();
-
- public:
-  bool IsValid() const;
-  bool Start();
-  bool Stop();
-  bool ChangeResolution(const RenderableObjectFactory& mf_factory,
-                        const std::uint32_t& width,
-                        const std::uint32_t& height);
-  bool ChangeRenderingSpeed(const std::uint32_t framerate_num,
-                            const std::uint32_t framerate_den);
-
-  bool Render(const VideoPlaneScaler* const scaler,
-              const VideoPlaneCollection* const planes, const Geometry& geom);
-  bool Mute(const VideoPlaneColorFiller* const filler, const Geometry& geom);
-  bool Move(const VideoPlaneColorFiller* const filler,
-            const std::vector<VideoPlaneMoveInfo>& moving_planes);
-
- protected:
-  virtual bool ChangeResolutionInternal_(
-      const RenderableObjectFactory& mf_factory, const std::uint32_t& width,
-      const std::uint32_t& height);
-  virtual bool RenderInternal_(
-      const VideoPlaneManipulator* const vpmanip,
-      const std::vector<VideoPlaneManipulableInfo>& planes,
-      const Geometry& geom);
-  virtual bool MuteInternal_(const VideoPlaneColorManipulator* const filler,
-                             const Geometry& geom);
-  virtual bool MoveInternal_(
-      const VideoPlaneColorManipulator* const filler,
-      const std::vector<VideoPlaneMoveInfo>& moving_planes);
-  virtual bool OnRenderingBefore_(const RenderableObject* const frame);
-  virtual bool IsValid_() const;
-
-  std::uint32_t GetNextRenderingTimeWithJitter_(const JitterType& jitter) const;
-  const Mixer::ResolutionInfo& GetResolutionInfo_() const;
-  RenderableObjectPtr& GetMixedFrame_();
-  void AcquireRenderingLock_();
-  void ReleaseRenderingLock_();
-
- private:
-  bool RaiseOnRenderingReleaseEvent_(const BufferKeyType& key);
-  void RenderingWorker_();
-
- protected:
-  static Geometry MakeGeometry_(const std::uint32_t& width,
-                                const std::uint32_t& height);
-  static bool IsSameGeometry_(const Geometry& g1, const Geometry& g2);
-
- private:
-  Mixer::ResolutionInfo resolution_info_;
-  RendererEventListener* listener_ = nullptr;
-  RenderableObjectPtr frame_ = nullptr;
-
-  bool rendering_flag_ = false;
-  std::mutex rendering_mtx_;
-  std::condition_variable rendering_cv_;
-  std::thread rendering_worker_;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_RENDERER_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/rendererwithdoublebuf.h b/src/mixer/include_internal/mixer/rendererwithdoublebuf.h
deleted file mode 100755 (executable)
index b6597ff..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_RENDERER_WITH_DOUBLE_BUFFERING_H__
-#define __PLUSPLAYER_MIXER_RENDERER_WITH_DOUBLE_BUFFERING_H__
-
-#include <boost/scope_exit.hpp>
-#include <chrono>
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/interfaces/videoplanecopier.h"
-#include "mixer/interfaces/videoplanescaler.h"
-#include "mixer/mixedframe.h"
-#include "mixer/renderer.h"
-
-namespace plusplayer {
-
-class RendererWithDoubleBuffer : public Renderer {
- public:
-  explicit RendererWithDoubleBuffer(const RenderableObjectFactory& mf_factory,
-                                    const VideoPlaneCopier* const vpcopier,
-                                    const VideoPlaneScaler* const vpscaler,
-                                    const Mixer::ResolutionInfo& rinfo,
-                                    RendererEventListener* listener)
-      : Renderer(mf_factory, rinfo, listener),
-        frame_(MixedFramePtr(dynamic_cast<MixedFrame*>(
-            mf_factory.CreateRenderableObject(rinfo.width, rinfo.height)))),
-        vpcopier_(vpcopier),
-        vpscaler_(vpscaler) {}
-  virtual ~RendererWithDoubleBuffer() = default;
-
- protected:
-  virtual bool OnRenderingBefore_(
-      const RenderableObject* const frame) override {
-    // auto before = std::chrono::system_clock::now();
-    std::unique_lock<std::mutex> lk(rendering_mtx_);
-    if (IsValid() == false) return false;
-    // LOG_INFO("[PERF] OnRenderingBefore_ Lock [%llu]ms",
-    //          std::chrono::duration_cast<std::chrono::milliseconds>(
-    //              std::chrono::system_clock::now() - before)
-    //              .count());
-    const auto& rinfo = GetResolutionInfo_();
-    auto ret = GetMixedFrame_()->Render(
-        vpcopier_->GetCopyManipulator(), frame_->GetVideoPlaneManipInfo(),
-        MakeGeometry_(rinfo.width, rinfo.height));
-    // LOG_INFO("[PERF] Copy [%llu]ms",
-    //          std::chrono::duration_cast<std::chrono::milliseconds>(
-    //              std::chrono::system_clock::now() - before)
-    //              .count());
-    return ret;
-  }
-
-  virtual bool ChangeResolutionInternal_(
-      const RenderableObjectFactory& mf_factory, const std::uint32_t& width,
-      const std::uint32_t& height) override {
-    {
-      std::unique_lock<std::mutex> lk(rendering_mtx_);
-      frame_.reset(nullptr);
-      frame_ = MixedFramePtr(dynamic_cast<MixedFrame*>(
-          mf_factory.CreateRenderableObject(width, height)));
-    }
-    return Renderer::ChangeResolutionInternal_(mf_factory, width, height);
-  }
-
-  virtual bool RenderInternal_(
-      const VideoPlaneManipulator* const scaler,
-      const std::vector<VideoPlaneManipulableInfo>& planes,
-      const Geometry& geom) override {
-    if (scaler == nullptr) return false;
-    auto before = std::chrono::system_clock::now();
-    std::unique_lock<std::mutex> lk(rendering_mtx_);
-    if (IsValid() == false) return false;
-    auto ret = frame_->Render(scaler, planes, geom);
-    LOG_INFO("[PERF] Scale [%llu]ms",
-             std::chrono::duration_cast<std::chrono::milliseconds>(
-                 std::chrono::system_clock::now() - before)
-                 .count());
-    return ret;
-  }
-
-  virtual bool MuteInternal_(const VideoPlaneColorManipulator* const filler,
-                             const Geometry& geom) override {
-    if (filler == nullptr) return false;
-    std::unique_lock<std::mutex> lk(rendering_mtx_);
-    if (IsValid() == false) return false;
-    bool ret = true;
-    LOG_INFO("MUTE REGION (%d, %d, %d x %d)", geom.x, geom.y, geom.w, geom.h);
-    ret &= frame_->Fill(filler, PlaneComponent::kYComponent, 0x00, geom);
-    ret &= frame_->Fill(filler, PlaneComponent::kUVComponent, 0x8080, geom);
-    return ret;
-  }
-
-  virtual bool MoveInternal_(
-      const VideoPlaneColorManipulator* const filler,
-      const std::vector<VideoPlaneMoveInfo>& moving_planes) override {
-    if (filler == nullptr) return false;
-
-    AcquireRenderingLock_();
-    BOOST_SCOPE_EXIT(this_) { this_->ReleaseRenderingLock_(); }
-    BOOST_SCOPE_EXIT_END
-
-    std::unique_lock<std::mutex> lk(rendering_mtx_);
-    if (IsValid() == false) return false;
-
-    auto* mixedframe = dynamic_cast<MixedFrame*>(GetMixedFrame_().get());
-    if (mixedframe == nullptr) return false;
-
-    const auto planes = mixedframe->GetVideoPlaneManipInfo();
-    if (planes.size() != 2) return false;
-
-    const auto& rinfo = GetResolutionInfo_();
-
-    auto fullgeom = MakeGeometry_(rinfo.width, rinfo.height);
-    bool ret = true;
-    ret &= frame_->Fill(filler, PlaneComponent::kYComponent, 0x00, fullgeom);
-    ret &= frame_->Fill(filler, PlaneComponent::kUVComponent, 0x8080, fullgeom);
-    auto* scaler = vpscaler_->GetScaleManipulator();
-    for (const auto& move : moving_planes) {
-      VideoPlaneManipulableInfo y_manipinfo = planes[0];
-      VideoPlaneManipulableInfo uv_manipinfo = planes[1];
-      y_manipinfo.rect = move.cur;
-      uv_manipinfo.rect = move.cur;
-      uv_manipinfo.rect.x /= 2;
-      uv_manipinfo.rect.y /= 2;
-      uv_manipinfo.rect.w /= 2;
-      uv_manipinfo.rect.h /= 2;
-      uv_manipinfo.rect.y += rinfo.height;
-      LOG_INFO("MOVE (%d, %d, %d x %d) -> (%d, %d, %d x %d)", move.cur.x,
-               move.cur.y, move.cur.w, move.cur.h, move.target.x, move.target.y,
-               move.target.w, move.target.h);
-      ret &= frame_->Render(scaler, {y_manipinfo, uv_manipinfo}, move.target);
-    }
-    return true;
-  };
-
-  virtual bool IsValid_() const override {
-    if (frame_ == nullptr) return false;
-    if (frame_->IsValid() == false) return false;
-    if (vpcopier_ == nullptr || vpscaler_ == nullptr) return false;
-    if (vpcopier_->GetCopyManipulator() == nullptr) return false;
-    if (vpscaler_->GetScaleManipulator() == nullptr) return false;
-    return true;
-  }
-
- private:
-  MixedFramePtr frame_ = nullptr;
-  const VideoPlaneCopier* const vpcopier_ = nullptr;
-  const VideoPlaneScaler* const vpscaler_ = nullptr;
-
-  std::mutex rendering_mtx_;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_RENDERER_WITH_DOUBLE_BUFFERING_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/sys/tbminterface.h b/src/mixer/include_internal/mixer/sys/tbminterface.h
deleted file mode 100755 (executable)
index 2273a63..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_SYS_TBM_INTERFACE_H__
-#define __PLUSPLAYER_MIXER_SYS_TBM_INTERFACE_H__
-
-#include <capi-graphics-control.h>
-
-#include "mixer/types/buffertype.h"
-
-namespace plusplayer {
-namespace tizen {
-class TBMInterface {
- public:
-  static BufferDefaultType BoRef(BufferDefaultType bo);
-  static void BoUnRef(BufferDefaultType bo);
-  static int BoSize(BufferDefaultType bo);
-  static BufferUnionHandleType BoGetHandle(BufferDefaultType bo, int device);
-  static BufferUnionHandleType BoMap(BufferDefaultType bo, int device,
-                                     int option);
-  static void BoUnmap(BufferDefaultType bo);
-  static BufferKeyType BoExport(BufferDefaultType bo);
-  static BufferDefaultType BoAlloc(tbm_bufmgr bufmgr, int size, int flag);
-  static BufferDefaultType BoImport(tbm_bufmgr bufmgr, BufferKeyType key);
-  static int GAScale(tbm_bufmgr bufmgr, GraphicsGAScaleInfo* info);
-  static int GACopy(tbm_bufmgr bufmgr, GraphicsGABltRopInfo* info);
-  static int GAFill(tbm_bufmgr bufmgr, GraphicsGAFillRectInfo* info);
-};
-}  // namespace tizen
-}  // namespace plusplayer
-
-#endif  //__PLUSPLAYER_MIXER_SYS_TBM_INTERFACE_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizenaccessiblebufferobj.h b/src/mixer/include_internal/mixer/tizen/tizenaccessiblebufferobj.h
deleted file mode 100755 (executable)
index 84d9d5d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_TIZEN_ACCESSIBLE_BUFFER_OBJECT_H__
-#define __PLUSPLAYER_MIXER_TIZEN_TIZEN_ACCESSIBLE_BUFFER_OBJECT_H__
-
-#include "mixer/interfaces/accessiblebuffer.h"
-#include "mixer/tizen/tizenbufferobj.h"
-#include "mixer/tizen/tizenbufferphyaddraccessor.h"
-
-namespace plusplayer {
-class TizenAccessibleBufferObject : public TizenBufferObject,
-                                    public AccessibleBuffer {
- public:
-  explicit TizenAccessibleBufferObject(BufferDefaultType buffer);
-  virtual ~TizenAccessibleBufferObject() = default;
-  virtual PhyAddrAccessorPtr GetReadableAddress() const override;
-  virtual PhyAddrAccessorPtr GetWritableAddress() const override;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TIZEN_TIZEN_ACCESSIBLE_BUFFER_OBJECT_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizenbufferkeyvideoframe.h b/src/mixer/include_internal/mixer/tizen/tizenbufferkeyvideoframe.h
deleted file mode 100755 (executable)
index f9f5f56..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_BUFFER_KEY_VIDEO_SURFACE_H__
-#define __PLUSPLAYER_MIXER_TIZEN_BUFFER_KEY_VIDEO_SURFACE_H__
-
-#include <memory>
-
-#include "mixer/abs_videoframe.h"
-#include "mixer/interfaces/bufferobject.h"
-#include "mixer/tizen/tizenbuffermgr.h"
-#include "mixer/videoplane.h"
-
-namespace plusplayer {
-
-class TizenBufferKeyVideoFrame : public AbstractVideoFrame {
- public:
-  using BufferObjectPtr = std::shared_ptr<BufferObject>;
-
- public:
-  explicit TizenBufferKeyVideoFrame(const TizenBufferManager* const bufmgr,
-                                    const BufferKeyType& key,
-                                    const std::uint32_t& width,
-                                    const std::uint32_t& height);
-  virtual ~TizenBufferKeyVideoFrame() = default;
-
- protected:
-  virtual bool IsValid_() const override;
-  virtual const std::uint32_t GetWidth_() const override;
-  virtual const std::uint32_t GetHeight_() const override;
-
- private:
-  const BufferKeyType key_;
-  const std::uint32_t width_;
-  const std::uint32_t height_;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TIZEN_BUFFER_KEY_VIDEO_SURFACE_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizenbuffermgr.h b/src/mixer/include_internal/mixer/tizen/tizenbuffermgr.h
deleted file mode 100755 (executable)
index 855112c..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_BUFFER_MANAGER_H__
-#define __PLUSPLAYER_MIXER_TIZEN_BUFFER_MANAGER_H__
-
-#include <cstring>
-
-#include "mixer/interfaces/memoryallocator.h"
-#include "mixer/interfaces/videoplanecolorfiller.h"
-#include "mixer/interfaces/videoplanecopier.h"
-#include "mixer/interfaces/videoplanemanipulator.h"
-#include "mixer/interfaces/videoplanescaler.h"
-#include "mixer/sys/tbminterface.h"
-#include "mixer/tizen/tizenaccessiblebufferobj.h"
-#include "mixer/types/videoplanemanipinfo.h"
-
-namespace {
-struct GlobalInstance {
-  tbm_bufmgr bufmgr;
-  GlobalInstance() { bufmgr = tbm_bufmgr_init(-1); }
-  ~GlobalInstance() {
-    if (bufmgr) tbm_bufmgr_deinit(bufmgr);
-  }
-};
-static const GlobalInstance kGlobalInstance;
-}  // namespace
-
-namespace plusplayer {
-template <typename TBM>
-class BufferManagerWithType : public MemoryAllocator,
-                              public VideoPlaneScaler,
-                              public VideoPlaneCopier,
-                              public VideoPlaneColorFiller {
- public:
-  class Scaler : public VideoPlaneManipulator {
-   public:
-    explicit Scaler(const BufferManagerWithType* const bufmgr);
-    virtual ~Scaler() = default;
-    virtual bool Do(const VideoPlaneManipulableInfo& src,
-                    const VideoPlaneManipulableInfo& dest) const override;
-
-   private:
-    const BufferManagerWithType* const bufmgr_;
-  };
-  class Copier : public VideoPlaneManipulator {
-   public:
-    explicit Copier(const BufferManagerWithType* const bufmgr);
-    virtual ~Copier() = default;
-    virtual bool Do(const VideoPlaneManipulableInfo& src,
-                    const VideoPlaneManipulableInfo& dest) const override;
-
-   private:
-    const BufferManagerWithType* const bufmgr_;
-  };
-  class ColorFiller : public VideoPlaneColorManipulator {
-   public:
-    explicit ColorFiller(const BufferManagerWithType* const bufmgr);
-    virtual ~ColorFiller() = default;
-    virtual bool Do(const std::uint32_t& color,
-                    const VideoPlaneManipulableInfo& dest) const override;
-
-   private:
-    const BufferManagerWithType* const bufmgr_;
-  };
-
- public:
-  explicit BufferManagerWithType();
-  virtual ~BufferManagerWithType() = default;
-
- public:
-  virtual BufferObject* Allocate(const std::uint32_t& size) const override;
-  virtual const VideoPlaneManipulator* const GetScaleManipulator()
-      const override;
-  virtual const VideoPlaneManipulator* const GetCopyManipulator()
-      const override;
-  virtual const VideoPlaneColorManipulator* const GetColorFillManipulator()
-      const override;
-  bool IsValid() const;
-  BufferObject* Import(BufferHandleType handle) const;
-
- protected:
-  bool Copy_(const VideoPlaneManipulableInfo& src,
-             const VideoPlaneManipulableInfo& dst) const;
-  bool Scale_(const VideoPlaneManipulableInfo& src,
-              const VideoPlaneManipulableInfo& dst) const;
-  bool Fill_(const std::uint32_t color,
-             const VideoPlaneManipulableInfo& dst) const;
-
- private:
-  tbm_bufmgr bufmgr_;
-  Scaler scaler_;
-  Copier copier_;
-  ColorFiller color_filler_;
-};
-
-using TizenBufferManager = BufferManagerWithType<tizen::TBMInterface>;
-
-/******************************************************************************
- * Body
- */
-template <typename TBM>
-BufferManagerWithType<TBM>::BufferManagerWithType()
-    : scaler_(this), copier_(this), color_filler_(this) {
-  bufmgr_ = ::kGlobalInstance.bufmgr;
-}
-
-template <typename TBM>
-BufferObject* BufferManagerWithType<TBM>::Allocate(
-    const std::uint32_t& size) const {
-  if (size == 0) return nullptr;
-  if (IsValid() == false) return nullptr;
-  auto buffer = TBM::BoAlloc(bufmgr_, size, TBM_BO_SCANOUT | (1 << 17));
-  if (buffer == nullptr) return nullptr;
-  auto bufferobj = new TizenAccessibleBufferObject(buffer);
-  TBM::BoUnRef(buffer);
-  return bufferobj;
-}
-
-template <typename TBM>
-const VideoPlaneManipulator* const
-BufferManagerWithType<TBM>::GetScaleManipulator() const {
-  return &scaler_;
-}
-
-template <typename TBM>
-const VideoPlaneManipulator* const
-BufferManagerWithType<TBM>::GetCopyManipulator() const {
-  return &copier_;
-}
-
-template <typename TBM>
-const VideoPlaneColorManipulator* const
-BufferManagerWithType<TBM>::GetColorFillManipulator() const {
-  return &color_filler_;
-}
-
-template <typename TBM>
-bool BufferManagerWithType<TBM>::IsValid() const {
-  if (bufmgr_ == nullptr) return false;
-  return true;
-}
-
-template <typename TBM>
-BufferObject* BufferManagerWithType<TBM>::Import(
-    BufferHandleType handle) const {
-  if (IsValid() == false) return nullptr;
-  auto buffer = TBM::BoImport(bufmgr_, handle);
-  if (buffer == nullptr) return nullptr;
-  auto bufferobj = new TizenBufferObject(buffer);
-  TBM::BoUnRef(buffer);
-  return bufferobj;
-}
-
-template <typename TBM>
-bool BufferManagerWithType<TBM>::Copy_(
-    const VideoPlaneManipulableInfo& src,
-    const VideoPlaneManipulableInfo& dst) const {
-  if (src.component != dst.component) return false;
-  if (IsValid() == false) return false;
-  GraphicsGABltRopInfo info;
-  std::memset(&info, 0, sizeof(GraphicsGABltRopInfo));
-  info.ga_mode = GRAPHICS_GA_BITBLT_MODE_NORMAL;
-  info.rop_mode = GRAPHICS_GA_ROP_COPY;
-  info.ga_op_type = GRAPHICS_GA_COPY;
-  info.pre_alphamode = 0;
-  info.ca_value = 0;
-  info.color_format =
-      (src.component == PlaneComponent::kYComponent ? GRAPHICS_GA_FORMAT_8BPP
-                                                    : GRAPHICS_GA_FORMAT_16BPP);
-
-  info.src_handle = src.handle;
-  info.src_hbytesize = src.linesize;
-  info.src_rect.x = src.rect.x;
-  info.src_rect.y = src.rect.y;
-  info.src_rect.w = src.rect.w;
-  info.src_rect.h = src.rect.h;
-
-  info.dst_handle = dst.handle;
-  info.dst_hbytesize = dst.linesize;
-  info.dst_rect.x = dst.rect.x;
-  info.dst_rect.y = dst.rect.y;
-  info.dst_rect.w = dst.rect.w;
-  info.dst_rect.h = dst.rect.h;
-
-  return TBM::GACopy(bufmgr_, &info) > 0;
-}
-
-template <typename TBM>
-bool BufferManagerWithType<TBM>::Scale_(
-    const VideoPlaneManipulableInfo& src,
-    const VideoPlaneManipulableInfo& dst) const {
-  if (src.component != dst.component) return false;
-  if (IsValid() == false) return false;
-  GraphicsGAScaleInfo info;
-  std::memset(&info, 0, sizeof(GraphicsGAScaleInfo));
-  info.ga_mode = GRAPHICS_GA_SCALE_MODE;
-  info.rop_mode = GRAPHICS_GA_ROP_COPY;
-  info.ga_op_type = GRAPHICS_GA_SCALE;
-  info.pre_alphamode = 0;
-  info.ca_value = 0;
-  info.rop_on_off = 0;
-  info.color_format =
-      (src.component == PlaneComponent::kYComponent ? GRAPHICS_GA_FORMAT_8BPP
-                                                    : GRAPHICS_GA_FORMAT_16BPP);
-
-  info.src_handle = src.handle;
-  info.src_hbytesize = src.linesize;
-  info.src_rect.x = src.rect.x;
-  info.src_rect.y = src.rect.y;
-  info.src_rect.w = src.rect.w;
-  info.src_rect.h = src.rect.h;
-
-  info.dst_handle = dst.handle;
-  info.dst_hbytesize = dst.linesize;
-  info.dst_rect.x = dst.rect.x;
-  info.dst_rect.y = dst.rect.y;
-  info.dst_rect.w = dst.rect.w;
-  info.dst_rect.h = dst.rect.h;
-
-  return TBM::GAScale(bufmgr_, &info) > 0;
-}
-
-template <typename TBM>
-bool BufferManagerWithType<TBM>::Fill_(
-    const std::uint32_t color, const VideoPlaneManipulableInfo& dst) const {
-  if (IsValid() == false) return false;
-  GraphicsGAFillRectInfo info;
-  std::memset(&info, 0, sizeof(GraphicsGAFillRectInfo));
-  info.color_format =
-      (dst.component == PlaneComponent::kYComponent ? GRAPHICS_GA_FORMAT_8BPP
-                                                    : GRAPHICS_GA_FORMAT_16BPP);
-  info.ga_op_type = GRAPHICS_GA_SOLID_FILL;
-  info.color = color;
-
-  info.handle = dst.handle;
-  info.hbytesize = dst.linesize;
-  info.rect.x = dst.rect.x;
-  info.rect.y = dst.rect.y;
-  info.rect.w = dst.rect.w;
-  info.rect.h = dst.rect.h;
-
-  return TBM::GAFill(bufmgr_, &info) > 0;
-}
-
-/******************************************************************************
- * Body for scaler
- */
-template <typename TBM>
-BufferManagerWithType<TBM>::Scaler::Scaler(
-    const BufferManagerWithType* const bufmgr)
-    : bufmgr_(bufmgr) {}
-
-template <typename TBM>
-bool BufferManagerWithType<TBM>::Scaler::Do(
-    const VideoPlaneManipulableInfo& src,
-    const VideoPlaneManipulableInfo& dest) const {
-  return bufmgr_->Scale_(src, dest);
-}
-
-/******************************************************************************
- * Body for copier
- */
-template <typename TBM>
-BufferManagerWithType<TBM>::Copier::Copier(
-    const BufferManagerWithType* const bufmgr)
-    : bufmgr_(bufmgr) {}
-
-template <typename TBM>
-bool BufferManagerWithType<TBM>::Copier::Do(
-    const VideoPlaneManipulableInfo& src,
-    const VideoPlaneManipulableInfo& dest) const {
-  return bufmgr_->Copy_(src, dest);
-}
-
-/******************************************************************************
- * Body for color filler
- */
-template <typename TBM>
-BufferManagerWithType<TBM>::ColorFiller::ColorFiller(
-    const BufferManagerWithType* const bufmgr)
-    : bufmgr_(bufmgr) {}
-
-template <typename TBM>
-bool BufferManagerWithType<TBM>::ColorFiller::Do(
-    const std::uint32_t& color, const VideoPlaneManipulableInfo& dest) const {
-  return bufmgr_->Fill_(color, dest);
-}
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TIZEN_BUFFER_MANAGER_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizenbufferobj.h b/src/mixer/include_internal/mixer/tizen/tizenbufferobj.h
deleted file mode 100755 (executable)
index dcd1d3d..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_TIZEN_BUFFER_OBJECT_H__
-#define __PLUSPLAYER_MIXER_TIZEN_TIZEN_BUFFER_OBJECT_H__
-
-#include "mixer/interfaces/bufferobject.h"
-#include "mixer/sys/tbminterface.h"
-
-namespace plusplayer {
-template <typename TBM>
-class BufferObjectWithType : public BufferObject {
- public:
-  explicit BufferObjectWithType(BufferDefaultType buffer);
-  virtual ~BufferObjectWithType();
-  bool IsValid() const;
-  virtual BufferHandleType GetBufferHandle() const override;
-  virtual BufferKeyType Export() const override;
-  virtual std::uint32_t GetSize() const override;
-
- protected:
-  const BufferDefaultType& GetBuffer_() const;
-
- private:
-  BufferDefaultType buffer_ = nullptr;
-};
-
-using TizenBufferObject = BufferObjectWithType<plusplayer::tizen::TBMInterface>;
-
-/******************************************************************************
- * Body
- */
-template <typename TBM>
-BufferObjectWithType<TBM>::BufferObjectWithType(BufferDefaultType buffer) {
-  if (buffer == nullptr) return;
-  buffer_ = TBM::BoRef(buffer);
-}
-
-template <typename TBM>
-BufferObjectWithType<TBM>::~BufferObjectWithType() {
-  if (buffer_) TBM::BoUnRef(buffer_);
-}
-
-template <typename TBM>
-bool BufferObjectWithType<TBM>::IsValid() const {
-  if (buffer_ == nullptr) return false;
-  return true;
-}
-
-template <typename TBM>
-BufferHandleType BufferObjectWithType<TBM>::GetBufferHandle() const {
-  if (IsValid() == false) return kInvalidBufferHandle;
-  auto handle = TBM::BoGetHandle(buffer_, TBM_DEVICE_2D);
-  return handle.u32;
-}
-
-template <typename TBM>
-BufferKeyType BufferObjectWithType<TBM>::Export() const {
-  if (IsValid() == false) return kInvalidBufferKey;
-  return TBM::BoExport(buffer_);
-}
-
-template <typename TBM>
-std::uint32_t BufferObjectWithType<TBM>::GetSize() const {
-  if (IsValid() == false) return kInvalidBufferSize;
-  return TBM::BoSize(buffer_);
-}
-
-template <typename TBM>
-const BufferDefaultType& BufferObjectWithType<TBM>::GetBuffer_() const {
-  return buffer_;
-}
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TIZEN_TIZEN_BUFFER_OBJECT_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizenbufferphyaddraccessor.h b/src/mixer/include_internal/mixer/tizen/tizenbufferphyaddraccessor.h
deleted file mode 100755 (executable)
index e16ecfa..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_BUFFER_PHYSICAL_ADDRESS_ACCESOR_H__
-#define __PLUSPLAYER_MIXER_TIZEN_BUFFER_PHYSICAL_ADDRESS_ACCESOR_H__
-
-#include <tbm_bo.h>
-
-#include "mixer/interfaces/phyaddraccessor.h"
-
-namespace plusplayer {
-class AbstractTizenBufferPhyAddrAccessor : public PhysicalAddressAccessor {
- public:
-  explicit AbstractTizenBufferPhyAddrAccessor(BufferDefaultType buffer) {
-    if (buffer == nullptr) return;
-    buffer_ = tbm_bo_ref(buffer);
-  }
-
-  virtual ~AbstractTizenBufferPhyAddrAccessor() {
-    if (buffer_ == nullptr) return;
-    if (handle_ != nullptr) tbm_bo_unmap(buffer_);
-    tbm_bo_unref(buffer_);
-  }
-
- public:
-  virtual BufferPhysicalAddrType GetAddress() override {
-    if (handle_ != nullptr) return handle_;
-    handle_ = GetAddress_(buffer_);
-    return handle_;
-  }
-
- protected:
-  virtual BufferPhysicalAddrType GetAddress_(
-      const BufferDefaultType& buffer) = 0;
-
- private:
-  BufferDefaultType buffer_;
-  BufferPhysicalAddrType handle_ = nullptr;
-};
-
-class TizenReadableBufferPhyAddrAccessor
-    : public AbstractTizenBufferPhyAddrAccessor {
- public:
-  explicit TizenReadableBufferPhyAddrAccessor(const BufferDefaultType buffer)
-      : AbstractTizenBufferPhyAddrAccessor(buffer) {}
-  virtual ~TizenReadableBufferPhyAddrAccessor() = default;
-
- protected:
-  virtual BufferPhysicalAddrType GetAddress_(
-      const BufferDefaultType& buffer) override {
-    auto handle = tbm_bo_map(buffer, TBM_DEVICE_CPU, TBM_OPTION_READ);
-    return handle.ptr;
-  }
-};
-
-class TizenWritableBufferPhyAddrAccessor
-    : public AbstractTizenBufferPhyAddrAccessor {
- public:
-  explicit TizenWritableBufferPhyAddrAccessor(BufferDefaultType buffer)
-      : AbstractTizenBufferPhyAddrAccessor(buffer) {}
-  virtual ~TizenWritableBufferPhyAddrAccessor() = default;
-
- protected:
-  virtual BufferPhysicalAddrType GetAddress_(
-      const BufferDefaultType& buffer) override {
-    auto handle = tbm_bo_map(buffer, TBM_DEVICE_CPU, TBM_OPTION_WRITE);
-    return handle.ptr;
-  }
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TIZEN_BUFFER_PHYSICAL_ADDRESS_ACCESOR_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizendefaultphyaddraccessor.h b/src/mixer/include_internal/mixer/tizen/tizendefaultphyaddraccessor.h
deleted file mode 100755 (executable)
index 7668790..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_DEFAULT_PHYSICAL_ADDRESS_ACCESOR_H__
-#define __PLUSPLAYER_MIXER_TIZEN_DEFAULT_PHYSICAL_ADDRESS_ACCESOR_H__
-
-#include "mixer/interfaces/phyaddraccessor.h"
-
-namespace plusplayer {
-class TizenDefaultPhyAddrAccessor : public PhysicalAddressAccessor {
- public:
-  explicit TizenDefaultPhyAddrAccessor(std::uint32_t viraddr);
-  virtual ~TizenDefaultPhyAddrAccessor() = default;
-
- public:
-  virtual BufferPhysicalAddrType GetAddress() override;
-
- private:
-  std::uint32_t viraddr_;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TIZEN_DEFAULT_PHYSICAL_ADDRESS_ACCESOR_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizenhwbufferobj.h b/src/mixer/include_internal/mixer/tizen/tizenhwbufferobj.h
deleted file mode 100755 (executable)
index 9c325f7..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_TIZEN_HW_BUFFER_OBJECT_H__
-#define __PLUSPLAYER_MIXER_TIZEN_TIZEN_HW_BUFFER_OBJECT_H__
-
-#include "mixer/decodedvideoinfo.h"
-#include "mixer/interfaces/bufferobject.h"
-
-namespace plusplayer {
-class TizenHWBufferObject : public BufferObject {
- public:
-  explicit TizenHWBufferObject(const std::uint32_t& width,
-                               const std::uint32_t& height,
-                               const DecodedRawPlaneInfo& info);
-  virtual ~TizenHWBufferObject() = default;
-
-  bool IsValid() const;
-  virtual BufferHandleType GetBufferHandle() const override;
-  virtual BufferKeyType Export() const override;
-  virtual std::uint32_t GetSize() const override;
-
- private:
-  std::uint32_t width_;
-  std::uint32_t height_;
-  DecodedRawPlaneInfo info_;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TIZEN_TIZEN_HW_BUFFER_OBJECT_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizenhwvideoframe.h b/src/mixer/include_internal/mixer/tizen/tizenhwvideoframe.h
deleted file mode 100755 (executable)
index 4374269..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_HW_VIDEO_FRAME_H__
-#define __PLUSPLAYER_MIXER_TIZEN_HW_VIDEO_FRAME_H__
-
-#include <memory>
-
-#include "mixer/abs_videoframe.h"
-#include "mixer/decodedvideoinfo.h"
-#include "mixer/interfaces/bufferobject.h"
-
-namespace plusplayer {
-class TizenHWVideoFrame : public AbstractVideoFrame {
- public:
-  using BufferObjectPtr = std::unique_ptr<BufferObject>;
-
- public:
-  explicit TizenHWVideoFrame(const DecodedRawInfo& info);
-  virtual ~TizenHWVideoFrame() = default;
-
- protected:
-  virtual bool IsValid_() const override;
-  virtual const std::uint32_t GetWidth_() const override;
-  virtual const std::uint32_t GetHeight_() const override;
-
- private:
-  void PrintDecodedRawInfo() const;
-
- private:
-  DecodedRawInfo info_;
-};
-}  // namespace plusplayer
-
-#endif  //__PLUSPLAYER_MIXER_TIZEN_HW_VIDEO_FRAME_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizenrenderableobj_factory.h b/src/mixer/include_internal/mixer/tizen/tizenrenderableobj_factory.h
deleted file mode 100755 (executable)
index 91401d0..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_RENDERABLE_OBJECT_FACTORY_H__
-#define __PLUSPLAYER_MIXER_TIZEN_RENDERABLE_OBJECT_FACTORY_H__
-
-#include <memory>
-
-#include "mixer/interfaces/memoryallocator.h"
-#include "mixer/interfaces/renderableobj_factory.h"
-
-namespace plusplayer {
-class TizenRenderableObjectFactory : public RenderableObjectFactory {
- public:
-  explicit TizenRenderableObjectFactory(
-      const MemoryAllocator* const memallocator);
-  virtual ~TizenRenderableObjectFactory() = default;
-
- public:
-  virtual RenderableObject* CreateRenderableObject(
-      const std::uint32_t width, const std::uint32_t height) const override;
-
- private:
-  const MemoryAllocator* const memallocator_;
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TIZEN_RENDERABLE_OBJECT_FACTORY_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/tizen/tizensurfacevideoframe.h b/src/mixer/include_internal/mixer/tizen/tizensurfacevideoframe.h
deleted file mode 100755 (executable)
index eeac31c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TIZEN_SURFACE_VIDEO_FRAME_H__
-#define __PLUSPLAYER_MIXER_TIZEN_SURFACE_VIDEO_FRAME_H__
-
-#include <memory>
-
-#include "mixer/abs_videoframe.h"
-#include "mixer/interfaces/bufferobject.h"
-#include "plusplayer/decodedvideopacketex.h"
-
-namespace plusplayer {
-class TizenSurfaceVideoFrame : public AbstractVideoFrame {
- private:
-  enum ComponentIndex { kYIndex = 0, kUVIndex = 1 };
-
- public:
-  using BufferObjectPtr = std::unique_ptr<BufferObject>;
-
- public:
-  explicit TizenSurfaceVideoFrame(DecodedVideoPacketExPtr dvp);
-  virtual ~TizenSurfaceVideoFrame() = default;
-
- protected:
-  virtual bool IsValid_() const override;
-  virtual const std::uint32_t GetWidth_() const override;
-  virtual const std::uint32_t GetHeight_() const override;
-
- private:
-  DecodedVideoPacketExPtr dvp_;
-  std::uint32_t width_;
-  std::uint32_t height_;
-};
-}  // namespace plusplayer
-
-#endif  //__PLUSPLAYER_MIXER_TIZEN_SURFACE_VIDEO_FRAME_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/types/buffertype.h b/src/mixer/include_internal/mixer/types/buffertype.h
deleted file mode 100755 (executable)
index d8cfc9e..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TYPES_BUFFER_TYPE_H__
-#define __PLUSPLAYER_MIXER_TYPES_BUFFER_TYPE_H__
-
-#include <tbm_type_common.h>
-
-#include <cstdint>
-
-namespace plusplayer {
-
-using BufferDefaultType = tbm_bo;
-using BufferUnionHandleType = tbm_bo_handle;
-using BufferHandleType = decltype(BufferUnionHandleType::u32);
-using BufferPhysicalAddrType = decltype(BufferUnionHandleType::ptr);
-using BufferKeyType = tbm_key;
-
-const static BufferHandleType kInvalidBufferHandle = 0;
-const static BufferPhysicalAddrType kInvalidBufferPhysicalAddr = nullptr;
-const static BufferKeyType kInvalidBufferKey = 0;
-const static BufferKeyType kInvalidBufferSize = 0;
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TYPES_BUFFER_TYPE_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/types/planecomponent.h b/src/mixer/include_internal/mixer/types/planecomponent.h
deleted file mode 100755 (executable)
index c16e8cc..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TYPES_PLANE_COMPONENT_H__
-#define __PLUSPLAYER_MIXER_TYPES_PLANE_COMPONENT_H__
-
-namespace plusplayer {
-
-enum class PlaneComponent {
-  kYComponent,
-  kUVComponent,
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TYPES_PLANE_COMPONENT_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/types/videoplanemanipinfo.h b/src/mixer/include_internal/mixer/types/videoplanemanipinfo.h
deleted file mode 100755 (executable)
index ce09752..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TYPES_VIDEO_PLANE_MAINIPULABLE_INFO_H__
-#define __PLUSPLAYER_MIXER_TYPES_VIDEO_PLANE_MAINIPULABLE_INFO_H__
-
-#include <cstdint>
-
-#include "mixer/types/buffertype.h"
-#include "mixer/types/planecomponent.h"
-#include "plusplayer/types/display.h"
-
-namespace plusplayer {
-
-struct VideoPlaneManipulableInfo {
-  BufferHandleType handle;
-  PlaneComponent component;
-  std::uint32_t linesize;
-  Geometry rect;
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TYPES_VIDEO_PLANE_MAINIPULABLE_INFO_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/types/videoplanemoveinfo.h b/src/mixer/include_internal/mixer/types/videoplanemoveinfo.h
deleted file mode 100755 (executable)
index 9559f55..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_TYPES_VIDEO_PLANE_MOVE_INFO_H__
-#define __PLUSPLAYER_MIXER_TYPES_VIDEO_PLANE_MOVE_INFO_H__
-
-#include "plusplayer/types/display.h"
-
-namespace plusplayer {
-
-struct VideoPlaneMoveInfo {
-  explicit VideoPlaneMoveInfo(const Geometry& current_gemetry, const Geometry& target_gemetry)
-      : cur(current_gemetry), target(target_gemetry) {}
-  Geometry cur;
-  Geometry target;
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_TYPES_VIDEO_PLANE_MOVE_INFO_H__
\ No newline at end of file
diff --git a/src/mixer/include_internal/mixer/videoplane.h b/src/mixer/include_internal/mixer/videoplane.h
deleted file mode 100755 (executable)
index 969f9b1..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_VIDEO_PLANE_H__
-#define __PLUSPLAYER_MIXER_VIDEO_PLANE_H__
-
-#include <cstdint>
-#include <memory>
-
-#include "mixer/interfaces/bufferobject.h"
-#include "mixer/interfaces/videoplanemanipulable.h"
-#include "mixer/types/planecomponent.h"
-#include "plusplayer/types/display.h"
-
-namespace plusplayer {
-class VideoPlane : public VideoPlaneManipulable {
- public:
-  explicit VideoPlane(PlaneComponent component, const std::uint32_t& width,
-                      const std::uint32_t& height);
-  virtual ~VideoPlane() = default;
-
- public:
-  virtual bool IsValid() const override;
-  virtual VideoPlaneManipulableInfo GetVideoPlaneManipulableInfo()
-      const override;
-  virtual void SetCropArea(const CropArea& croparea) override;
-
- protected:
-  virtual const BufferObject* const GetBufferObject_() const = 0;
-  virtual std::uint32_t GetLineSize_() const;
-
- private:
-  const PlaneComponent component_;
-  const std::uint32_t width_;
-  const std::uint32_t height_;
-  CropArea croparea_;
-};
-
-class YComponentVideoPlane : public VideoPlane {
- public:
-  using BufferObjectPtr = std::unique_ptr<BufferObject>;
-
- public:
-  explicit YComponentVideoPlane(BufferObjectPtr buffer,
-                                const std::uint32_t& width,
-                                const std::uint32_t& height);
-  virtual ~YComponentVideoPlane() = default;
-
- protected:
-  virtual const BufferObject* const GetBufferObject_() const override;
-
- private:
-  BufferObjectPtr buffer_;
-};
-
-class UVComponentVideoPlane : public VideoPlane {
- public:
-  using BufferObjectPtr = std::unique_ptr<BufferObject>;
-
- public:
-  explicit UVComponentVideoPlane(BufferObjectPtr buffer,
-                                 const std::uint32_t& width,
-                                 const std::uint32_t& height);
-  virtual ~UVComponentVideoPlane() = default;
-
- protected:
-  virtual const BufferObject* const GetBufferObject_() const override;
-
- private:
-  BufferObjectPtr buffer_;
-};
-
-class YComponentVideoPlaneWithSharedMemory : public VideoPlane {
- public:
-  using BufferObjectPtr = std::shared_ptr<BufferObject>;
-  using BufferObjectWeakPtr = std::weak_ptr<BufferObject>;
-
- public:
-  explicit YComponentVideoPlaneWithSharedMemory(BufferObjectWeakPtr buffer,
-                                                const std::uint32_t& width,
-                                                const std::uint32_t& height);
-  virtual ~YComponentVideoPlaneWithSharedMemory() = default;
-
- protected:
-  virtual std::uint32_t GetLineSize_() const override;
-  virtual const BufferObject* const GetBufferObject_() const override;
-
- private:
-  BufferObjectPtr buffer_;
-  std::uint32_t width_;
-};
-
-class UVComponentVideoPlaneWithSharedMemory : public VideoPlane {
- public:
-  using BufferObjectPtr = std::shared_ptr<BufferObject>;
-  using BufferObjectWeakPtr = std::weak_ptr<BufferObject>;
-
- public:
-  explicit UVComponentVideoPlaneWithSharedMemory(BufferObjectWeakPtr buffer,
-                                                 const std::uint32_t& width,
-                                                 const std::uint32_t& height);
-  virtual ~UVComponentVideoPlaneWithSharedMemory() = default;
-
- public:
-  virtual VideoPlaneManipulableInfo GetVideoPlaneManipulableInfo()
-      const override;
-
- protected:
-  virtual std::uint32_t GetLineSize_() const override;
-  virtual const BufferObject* const GetBufferObject_() const override;
-
- private:
-  BufferObjectPtr buffer_;
-  std::uint32_t width_;
-  std::uint32_t height_;
-};
-}  // namespace plusplayer
-
-#endif  //__PLUSPLAYER_MIXER_VIDEO_PLANE_H__
\ No newline at end of file
diff --git a/src/mixer/src/abs_videoframe.cpp b/src/mixer/src/abs_videoframe.cpp
deleted file mode 100755 (executable)
index 3868a4a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#include "mixer/abs_videoframe.h"
-
-namespace plusplayer {
-
-const std::vector<VideoPlaneManipulableInfo>
-AbstractVideoFrame::GetVideoPlaneManipInfo() const {
-  if (IsValid() == false) return {};
-  std::vector<VideoPlaneManipulableInfo> vector;
-  for (const auto& plane : planes_) {
-    vector.emplace_back(plane->GetVideoPlaneManipulableInfo());
-  }
-  return vector;
-}
-
-bool AbstractVideoFrame::IsValid() const {
-  if (planes_.size() == 0) return false;
-  if (GetWidth_() == 0 || GetHeight_() == 0) return false;
-  if (IsValid_() == false) return false;
-  return true;
-}
-
-bool AbstractVideoFrame::SetCropArea(const CropArea& croparea) {
-  if (IsValid() == false) return false;
-  for (auto& plane : planes_) {
-    plane->SetCropArea(croparea);
-  }
-  return true;
-}
-
-const std::uint32_t AbstractVideoFrame::GetWidth() const {
-  if (IsValid() == false) return 0;
-  return GetWidth_();
-}
-
-const std::uint32_t AbstractVideoFrame::GetHeight() const {
-  if (IsValid() == false) return 0;
-  return GetHeight_();
-}
-
-void AbstractVideoFrame::RegisterVideoPlaneManipulablePtr_(
-    VideoPlaneManipulablePtr vpmanip) {
-  if (vpmanip == nullptr) return;
-  planes_.emplace_back(std::move(vpmanip));
-}
-
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/defaultmixer.cpp b/src/mixer/src/defaultmixer.cpp
deleted file mode 100755 (executable)
index 5fa76a7..0000000
+++ /dev/null
@@ -1,649 +0,0 @@
-#include "mixer/defaultmixer.h"
-
-#include <gst/gst.h>
-#include <trackrenderer_capi/display.h>
-
-#include <algorithm>
-#include <cstdint>
-#include <cstring>
-#include <fstream>
-#include <vector>
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/rendererwithdoublebuf.h"
-#include "mixer/tizen/tizenbufferkeyvideoframe.h"
-#include "mixer/tizen/tizenhwvideoframe.h"
-#include "mixer/tizen/tizenrenderableobj_factory.h"
-#include "mixer/tizen/tizensurfacevideoframe.h"
-#include "mixer/types/videoplanemoveinfo.h"
-
-namespace plusplayer {
-
-namespace internal {
-TrackRendererDisplayMode ConvertToTrackRendererDisplayMode(
-    const DisplayMode& mode);
-
-}  // namespace internal
-DefaultMixer::DefaultMixer() : renderer_listener_(&trackrenderer_handle_) {
-  LOG_ENTER;
-  gst_init(NULL, NULL);
-  trackrenderer_create(&trackrenderer_handle_);
-
-  TizenRenderableObjectFactory factory(&bufmgr_);
-  renderer_ = RendererPtr(new RendererWithDoubleBuffer(
-      factory, &bufmgr_, &bufmgr_, whole_resolution_, &renderer_listener_));
-  // renderer_ = RendererPtr(
-  //     new Renderer(factory, whole_resolution_, &renderer_listener_));
-  InitResourceList_();
-}
-
-DefaultMixer::~DefaultMixer() {
-  LOG_ENTER;
-  trackrenderer_destroy(trackrenderer_handle_);
-  LOG_LEAVE;
-}
-
-bool DefaultMixer::Start() {
-  LOG_ENTER;
-  std::lock_guard<std::mutex> lk(mixer_lock_);
-  if (is_started_ == true) {
-    LOG_ERROR("mixer was already started");
-    return true;
-  }
-
-  if (renderer_->Start() == false) {
-    LOG_ERROR("renderer start failed");
-    return false;
-  }
-
-  TrackRendererTrack track;
-  memset(&track, 0, sizeof(TrackRendererTrack));
-  track.type = kTrackRendererTrackTypeVideo;
-  track.index = 0;
-  track.active = 1;
-  track.mimetype = "video/x-raw";
-  track.width = whole_resolution_.width;
-  track.height = whole_resolution_.height;
-  track.framerate_num = whole_resolution_.framerate_num;
-  track.framerate_den = whole_resolution_.framerate_den;
-
-  if (trackrenderer_set_track(trackrenderer_handle_, &track, 1) != 0) {
-    LOG_ERROR("fail to set track");
-    return false;
-  }
-
-  constexpr std::uint32_t kLowLatencyMode =
-      0x0111;  // video disable avsync & videoquailty
-  trackrenderer_set_attribute(trackrenderer_handle_, "low-latency-mode",
-                              kLowLatencyMode, nullptr);
-  if (use_sub_scaler_) {
-    constexpr std::uint32_t alternative_rsc = 1;
-    trackrenderer_set_attribute(trackrenderer_handle_,
-                                "alternative-video-resource", alternative_rsc,
-                                nullptr);
-  }
-  if (trackrenderer_prepare(trackrenderer_handle_) != 0) {
-    LOG_ERROR("fail to prepare");
-    return false;
-  }
-  if (trackrenderer_start(trackrenderer_handle_) != 0) {
-    LOG_ERROR("fail to start");
-    return false;
-  }
-
-  is_started_ = true;
-  LOG_LEAVE;
-  return true;
-}
-
-bool DefaultMixer::Stop() {
-  LOG_ENTER;
-  std::lock_guard<std::mutex> lk(mixer_lock_);
-  if (is_started_ == false) {
-    LOG_ERROR("mixer was already stopped");
-    return true;
-  }
-
-  if (renderer_->Stop() == false) {
-    LOG_ERROR("renderer stop failed");
-  }
-
-  if (trackrenderer_stop(trackrenderer_handle_) != 0) {
-    LOG_ERROR("fail to stop");
-  }
-
-  is_started_ = false;
-  LOG_LEAVE;
-  return true;
-}
-
-int DefaultMixer::GetMaximumAllowedNumberOfPlayer() {
-  LOG_ENTER;
-  // Fix me if we get policy and detail method (bc_hi.lee)
-  constexpr int kMaximumAllowedNumberOfPlayer = 3;
-  constexpr int kMaximumNumForNdecoder = 4;
-  if (resource_allocation_mode_ == RscAllocMode::kNdecoder)
-    return kMaximumNumForNdecoder;
-  return kMaximumAllowedNumberOfPlayer;
-}
-
-bool DefaultMixer::SetDisplay(const DisplayType type, void* obj) {
-  LOG_ENTER;
-  TrackRendererDisplayType _type = kTrackRendererDisplayTypeNone;
-  switch (type) {
-    case DisplayType::kNone: {
-      _type = kTrackRendererDisplayTypeNone;
-      break;
-    }
-    case DisplayType::kOverlay: {
-      _type = kTrackRendererDisplayTypeOverlay;
-      break;
-    }
-    case DisplayType::kEvas: {
-      _type = kTrackRendererDisplayTypeEvas;
-      break;
-    }
-    default:
-      LOG_ERROR("unknown displaytype");
-      return false;
-  }
-  if (!trackrenderer_set_display(trackrenderer_handle_, _type, obj)) {
-    return true;
-  }
-  return false;
-}
-
-bool DefaultMixer::SetDisplay(const DisplayType type, const uint32_t surface_id,
-                              const int x, const int y, const int w,
-                              const int h) {
-  LOG_ENTER;
-  TrackRendererDisplayType _type = kTrackRendererDisplayTypeNone;
-  switch (type) {
-    case DisplayType::kNone: {
-      _type = kTrackRendererDisplayTypeNone;
-      break;
-    }
-    case DisplayType::kOverlay: {
-      _type = kTrackRendererDisplayTypeOverlay;
-      break;
-    }
-    case DisplayType::kEvas: {
-      _type = kTrackRendererDisplayTypeEvas;
-      break;
-    }
-    default:
-      LOG_ERROR("unknown displaytype");
-      return false;
-  }
-  if (!trackrenderer_set_display_surface(trackrenderer_handle_, _type,
-                                         surface_id, x, y, w, h)) {
-    return true;
-  }
-  return false;
-}
-
-bool DefaultMixer::SetDisplayMode(const DisplayMode& mode) {
-  LOG_ENTER;
-  TrackRendererDisplayMode _mode =
-      internal::ConvertToTrackRendererDisplayMode(mode);
-  if (!trackrenderer_set_display_mode(trackrenderer_handle_, _mode)) {
-    return true;
-  }
-  return false;
-}
-
-bool DefaultMixer::SetDisplayRoi(const Geometry& geometry) {
-  LOG_ENTER;
-  TrackRendererGeometry _geometry;
-  memset(&_geometry, 0, sizeof(TrackRendererGeometry));
-  _geometry.x = geometry.x;
-  _geometry.y = geometry.y;
-  _geometry.w = geometry.w;
-  _geometry.h = geometry.h;
-  if (!trackrenderer_set_display_roi(trackrenderer_handle_, &_geometry)) {
-    return true;
-  }
-  return false;
-}
-
-bool DefaultMixer::SetRscAllocMode(const RscAllocMode& mode) {
-  LOG_ENTER;
-  std::lock_guard<std::mutex> lock(ticket_lock_);
-  if (player_map_.size() != 0) {
-    LOG_ERROR(
-        "it have to be called before setting player's display type to mixer "
-        "type");
-    return false;
-  }
-  resource_allocation_mode_ = mode;
-  return true;
-}
-
-bool DefaultMixer::DisableAudioFocusSetting() {
-  LOG_ENTER;
-  std::lock_guard<std::mutex> lock(ticket_lock_);
-  if (player_map_.size() != 0) {
-    LOG_ERROR(
-        "it have to be called before setting player's display type to mixer "
-        "type");
-    return false;
-  }
-  enable_audio_focus_setting_ = false;
-  if (audio_focused_player_) audio_focused_player_ = nullptr;
-  return true;
-}
-
-bool DefaultMixer::SetAlternativeVideoScaler() {
-  LOG_ENTER;
-  use_sub_scaler_ = true;
-  return true;
-}
-
-bool DefaultMixer::SetAudioFocus(const void* player_instance) {
-  LOG_ENTER;
-  if (!player_instance) return false;
-  std::lock_guard<std::mutex> lock(ticket_lock_);
-
-  if (!enable_audio_focus_setting_) return false;
-
-  if (player_map_.count(player_instance) == 0) {
-    audio_focused_player_ = player_instance;
-    LOG_INFO("audio focus [%p]", audio_focused_player_);
-    return true;
-  }
-
-  LOG_INFO("Active Audio player[%p]", player_instance);
-  auto ticket = player_map_[player_instance];
-  if (ticket->IsAudioFocused()) {
-    LOG_INFO("already focused user");
-    return true;
-  }
-
-  auto target = std::find_if(
-      player_map_.begin(), player_map_.end(),
-      [](const std::pair<const void*, Ticket*>& item) noexcept -> bool {
-        return (item.second)->IsAudioFocused();
-      });
-
-  if (target != player_map_.end()) {
-    if (target->second->GetListener()->OnAudioFocusChanged(false)) {
-      target->second->SetAudioFocus(false);
-    } else {
-      LOG_ERROR("fail to change audio focus");
-      return false;
-    }
-  } else {
-    LOG_INFO("not found audio focused player");
-  }
-
-  if (ticket->GetListener()) {
-    if (ticket->GetListener()->OnAudioFocusChanged(true)) {
-      ticket->SetAudioFocus(true);
-      return true;
-    }
-  }
-  LOG_ERROR("fail to change audio focus");
-  return false;
-}
-
-bool DefaultMixer::Commit() {
-  LOG_ENTER;
-  std::lock_guard<std::mutex> lock(ticket_lock_);
-  std::vector<VideoPlaneMoveInfo> move_list;
-  for (auto it = player_map_.begin(); it != player_map_.end(); ++it) {
-    auto listener = it->second->GetListener();
-    if (!listener) continue;
-    DisplayInfo cur_info, new_info;
-    it->second->GetDisplayInfo(&cur_info);
-    if (listener->OnUpdateDisplayInfo(cur_info, &new_info)) {
-      it->second->UpdateDisplayInfo(new_info);
-      if (it->second->HasRenderedBefore() == true) {
-        move_list.emplace_back(cur_info.geometry, new_info.geometry);
-      }
-    } else {
-      LOG_ERROR("fail to update display info");
-    }
-  }
-  renderer_->Move(&bufmgr_, move_list);
-  return true;
-}
-
-bool DefaultMixer::SetResolution(const ResolutionInfo& info) {
-  whole_resolution_ = info;
-  renderer_->ChangeResolution(TizenRenderableObjectFactory(&bufmgr_),
-                              info.width, info.height);
-  renderer_->ChangeRenderingSpeed(info.framerate_num, info.framerate_den);
-  return true;
-}
-
-bool DefaultMixer::RegisterListener(MixerEventListener* listener) {
-  LOG_ENTER;
-  listener_ = listener;
-  trackrenderer_set_resourceconflict_cb(trackrenderer_handle_,
-                                        ResourceConflictCb_, this);
-  trackrenderer_set_error_cb(trackrenderer_handle_, ErrorCb_, this);
-  return true;
-}
-
-MixerTicket* DefaultMixer::CreateTicket(const void* player_instance) {
-  std::lock_guard<std::mutex> lock(ticket_lock_);
-  LOG_ENTER;
-  auto ticket = new Ticket(this, player_instance);
-  if (audio_focused_player_ == player_instance) {
-    ticket->SetAudioFocus(true);
-    LOG_INFO(" player [%p]", player_instance);
-  }
-  player_map_.emplace(player_instance, ticket);
-  return ticket;
-}
-
-bool DefaultMixer::Detach_(const void* player_instance) {
-  std::lock_guard<std::mutex> lock(ticket_lock_);
-  LOG_ENTER;
-  auto* ticket = player_map_.at(player_instance);
-
-  if (ticket == nullptr) return false;
-  if (ticket->HasRenderedBefore()) {
-    DisplayInfo display_info;
-    ticket->GetDisplayInfo(&display_info);
-    // if this ticket is display visible status, draw black screen
-    if (IsNeededToSkipRendering_(display_info) == false) {
-      LOG_INFO(
-          "player [%p] has been rendered before, so will mute on rendered "
-          "region",
-          player_instance);
-      renderer_->Mute(&bufmgr_, display_info.geometry);
-    }
-  }
-  ticket->DeallocResource();
-  player_map_.erase(player_instance);
-  return true;
-}
-
-bool DefaultMixer::Render_(const void* player_instance,
-                           const VideoPlaneCollection& vplanes) {
-  DisplayInfo display_info;
-  {
-    std::lock_guard<std::mutex> t_lk(ticket_lock_);
-    auto* ticket = player_map_.at(player_instance);
-    if (ticket == nullptr) return false;
-    ticket->GetDisplayInfo(&display_info);
-    ticket->RecordRenderingTime();
-  }
-  if (IsNeededToSkipRendering_(display_info)) {
-    LOG_INFO("Skip Rendering for player [%p]", player_instance);
-    return true;
-  }
-  bool ret = renderer_->Render(&bufmgr_, &vplanes, display_info.geometry);
-  if (ret == false) {
-    LOG_INFO("Rendering Failed for player [%p]", player_instance);
-  }
-  return ret;
-}
-
-bool DefaultMixer::IsNeededToSkipRendering_(const DisplayInfo& display_info) {
-  if (display_info.visible_status == VisibleStatus::kHide) return true;
-  if (display_info.geometry.x == 0 && display_info.geometry.y == 0 &&
-      display_info.geometry.w == 1 && display_info.geometry.h == 1)
-    return true;
-  return false;
-}
-
-void DefaultMixer::ResourceConflictCb_(UserData userdata) {
-  auto mixer = static_cast<DefaultMixer*>(userdata);
-  if (!mixer) return;
-  mixer->listener_->OnResourceConflicted();
-}
-void DefaultMixer::ErrorCb_(const TrackRendererErrorType error_code,
-                            UserData userdata) {
-  auto mixer = static_cast<DefaultMixer*>(userdata);
-  if (!mixer) return;
-  mixer->listener_->OnError();
-}
-
-bool DefaultMixer::Ticket::Render(const DecodedRawInfo& info) {
-  LOG_INFO("player [%p] render frame [%d x %d]", player_instance_, info.width,
-           info.height);
-  TizenHWVideoFrame frame(info);
-  frame.SetCropArea(each_display_info_.croparea);
-  bool ret = handler_->Render_(player_instance_, frame);
-  if (ret == false) {
-    LOG_INFO("player [%p] rendering error", player_instance_);
-  } else {
-    has_rendered_ = true;
-  }
-  return ret;
-}
-
-bool DefaultMixer::Ticket::Render(const DecodedVideoKeyTypeInfo& info) {
-  LOG_INFO("player [%p] render frame [%d x %d]", player_instance_, info.width,
-           info.height);
-  TizenBufferKeyVideoFrame frame(&handler_->bufmgr_, info.key, info.width,
-                                 info.height);
-  frame.SetCropArea(each_display_info_.croparea);
-  bool ret = handler_->Render_(player_instance_, frame);
-  if (ret == false) {
-    LOG_INFO("player [%p] rendering error", player_instance_);
-  } else {
-    has_rendered_ = true;
-  }
-  return ret;
-}
-
-void DefaultMixer::InitResourceList_() {
-  // Must be improved (bc_hi.lee)
-  for (int type = static_cast<int>(ResourceType::kHwMain);
-       type < static_cast<int>(ResourceType::kNdecoder); type++) {
-    Resource resource;
-    resource.category = ResourceCategory::kVideoDecoder;
-    resource.type = static_cast<ResourceType>(type);
-    resource_list_.push_back(std::move(resource));
-  }
-}
-
-bool DefaultMixer::Ticket::GetAvailableResourceType(
-    const ResourceCategory& category, ResourceType* type) {
-  LOG_ENTER;
-  std::lock_guard<std::mutex> lock(handler_->ticket_lock_);
-  if (handler_->resource_allocation_mode_ == RscAllocMode::kDisable) {
-    LOG_ERROR("mixer is no loger involved in resource alloc");
-    return false;
-  }
-
-  if (handler_->resource_allocation_mode_ == RscAllocMode::kNdecoder) {
-    *type = ResourceType::kNdecoder;
-    return true;
-  }
-
-  for (const auto& item : handler_->resource_list_) {
-    if (!item.assignee) {
-      *type = item.type;
-      LOG_INFO("Resource type [%d]", static_cast<int>(*type));
-      return true;
-    }
-  }
-  LOG_ERROR("no available resource type");
-  return false;
-}
-
-bool DefaultMixer::Ticket::IsAudioFocusHandler() {
-  std::lock_guard<std::mutex> lock(handler_->ticket_lock_);
-  return handler_->enable_audio_focus_setting_;
-}
-
-bool DefaultMixer::Ticket::IsRscAllocHandler() {
-  std::lock_guard<std::mutex> lock(handler_->ticket_lock_);
-  return handler_->resource_allocation_mode_ != RscAllocMode::kDisable;
-}
-
-bool DefaultMixer::Ticket::Alloc(const ResourceCategory& category,
-                                 const ResourceType& type) {
-  std::lock_guard<std::mutex> lock(handler_->ticket_lock_);
-  if (handler_->resource_allocation_mode_ == RscAllocMode::kDisable) {
-    LOG_ERROR("mixer is no loger involved in resource alloc");
-    return false;
-  }
-
-  if (type == ResourceType::kNdecoder) {
-    LOG_INFO("Request N decoder");
-    return true;
-  }
-
-  auto compare = [category, type](Resource item) -> bool {
-    if (item.category == category && item.type == type && !item.assignee) {
-      return true;
-    }
-    return false;
-  };
-  auto target = std::find_if(handler_->resource_list_.begin(),
-                             handler_->resource_list_.end(), compare);
-  if (target == handler_->resource_list_.end()) {
-    LOG_ERROR("Resource alloc fail");
-    return false;
-  }
-  LOG_INFO("assignee %p", player_instance_);
-  target->assignee = player_instance_;
-  LOG_LEAVE;
-  return true;
-}
-
-MixerTicketEventListener* DefaultMixer::Ticket::GetListener() {
-  return ticket_listener_;
-}
-
-bool DefaultMixer::Ticket::IsAudioFocused() { return is_audio_focus_; }
-
-void DefaultMixer::Ticket::SetAudioFocus(bool active) {
-  is_audio_focus_ = active;
-}
-
-void DefaultMixer::Ticket::GetDisplayInfo(DisplayInfo* info) {
-  if (info == nullptr) return;
-  *info = each_display_info_;
-}
-
-bool DefaultMixer::Ticket::HasRenderedBefore() { return has_rendered_; }
-
-void DefaultMixer::Ticket::UpdateDisplayInfo(const DisplayInfo& info) {
-  LOG_INFO(
-      "updated display info : geom[%d, %d, %d x %d] crop[%.3lf, %.3lf, %.3lf x "
-      "%.3lf]",
-      info.geometry.x, info.geometry.y, info.geometry.w, info.geometry.h,
-      info.croparea.scale_x, info.croparea.scale_y, info.croparea.scale_w,
-      info.croparea.scale_h);
-  each_display_info_ = info;
-}
-
-void DefaultMixer::Ticket::DeallocResource() {
-  auto compare = [this](Resource item) -> bool {
-    if (item.assignee == player_instance_) {
-      return true;
-    }
-    return false;
-  };
-
-  auto target = std::find_if(handler_->resource_list_.begin(),
-                             handler_->resource_list_.end(), compare);
-  if (target == handler_->resource_list_.end()) {
-    LOG_INFO("not found assignee");
-    return;
-  }
-  target->assignee = nullptr;
-}
-
-void DefaultMixer::Ticket::RecordRenderingTime() {
-  auto now = std::chrono::system_clock::now();
-  LOG_INFO("[PERF] p[%p] render_interval[%llu]ms", player_instance_,
-           std::chrono::duration_cast<std::chrono::milliseconds>(
-               now - last_rendering_time_)
-               .count());
-  last_rendering_time_ = now;
-}
-
-bool DefaultMixer::Ticket::RegisterListener(
-    MixerTicketEventListener* listener) {
-  LOG_ENTER;
-  ticket_listener_ = listener;
-  return true;
-}
-
-bool DefaultMixer::Ticket::Prepare() {
-  LOG_ENTER;
-  DisplayInfo new_info;
-  ticket_listener_->OnUpdateDisplayInfo(each_display_info_, &new_info);
-  UpdateDisplayInfo(new_info);
-  if (!handler_->enable_audio_focus_setting_) return true;
-  LOG_INFO("audio focused [%d]", is_audio_focus_);
-  ticket_listener_->OnAudioFocusChanged(is_audio_focus_);
-  return true;
-}
-
-DefaultMixer::Ticket::~Ticket() {
-  handler_->Detach_(player_instance_);
-  LOG_LEAVE;
-}
-
-DefaultMixer::MixerRendererEventListener::MixerRendererEventListener(
-    TrackRendererHandle* trhandle_ptr)
-    : trhandle_ptr_(trhandle_ptr) {}
-
-DefaultMixer::MixerRendererEventListener::~MixerRendererEventListener() {}
-
-void* DefaultMixer::MixerRendererEventListener::CreateGstBuffer_(
-    const BufferKeyType& key) const {
-  if (key == 0) return nullptr;
-  auto* gstbuffer = gst_buffer_new();
-  auto* gststructure =
-      gst_structure_new("tbm_bo", "tbm_bo_key", G_TYPE_UINT, key, nullptr);
-  gst_mini_object_set_qdata(GST_MINI_OBJECT(gstbuffer),
-                            g_quark_from_static_string("tbm_bo"), gststructure,
-                            (GDestroyNotify)gst_structure_free);
-  return static_cast<void*>(gstbuffer);
-}
-
-void DefaultMixer::MixerRendererEventListener::FillDecoderInputBuffer_(
-    TrackRendererDecoderInputBuffer& buffer, const BufferKeyType& key) const {
-  buffer.type = kTrackRendererTrackTypeVideo;
-  buffer.index = 0;
-  buffer.buffer = CreateGstBuffer_(key);
-}
-
-bool DefaultMixer::MixerRendererEventListener::OnRenderingRelease(
-    const BufferKeyType& key) {
-  if (trhandle_ptr_ == nullptr || *trhandle_ptr_ == nullptr) return false;
-  TrackRendererDecoderInputBuffer buffer;
-  FillDecoderInputBuffer_(buffer, key);
-  TrackRendererSubmitStatus status;
-  int ret = trackrenderer_submit_packet2(*trhandle_ptr_, &buffer, &status);
-  if (ret != 0 && buffer.buffer != nullptr) {
-    gst_buffer_unref(GST_BUFFER(buffer.buffer));
-  }
-  return ret == 0;
-}
-
-namespace internal {
-TrackRendererDisplayMode ConvertToTrackRendererDisplayMode(
-    const DisplayMode& mode) {
-  switch (mode) {
-    case DisplayMode::kLetterBox:
-      return kTrackRendererDisplayModeLetterBox;
-    case DisplayMode::kOriginSize:
-      return kTrackRendererDisplayModeOriginSize;
-    case DisplayMode::kFullScreen:
-      return kTrackRendererDisplayModeFullScreen;
-    case DisplayMode::kCroppedFull:
-      return kTrackRendererDisplayModeCroppedFull;
-    case DisplayMode::kOriginOrLetter:
-      return kTrackRendererDisplayModeOriginOrLetter;
-    case DisplayMode::kDstRoi:
-      return kTrackRendererDisplayModeDstRoi;
-    case DisplayMode::kAutoAspectRatio:
-      return kTrackRendererDisplayModeAutoAspectRatio;
-    default:
-      return kTrackRendererDisplayModeDisplayMax;
-  }
-}
-
-}  // namespace internal
-
-}  // namespace plusplayer
diff --git a/src/mixer/src/mixedframe.cpp b/src/mixer/src/mixedframe.cpp
deleted file mode 100755 (executable)
index e4e2328..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-#include "mixer/mixedframe.h"
-
-#include <cstring>
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/interfaces/accessiblebuffer.h"
-
-namespace plusplayer {
-MixedFramePtr MixedFrame::Create(const MemoryAllocator* const memop,
-                                 const std::uint32_t width,
-                                 const std::uint32_t height) {
-  return Ptr(new MixedFrame(memop, width, height));
-}
-
-MixedFrame::MixedFrame(const MemoryAllocator* const memop,
-                       const std::uint32_t width, const std::uint32_t height)
-    : width_(width), height_(height) {
-  if (memop == nullptr) return;
-  const auto size = CalculateBufferSize_(width_, height_);
-  if (size == 0) return;
-  buffer_ = BufferObjectPtr(memop->Allocate(size));
-  if (buffer_ == nullptr) return;
-  allocated_size_ = buffer_->GetSize();
-  if (allocated_size_ == 0) return;
-
-  if (allocated_size_ != size) {
-    LOG_WARN("size mismatched request [%u] allocated [%u]", size,
-             allocated_size_);
-  }
-
-  if (auto* accessible_buffer =
-          dynamic_cast<AccessibleBuffer*>(buffer_.get())) {
-    auto ptr = accessible_buffer->GetWritableAddress();
-    if (ptr == nullptr) return;
-    const auto y_size = width_ * height_;
-    const auto uv_size = y_size >> 1;
-    {
-      std::memset(static_cast<char*>(ptr->GetAddress()), (char)0x00, y_size);
-      std::memset(static_cast<char*>(ptr->GetAddress()) + y_size, (char)0x80,
-                  uv_size);
-    }
-    LOG_DEBUG("MixedFrame UV memset done");
-  }
-}
-
-const std::vector<VideoPlaneManipulableInfo>
-MixedFrame::GetVideoPlaneManipInfo() const {
-  if (IsValid() == false) return {};
-  auto handle = buffer_->GetBufferHandle();
-  return {GetYComponentVMInfo_(handle), GetUVComponentVMInfo_(handle)};
-}
-
-bool MixedFrame::IsValid() const {
-  if (width_ == 0 || height_ == 0) return false;
-  if (allocated_size_ == 0) return false;
-  if (buffer_ == nullptr) return false;
-  return true;
-}
-
-std::uint32_t MixedFrame::GetWidth() const { return width_; }
-
-std::uint32_t MixedFrame::GetHeight() const { return height_; }
-
-std::uint32_t MixedFrame::GetSize() const {
-  if (IsValid() == false) return 0;
-  return allocated_size_;
-}
-
-bool MixedFrame::Render(const VideoPlaneManipulator* const vpmanip,
-                        const std::vector<VideoPlaneManipulableInfo>& planes,
-                        const Geometry& geom) {
-  if (vpmanip == nullptr) return false;
-  if (IsValid() == false) return false;
-  bool ret = true;
-  for (const auto& video_manipinfo : planes) {
-    ret &= vpmanip->Do(video_manipinfo, GetMixedFrameVideoPlaneManipulableInfo_(
-                                            video_manipinfo.component, geom));
-  }
-  return ret;
-}
-
-bool MixedFrame::Fill(const VideoPlaneColorManipulator* const vpmanip,
-                      const PlaneComponent& comp, const std::uint32_t& color,
-                      const Geometry& geom) {
-  VideoPlaneManipulableInfo info =
-      GetMixedFrameVideoPlaneManipulableInfo_(comp, geom);
-  return vpmanip->Do(color, info);
-}
-
-bool MixedFrame::Export(BufferKeyType& key) const {
-  if (IsValid() == false) return false;
-  key = buffer_->Export();
-  return true;
-}
-
-std::uint32_t MixedFrame::CalculateBufferSize_(const std::uint32_t width,
-                                               const std::uint32_t height) {
-  return (width * height * 3) >> 1;
-}
-
-VideoPlaneManipulableInfo MixedFrame::GetMixedFrameVideoPlaneManipulableInfo_(
-    const PlaneComponent component, const Geometry& geom) {
-  VideoPlaneManipulableInfo ret;
-  ret.handle = buffer_->GetBufferHandle();
-  ret.component = component;
-  ret.linesize = GetWidth();
-  if (component == PlaneComponent::kYComponent) {
-    ret.rect = geom;
-  } else {
-    ret.rect.x = geom.x / 2;
-    ret.rect.y = geom.y / 2 + GetHeight();
-    ret.rect.w = geom.w / 2;
-    ret.rect.h = geom.h / 2;
-  }
-  return ret;
-}
-
-VideoPlaneManipulableInfo MixedFrame::GetYComponentVMInfo_(
-    BufferHandleType handle) const {
-  VideoPlaneManipulableInfo info;
-  info.handle = handle;
-  info.linesize = GetWidth();
-  info.rect.x = 0;
-  info.rect.y = 0;
-  info.rect.w = GetWidth();
-  info.rect.h = GetHeight();
-  info.component = PlaneComponent::kYComponent;
-  return info;
-}
-
-VideoPlaneManipulableInfo MixedFrame::GetUVComponentVMInfo_(
-    BufferHandleType handle) const {
-  VideoPlaneManipulableInfo info;
-  info.handle = handle;
-  info.linesize = GetWidth();
-  info.rect.x = 0;
-  info.rect.y = GetHeight();
-  info.rect.w = GetWidth() >> 1;
-  info.rect.h = GetHeight() >> 1;
-  info.component = PlaneComponent::kUVComponent;
-  return info;
-}
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/mixer.cpp b/src/mixer/src/mixer.cpp
deleted file mode 100755 (executable)
index b67e3bc..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "mixer/mixer.h"
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/defaultmixer.h"
-
-namespace plusplayer {
-
-std::unique_ptr<Mixer> Mixer::Create() {
-  auto instance = std::unique_ptr<DefaultMixer>(new DefaultMixer);
-  LOG_INFO("Create Mixer [%p]", instance.get());
-  return instance;
-}
-
-}  // namespace plusplayer
diff --git a/src/mixer/src/mixer_capi.cpp b/src/mixer/src/mixer_capi.cpp
deleted file mode 100755 (executable)
index 8cfb74c..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-#include "mixer_capi/mixer_capi.h"
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/mixer.h"
-#include "mixer/mixer_eventlistener.h"
-#include "plusplayer/types/display.h"
-
-using plusplayer::Mixer;
-
-struct MixerPriv;
-
-class listener_bridge : public plusplayer::MixerEventListener {
- public:
-  listener_bridge() { LOG_ENTER }
-  ~listener_bridge() { LOG_ENTER }
-
-  virtual void OnResourceConflicted() {
-    LOG_ENTER
-    if (this->resource_conflicted_cb_)
-      this->resource_conflicted_cb_(resource_conflicted_cb_userdata_);
-  }
-
- private:
-  mixer_resource_conflicted_cb resource_conflicted_cb_ = nullptr;
-  void* resource_conflicted_cb_userdata_ = nullptr;
-
-  friend int mixer_set_resource_conflicted_cb(
-      mixer_handle pp, mixer_resource_conflicted_cb resource_conflicted_cb,
-      void* userdata);
-};
-
-struct MixerPriv {
-  std::unique_ptr<Mixer> mixer;
-  std::unique_ptr<listener_bridge> listener{new listener_bridge()};
-
-  friend MixerPriv* MixerPrivCreate();
-  friend void MixerPrivDestroy(MixerPriv*& instance);
-
- private:
-  MixerPriv() {}
-  ~MixerPriv() {}
-};
-
-MixerPriv* MixerPrivCreate() {
-  MixerPriv* instance = new MixerPriv();
-  instance->mixer = Mixer::Create();
-  instance->mixer->RegisterListener(instance->listener.get());
-  return instance;
-}
-
-void MixerPrivDestroy(MixerPriv*& instance) {
-  if (instance) delete instance;
-  instance = nullptr;
-}
-
-inline bool is_null_(void* object) { return object == nullptr; }
-
-inline Mixer* cast_(mixer_handle mixer) {
-  auto priv = static_cast<MixerPriv*>(mixer);
-  return priv->mixer.get();
-}
-
-inline listener_bridge* listener_cast_(mixer_handle pp) {
-  auto priv = static_cast<MixerPriv*>(pp);
-  return priv->listener.get();
-}
-
-inline int convert_return_type_(bool ret) {
-  return ret ? MIXER_ERROR_TYPE_NONE : MIXER_ERROR_TYPE_INVALID_OPERATION;
-}
-
-mixer_handle mixer_create() {
-  LOG_ENTER
-  mixer_handle mixer = static_cast<mixer_handle>(MixerPrivCreate());
-  return mixer;
-}
-
-int mixer_destroy(mixer_handle handle) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-    
-  auto priv = static_cast<MixerPriv*>(handle);
-  MixerPrivDestroy(priv);
-  
-  return MIXER_ERROR_TYPE_NONE;
-}
-
-int mixer_start(mixer_handle handle) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-
-  return convert_return_type_(cast_(handle)->Start());
-}
-
-int mixer_stop(mixer_handle handle) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-
-  return convert_return_type_(cast_(handle)->Stop());
-}
-
-int mixer_get_max_allowed_number_of_player(mixer_handle handle) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-
-  return cast_(handle)->GetMaximumAllowedNumberOfPlayer();
-}
-
-int mixer_set_display(mixer_handle handle, mixer_display_type type,
-                      void* window) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-
-  return convert_return_type_(cast_(handle)->SetDisplay(
-      static_cast<plusplayer::DisplayType>(type), window));
-}
-
-int mixer_set_display_mode(mixer_handle handle, mixer_display_mode mode) {
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-  LOG_INFO("display mode : %d", static_cast<int>(mode));
-  return convert_return_type_(cast_(handle)->SetDisplayMode(
-      static_cast<plusplayer::DisplayMode>(mode)));
-}
-
-int mixer_set_display_roi(mixer_handle handle, const int x, const int y,
-                          const int width, const int height) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-  LOG_INFO("x : %d, y: %d, width : %d, height : %d", x, y, width, height);
-  plusplayer::Geometry roi;
-  roi.x = x;
-  roi.y = y;
-  roi.w = width;
-  roi.h = height;
-  return convert_return_type_(cast_(handle)->SetDisplayRoi(roi));
-}
-
-int mixer_set_rsc_alloc_mode(mixer_handle handle,
-                             const mixer_rsc_alloc_mode mode) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-
-  return convert_return_type_(cast_(handle)->SetRscAllocMode(
-      static_cast<plusplayer::RscAllocMode>(mode)));
-}
-
-int mixer_disable_audio_focus_setting(mixer_handle handle) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-
-  return convert_return_type_(cast_(handle)->DisableAudioFocusSetting());
-}
-
-int mixer_set_alternative_video_scaler(mixer_handle handle) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-
-  return convert_return_type_(cast_(handle)->SetAlternativeVideoScaler());
-}
-
-int mixer_set_audio_focus(mixer_handle handle, const void* player_instance) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-
-  return convert_return_type_(cast_(handle)->SetAudioFocus(player_instance));
-}
-
-int mixer_commit(mixer_handle handle) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-
-  return convert_return_type_(cast_(handle)->Commit());
-}
-
-int mixer_set_resolution(mixer_handle handle, const int width, const int height,
-                         const int framerate_num, const int framerate_den) {
-  LOG_ENTER
-  if (is_null_(handle)) return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-  plusplayer::Mixer::ResolutionInfo info;
-  info.width = width;
-  info.height = height;
-  info.framerate_num = framerate_num;
-  info.framerate_den = framerate_den;
-  return convert_return_type_(cast_(handle)->SetResolution(info));
-}
-
-mixer_ticket_h mixer_create_ticket(mixer_handle handle, const void* player_instance) {
-  LOG_ENTER
-  if (is_null_(handle)) return nullptr;
-
-  return cast_(handle)->CreateTicket(player_instance);
-}
-
-int mixer_set_resource_conflicted_cb(
-    mixer_handle handle, mixer_resource_conflicted_cb resource_conflicted_cb,
-    void* userdata) {
-  LOG_ENTER
-  listener_bridge* listener = nullptr;
-  if (is_null_(handle) || is_null_(listener = listener_cast_(handle))) {
-    LOG_ERROR("Mixer or Listener object is nil.");
-    return MIXER_ERROR_TYPE_INVALID_PARAMETER;
-  }
-  listener->resource_conflicted_cb_ = resource_conflicted_cb;
-  listener->resource_conflicted_cb_userdata_ = userdata;
-  return convert_return_type_(true);
-}
diff --git a/src/mixer/src/renderer.cpp b/src/mixer/src/renderer.cpp
deleted file mode 100755 (executable)
index af48db1..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-#include "mixer/renderer.h"
-
-#include "core/utils/plusplayer_log.h"
-
-namespace plusplayer {
-using std::chrono::duration_cast;
-using std::chrono::milliseconds;
-using std::chrono::system_clock;
-
-Renderer::Renderer(const RenderableObjectFactory& mf_factory,
-                   const Mixer::ResolutionInfo& rinfo,
-                   RendererEventListener* listener)
-    : resolution_info_(rinfo),
-      listener_(listener),
-      frame_(RenderableObjectPtr(mf_factory.CreateRenderableObject(
-          resolution_info_.width, resolution_info_.height))) {}
-
-Renderer::~Renderer() { Stop(); }
-
-bool Renderer::IsValid() const {
-  if (frame_ == nullptr) return false;
-  if (frame_->IsValid() == false) return false;
-  return IsValid_();
-}
-
-bool Renderer::Start() {
-  std::unique_lock<std::mutex> lk(rendering_mtx_);
-  if (IsValid() == false) return false;
-  if (rendering_worker_.joinable()) return false;
-  rendering_flag_ = true;
-  rendering_worker_ = std::thread(&Renderer::RenderingWorker_, this);
-  return true;
-}
-
-bool Renderer::Stop() {
-  {
-    std::unique_lock<std::mutex> lk(rendering_mtx_);
-    if (rendering_worker_.joinable() == false) return false;
-    rendering_flag_ = false;
-    rendering_cv_.notify_all();
-  }
-  rendering_worker_.join();
-  return true;
-}
-
-bool Renderer::ChangeResolution(const RenderableObjectFactory& mf_factory,
-                                const std::uint32_t& width,
-                                const std::uint32_t& height) {
-  if (width == 0 || height == 0) return false;
-  if (width == static_cast<std::uint32_t>(resolution_info_.width) &&
-      height == static_cast<std::uint32_t>(resolution_info_.height))
-    return false;
-  return ChangeResolutionInternal_(mf_factory, width, height);
-}
-
-bool Renderer::ChangeResolutionInternal_(
-    const RenderableObjectFactory& mf_factory, const std::uint32_t& width,
-    const std::uint32_t& height) {
-  std::unique_lock<std::mutex> lk(rendering_mtx_);
-  resolution_info_.width = width;
-  resolution_info_.height = height;
-  frame_.reset(nullptr);
-  frame_ = RenderableObjectPtr(mf_factory.CreateRenderableObject(
-      resolution_info_.width, resolution_info_.height));
-  return IsValid();
-}
-
-bool Renderer::ChangeRenderingSpeed(const std::uint32_t framerate_num,
-                                    const std::uint32_t framerate_den) {
-  if (framerate_num == 0 || framerate_den == 0) return false;
-  if (framerate_num ==
-          static_cast<std::uint32_t>(resolution_info_.framerate_num) &&
-      framerate_den ==
-          static_cast<std::uint32_t>(resolution_info_.framerate_den))
-    return false;
-  std::unique_lock<std::mutex> lk(rendering_mtx_);
-  if (IsValid() == false) return false;
-  resolution_info_.framerate_num = framerate_num;
-  resolution_info_.framerate_den = framerate_den;
-  return true;
-}
-
-bool Renderer::Render(const VideoPlaneScaler* const scaler,
-                      const VideoPlaneCollection* const planes,
-                      const Geometry& geom) {
-  if (scaler == nullptr) return false;
-  if (planes == nullptr) return false;
-  return RenderInternal_(scaler->GetScaleManipulator(),
-                         planes->GetVideoPlaneManipInfo(), geom);
-}
-
-bool Renderer::RenderInternal_(
-    const VideoPlaneManipulator* const scaler,
-    const std::vector<VideoPlaneManipulableInfo>& planes,
-    const Geometry& geom) {
-  if (scaler == nullptr) return false;
-  const auto before = system_clock::now();
-  std::unique_lock<std::mutex> lk(rendering_mtx_);
-  if (IsValid() == false) return false;
-  LOG_INFO("[PERF] RenderInternal_ Lock [%llu]ms",
-           std::chrono::duration_cast<std::chrono::milliseconds>(
-               system_clock::now() - before)
-               .count());
-  const auto ret = frame_->Render(scaler, planes, geom);
-  LOG_INFO("[PERF] Scale [%llu]ms",
-           std::chrono::duration_cast<std::chrono::milliseconds>(
-               system_clock::now() - before)
-               .count());
-  return ret;
-}
-
-bool Renderer::Mute(const VideoPlaneColorFiller* const filler,
-                    const Geometry& geom) {
-  if (filler == nullptr) return false;
-  return MuteInternal_(filler->GetColorFillManipulator(), geom);
-}
-
-bool Renderer::MuteInternal_(const VideoPlaneColorManipulator* const filler,
-                             const Geometry& geom) {
-  if (filler == nullptr) return false;
-  std::unique_lock<std::mutex> lk(rendering_mtx_);
-  if (IsValid() == false) return false;
-  bool ret = true;
-  ret &= frame_->Fill(filler, PlaneComponent::kYComponent, 0x00, geom);
-  ret &= frame_->Fill(filler, PlaneComponent::kUVComponent, 0x8080, geom);
-  return ret;
-}
-
-bool Renderer::Move(const VideoPlaneColorFiller* const filler,
-                    const std::vector<VideoPlaneMoveInfo>& moving_planes) {
-  if (filler == nullptr) return false;
-  if (moving_planes.size() == 0) return false;
-  return MoveInternal_(filler->GetColorFillManipulator(), moving_planes);
-}
-
-bool Renderer::MoveInternal_(
-    const VideoPlaneColorManipulator* const filler,
-    const std::vector<VideoPlaneMoveInfo>& moving_planes) {
-  if (filler == nullptr) return false;
-  std::unique_lock<std::mutex> lk(rendering_mtx_);
-  if (IsValid() == false) return false;
-  bool ret = true;
-  for (const auto& move : moving_planes) {
-    if (IsSameGeometry_(move.cur, move.target)) continue;
-    ret &= frame_->Fill(filler, PlaneComponent::kYComponent, 0x00, move.cur);
-    ret &= frame_->Fill(filler, PlaneComponent::kUVComponent, 0x8080, move.cur);
-  }
-  return true;
-};
-
-bool Renderer::OnRenderingBefore_(const RenderableObject* const frame) {
-  return true;
-}
-
-bool Renderer::IsValid_() const { return true; }
-
-bool Renderer::RaiseOnRenderingReleaseEvent_(const BufferKeyType& key) {
-  if (listener_ == nullptr) return false;
-  return listener_->OnRenderingRelease(key);
-}
-
-std::uint32_t Renderer::GetNextRenderingTimeWithJitter_(
-    const JitterType& jitter) const {
-  const static std::int64_t kOneSecondInMs = 1000;  // ms
-  auto next = kOneSecondInMs /
-              (resolution_info_.framerate_num / resolution_info_.framerate_den);
-  auto jitter_in_ms = jitter.count();
-  LOG_DEBUG("[PERF] jitter : [%lld]ms / next : [%lld]ms", jitter_in_ms, next);
-  jitter_in_ms %= next;
-  next -= jitter_in_ms;
-  return next < 0 ? 0 : static_cast<std::uint32_t>(next);
-}
-
-void Renderer::RenderingWorker_() {
-  LOG_DEBUG("Start Rendering");
-  JitterType jitter(0);
-  while (1) {
-    LOG_DEBUG("= Start New Frame ===========================================");
-    auto before_1 = system_clock::now();
-    std::unique_lock<std::mutex> lk(rendering_mtx_);
-    if (rendering_flag_ == false) break;
-    if (OnRenderingBefore_(frame_.get()) == false) {
-      LOG_WARN("OnRenderingBefore_ Failed");
-      continue;
-    }
-
-    LOG_DEBUG(
-        "[PERF] before_1 ~ now : [%lld]ms",
-        duration_cast<milliseconds>(system_clock::now() - before_1).count());
-    jitter += duration_cast<milliseconds>(system_clock::now() - before_1);
-
-    std::uint64_t next_in_ms = GetNextRenderingTimeWithJitter_(jitter);
-
-    jitter = JitterType::zero();
-    auto before_2 = system_clock::now();
-    LOG_DEBUG("[PULSE] it will awake after [%llu]ms", next_in_ms);
-    if (next_in_ms > 0) {
-      rendering_cv_.wait_for(lk, milliseconds(next_in_ms),
-                             [this] { return rendering_flag_ == false; });
-      // LOG_DEBUG(
-      //     "[PERF] before_2 ~ after awake : [%lld]ms",
-      //     duration_cast<milliseconds>(system_clock::now() -
-      //     before_2).count());
-      if (rendering_flag_ == false) break;
-    }
-    if (IsValid() == false) continue;
-
-    BufferKeyType key;
-    if (frame_->Export(key) == false) {
-      LOG_ERROR("MixedFrame Export Failed");
-      continue;
-    }
-
-    RaiseOnRenderingReleaseEvent_(key);
-    jitter = duration_cast<milliseconds>(system_clock::now() - before_2 -
-                                         milliseconds(next_in_ms));
-    // LOG_DEBUG(
-    //     "[PERF] before_2 ~ now : [%lld]ms / next_in_ms : [%llu]ms",
-    //     duration_cast<milliseconds>(system_clock::now() - before_2).count(),
-    //     next_in_ms);
-  }
-  std::unique_lock<std::mutex> lk(rendering_mtx_);
-  rendering_flag_ = false;
-  LOG_DEBUG("Rendering Stopped");
-}
-
-const Mixer::ResolutionInfo& Renderer::GetResolutionInfo_() const {
-  return resolution_info_;
-}
-
-RenderableObjectPtr& Renderer::GetMixedFrame_() { return frame_; }
-
-void Renderer::AcquireRenderingLock_() { rendering_mtx_.lock(); }
-
-void Renderer::ReleaseRenderingLock_() { rendering_mtx_.unlock(); }
-
-Geometry Renderer::MakeGeometry_(const std::uint32_t& width,
-                                 const std::uint32_t& height) {
-  Geometry geom;
-  geom.w = width;
-  geom.h = height;
-  return geom;
-}
-
-bool Renderer::IsSameGeometry_(const Geometry& g1, const Geometry& g2) {
-  if (g1.x != g2.x) return false;
-  if (g1.y != g2.y) return false;
-  if (g1.w != g2.w) return false;
-  if (g1.h != g2.h) return false;
-  return true;
-}
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/sys/tbminterface.cpp b/src/mixer/src/sys/tbminterface.cpp
deleted file mode 100755 (executable)
index 094a7f3..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "mixer/sys/tbminterface.h"
-
-#include <tbm_bo.h>
-#include <tbm_bufmgr.h>
-
-namespace plusplayer {
-namespace tizen {
-BufferDefaultType TBMInterface::BoRef(BufferDefaultType bo) {
-  return tbm_bo_ref(bo);
-}
-void TBMInterface::BoUnRef(BufferDefaultType bo) { tbm_bo_unref(bo); }
-
-int TBMInterface::BoSize(BufferDefaultType bo) { return tbm_bo_size(bo); }
-
-BufferUnionHandleType TBMInterface::BoGetHandle(BufferDefaultType bo,
-                                                int device) {
-  return tbm_bo_get_handle(bo, device);
-}
-
-BufferUnionHandleType TBMInterface::BoMap(BufferDefaultType bo, int device,
-                                          int option) {
-  return tbm_bo_map(bo, device, option);
-}
-
-void TBMInterface::BoUnmap(BufferDefaultType bo) { tbm_bo_unmap(bo); }
-
-BufferKeyType TBMInterface::BoExport(BufferDefaultType bo) {
-  return tbm_bo_export(bo);
-}
-
-BufferDefaultType TBMInterface::BoAlloc(tbm_bufmgr bufmgr, int size, int flag) {
-  return tbm_bo_alloc(bufmgr, size, flag);
-}
-BufferDefaultType TBMInterface::BoImport(tbm_bufmgr bufmgr, BufferKeyType key) {
-  return tbm_bo_import(bufmgr, key);
-}
-
-int TBMInterface::GAScale(tbm_bufmgr bufmgr, GraphicsGAScaleInfo* info) {
-  return Gfx_GA_Scale(bufmgr, info);
-}
-
-int TBMInterface::GACopy(tbm_bufmgr bufmgr, GraphicsGABltRopInfo* info) {
-  return Gfx_GA_BltRop(bufmgr, info);
-}
-
-int TBMInterface::GAFill(tbm_bufmgr bufmgr, GraphicsGAFillRectInfo* info) {
-  return Gfx_GA_FillRect(bufmgr, info);
-}
-}  // namespace tizen
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/tizen/tizenaccessiblebufferobj.cpp b/src/mixer/src/tizen/tizenaccessiblebufferobj.cpp
deleted file mode 100755 (executable)
index 49cab1f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "mixer/tizen/tizenaccessiblebufferobj.h"
-
-namespace plusplayer {
-
-TizenAccessibleBufferObject::TizenAccessibleBufferObject(
-    BufferDefaultType buffer)
-    : TizenBufferObject(buffer) {}
-
-TizenAccessibleBufferObject::PhyAddrAccessorPtr
-TizenAccessibleBufferObject::GetReadableAddress() const {
-  if (IsValid() == false) return nullptr;
-  return PhyAddrAccessorPtr(
-      new TizenReadableBufferPhyAddrAccessor(GetBuffer_()));
-}
-
-TizenAccessibleBufferObject::PhyAddrAccessorPtr
-TizenAccessibleBufferObject::GetWritableAddress() const {
-  if (IsValid() == false) return nullptr;
-  return PhyAddrAccessorPtr(
-      new TizenWritableBufferPhyAddrAccessor(GetBuffer_()));
-}
-
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/tizen/tizenbufferkeyvideoframe.cpp b/src/mixer/src/tizen/tizenbufferkeyvideoframe.cpp
deleted file mode 100755 (executable)
index 9d10b5d..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#include "mixer/tizen/tizenbufferkeyvideoframe.h"
-
-namespace plusplayer {
-
-TizenBufferKeyVideoFrame::TizenBufferKeyVideoFrame(
-    const TizenBufferManager* const bufmgr, const BufferKeyType& key,
-    const std::uint32_t& width, const std::uint32_t& height)
-    : key_(key), width_(width), height_(height) {
-  if (bufmgr == nullptr) return;
-  if (key_ == 0) return;
-  if (width_ == 0 || height_ == 0) return;
-
-  auto buffer = BufferObjectPtr(bufmgr->Import(key_));
-  if (buffer == nullptr) return;
-  RegisterVideoPlaneManipulablePtr_(VideoPlaneManipulablePtr(
-      new YComponentVideoPlaneWithSharedMemory(buffer, width_, height_)));
-  RegisterVideoPlaneManipulablePtr_(VideoPlaneManipulablePtr(
-      new UVComponentVideoPlaneWithSharedMemory(buffer, width_, height_)));
-}
-
-bool TizenBufferKeyVideoFrame::IsValid_() const {
-  if (key_ == 0) return false;
-  return true;
-}
-
-const std::uint32_t TizenBufferKeyVideoFrame::GetWidth_() const {
-  return width_;
-}
-
-const std::uint32_t TizenBufferKeyVideoFrame::GetHeight_() const {
-  return height_;
-}
-
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/tizen/tizendefaultphyaddraccessor.cpp b/src/mixer/src/tizen/tizendefaultphyaddraccessor.cpp
deleted file mode 100755 (executable)
index 681c8ae..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "mixer/tizen/tizendefaultphyaddraccessor.h"
-
-namespace plusplayer {
-
-TizenDefaultPhyAddrAccessor::TizenDefaultPhyAddrAccessor(std::uint32_t viraddr)
-    : viraddr_(viraddr) {}
-
-BufferPhysicalAddrType TizenDefaultPhyAddrAccessor::GetAddress() {
-  return reinterpret_cast<BufferPhysicalAddrType>(viraddr_);
-}
-
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/tizen/tizenhwbufferobj.cpp b/src/mixer/src/tizen/tizenhwbufferobj.cpp
deleted file mode 100755 (executable)
index 2ca0a4d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "mixer/tizen/tizenhwbufferobj.h"
-
-// #include "mixer/tizen/tizendefaultphyaddraccessor.h"
-
-namespace plusplayer {
-TizenHWBufferObject::TizenHWBufferObject(const std::uint32_t& width,
-                                         const std::uint32_t& height,
-                                         const DecodedRawPlaneInfo& info)
-    : width_(width), height_(height), info_(info) {}
-
-bool TizenHWBufferObject::IsValid() const {
-  if (info_.phyaddr == 0) return false;
-  if (width_ == 0 || height_ == 0 || info_.linesize == 0) return false;
-  return true;
-}
-
-BufferHandleType TizenHWBufferObject::GetBufferHandle() const {
-  if (IsValid() == false) return kInvalidBufferHandle;
-  return static_cast<BufferHandleType>(info_.phyaddr);
-}
-
-BufferKeyType TizenHWBufferObject::Export() const { return kInvalidBufferKey; }
-
-std::uint32_t TizenHWBufferObject::GetSize() const {
-  return height_ * info_.linesize;
-}
-
-}  // namespace plusplayer
diff --git a/src/mixer/src/tizen/tizenhwvideoframe.cpp b/src/mixer/src/tizen/tizenhwvideoframe.cpp
deleted file mode 100755 (executable)
index 136d12e..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#include "mixer/tizen/tizenhwvideoframe.h"
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/tizen/tizenhwbufferobj.h"
-#include "mixer/videoplane.h"
-
-namespace plusplayer {
-
-TizenHWVideoFrame::TizenHWVideoFrame(const DecodedRawInfo& info) : info_(info) {
-  if (IsValid_() == false) return;
-
-  RegisterVideoPlaneManipulablePtr_(VideoPlaneManipulablePtr(
-      new YComponentVideoPlane(BufferObjectPtr(new TizenHWBufferObject(
-                                   info_.width, info_.height, info_.y_info)),
-                               info_.width, info_.height)));
-  RegisterVideoPlaneManipulablePtr_(
-      VideoPlaneManipulablePtr(new UVComponentVideoPlane(
-          BufferObjectPtr(new TizenHWBufferObject(
-              info_.width / 2, info_.height / 2, info_.uv_info)),
-          info_.width, info_.height)));
-}
-
-bool TizenHWVideoFrame::IsValid_() const {
-  if (info_.y_info.phyaddr == 0) return false;
-  if (info_.y_info.linesize == 0) return false;
-  if (info_.uv_info.phyaddr == 0) return false;
-  if (info_.uv_info.linesize == 0) return false;
-  return true;
-}
-
-const std::uint32_t TizenHWVideoFrame::GetWidth_() const { return info_.width; }
-
-const std::uint32_t TizenHWVideoFrame::GetHeight_() const {
-  return info_.height;
-}
-
-void TizenHWVideoFrame::PrintDecodedRawInfo() const {
-  LOG_DEBUG("WxH [%ux%u] Y [%u %u %u] / UV [%u %u %u]", info_.width,
-            info_.height, info_.y_info.phyaddr, info_.y_info.viraddr,
-            info_.y_info.linesize, info_.uv_info.phyaddr, info_.uv_info.viraddr,
-            info_.uv_info.linesize);
-}
-
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/tizen/tizenrenderableobj_factory.cpp b/src/mixer/src/tizen/tizenrenderableobj_factory.cpp
deleted file mode 100755 (executable)
index e678026..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "mixer/tizen/tizenrenderableobj_factory.h"
-
-#include "mixer/mixedframe.h"
-
-namespace plusplayer {
-
-TizenRenderableObjectFactory::TizenRenderableObjectFactory(
-    const MemoryAllocator* const memallocator)
-    : memallocator_(memallocator) {}
-
-RenderableObject* TizenRenderableObjectFactory::CreateRenderableObject(
-    const std::uint32_t width, const std::uint32_t height) const {
-  return new MixedFrame(memallocator_, width, height);
-}
-
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/tizen/tizensurfacevideoframe.cpp b/src/mixer/src/tizen/tizensurfacevideoframe.cpp
deleted file mode 100755 (executable)
index ed6030c..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#include "mixer/tizen/tizensurfacevideoframe.h"
-
-#include <tbm_surface.h>
-#include <tbm_surface_internal.h>
-
-#include "mixer/tizen/tizenbufferobj.h"
-#include "mixer/videoplane.h"
-
-namespace plusplayer {
-
-TizenSurfaceVideoFrame::TizenSurfaceVideoFrame(DecodedVideoPacketExPtr dvp)
-    : dvp_(std::move(dvp)) {
-  auto surface = dvp_->GetTbmSurface();
-  if (surface == nullptr) return;
-
-  width_ = tbm_surface_get_width(surface);
-  height_ = tbm_surface_get_height(surface);
-  if (width_ == 0 || height_ == 0) return;
-
-  auto y_bo = tbm_surface_internal_get_bo(surface, kYIndex);
-  auto uv_bo = tbm_surface_internal_get_bo(surface, kUVIndex);
-  if (y_bo == nullptr || uv_bo == nullptr) return;
-
-  RegisterVideoPlaneManipulablePtr_(
-      VideoPlaneManipulablePtr(new YComponentVideoPlane(
-          BufferObjectPtr(new TizenBufferObject(y_bo)), width_, height_)));
-  RegisterVideoPlaneManipulablePtr_(
-      VideoPlaneManipulablePtr(new UVComponentVideoPlane(
-          BufferObjectPtr(new TizenBufferObject(uv_bo)), width_, height_)));
-}
-
-bool TizenSurfaceVideoFrame::IsValid_() const {
-  if (dvp_ == nullptr) return false;
-  return true;
-}
-
-const std::uint32_t TizenSurfaceVideoFrame::GetWidth_() const { return width_; }
-
-const std::uint32_t TizenSurfaceVideoFrame::GetHeight_() const {
-  return height_;
-}
-
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/mixer/src/videoplane.cpp b/src/mixer/src/videoplane.cpp
deleted file mode 100755 (executable)
index 64ccbc8..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-#include "mixer/videoplane.h"
-
-#include "core/utils/plusplayer_log.h"
-
-namespace plusplayer {
-
-/******************************************************************************
- * VideoPlane
- */
-VideoPlane::VideoPlane(PlaneComponent component, const std::uint32_t& width,
-                       const std::uint32_t& height)
-    : component_(component), width_(width), height_(height) {}
-
-bool VideoPlane::IsValid() const {
-  if (GetBufferObject_() == nullptr) return false;
-  if (width_ == 0 || height_ == 0 || GetLineSize_() == 0) return false;
-  return true;
-}
-
-VideoPlaneManipulableInfo VideoPlane::GetVideoPlaneManipulableInfo() const {
-  VideoPlaneManipulableInfo info;
-  info.component = component_;
-  info.handle = GetBufferObject_()->GetBufferHandle();
-  info.linesize = GetLineSize_();
-  info.rect.x = width_ * croparea_.scale_x;
-  info.rect.y = height_ * croparea_.scale_y;
-  info.rect.w = width_ * croparea_.scale_w;
-  info.rect.h = height_ * croparea_.scale_h;
-  return info;
-}
-
-void VideoPlane::SetCropArea(const CropArea& croparea) { croparea_ = croparea; }
-
-std::uint32_t VideoPlane::GetLineSize_() const {
-  return GetBufferObject_()->GetSize() / height_;
-}
-
-/******************************************************************************
- * YComponentVideoPlane
- */
-
-YComponentVideoPlane::YComponentVideoPlane(BufferObjectPtr buffer,
-                                           const std::uint32_t& width,
-                                           const std::uint32_t& height)
-    : VideoPlane(PlaneComponent::kYComponent, width, height),
-      buffer_(std::move(buffer)) {}
-
-const BufferObject* const YComponentVideoPlane::GetBufferObject_() const {
-  return buffer_.get();
-}
-
-/******************************************************************************
- * UVComponentVideoPlane
- */
-
-UVComponentVideoPlane::UVComponentVideoPlane(BufferObjectPtr buffer,
-                                             const std::uint32_t& width,
-                                             const std::uint32_t& height)
-    : VideoPlane(PlaneComponent::kUVComponent, width / 2, height / 2),
-      buffer_(std::move(buffer)) {}
-
-const BufferObject* const UVComponentVideoPlane::GetBufferObject_() const {
-  return buffer_.get();
-}
-
-/******************************************************************************
- * YComponentVideoPlaneWithSharedMemory
- */
-
-YComponentVideoPlaneWithSharedMemory::YComponentVideoPlaneWithSharedMemory(
-    BufferObjectWeakPtr buffer, const std::uint32_t& width,
-    const std::uint32_t& height)
-    : VideoPlane(PlaneComponent::kYComponent, width, height),
-      buffer_(buffer),
-      width_(width) {}
-
-std::uint32_t YComponentVideoPlaneWithSharedMemory::GetLineSize_() const {
-  return width_;
-}
-
-const BufferObject* const
-YComponentVideoPlaneWithSharedMemory::GetBufferObject_() const {
-  return buffer_.get();
-}
-
-/******************************************************************************
- * UVComponentVideoPlaneWithSharedMemory
- */
-
-UVComponentVideoPlaneWithSharedMemory::UVComponentVideoPlaneWithSharedMemory(
-    BufferObjectWeakPtr buffer, const std::uint32_t& width,
-    const std::uint32_t& height)
-    : VideoPlane(PlaneComponent::kUVComponent, width / 2, height / 2),
-      buffer_(buffer),
-      width_(width),
-      height_(height) {}
-
-VideoPlaneManipulableInfo
-UVComponentVideoPlaneWithSharedMemory::GetVideoPlaneManipulableInfo() const {
-  auto info = VideoPlane::GetVideoPlaneManipulableInfo();
-  info.rect.y += height_;
-  return info;
-}
-
-std::uint32_t UVComponentVideoPlaneWithSharedMemory::GetLineSize_() const {
-  return width_;
-}
-
-const BufferObject* const
-UVComponentVideoPlaneWithSharedMemory::GetBufferObject_() const {
-  return buffer_.get();
-}
-
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/src/plusplayer-core/Build/appendix.mk b/src/plusplayer-core/Build/appendix.mk
deleted file mode 100755 (executable)
index 2e06c34..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Appendix\r
diff --git a/src/plusplayer-core/Build/basedef.mk b/src/plusplayer-core/Build/basedef.mk
deleted file mode 100755 (executable)
index a7a0869..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# Add inputs and outputs from these tool invocations to the build variables\r
-\r
-\r
-OS_NAME := $(shell $(UNAME))\r
-\r
-\r
-#ifeq ($(origin BUILD_CONFIG), undefined)\r
-BUILD_CONFIG ?= Debug\r
-#endif\r
-\r
-#ifeq ($(origin ARCH), undefined)\r
-ARCH ?= i386\r
-#endif\r
-\r
-#ifeq ($(origin PROJPATH), undefined)\r
-PROJPATH ?= .\r
-#endif\r
-\r
-\r
-#ifeq ($(origin PROJ_PATH), undefined)\r
-PROJ_PATH ?= $(PROJPATH)\r
-#endif\r
-\r
-#ifeq ($(strip $(OUTPUT_DIR)),)\r
-#OUTPUT_DIR ?= $(PROJ_PATH)/$(BUILD_CONFIG)\r
-#endif\r
-\r
-#ifeq ($(strip $(BUILD_ARCH)),)\r
-BUILD_ARCH ?= $(ARCH)\r
-#endif\r
-\r
-#ifeq ($(strip $(ENVENTOR_PATH)),)\r
-ENVENTOR_PATH ?= $(SDK_TOOLPATH)/enventor\r
-#endif\r
diff --git a/src/plusplayer-core/Build/build_c.mk b/src/plusplayer-core/Build/build_c.mk
deleted file mode 100755 (executable)
index 4ef9699..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-# C/C++ build script\r
-\r
-\r
-_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2))\r
-_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c)\r
-_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp)\r
-\r
-\r
-# parameter :\r
-#  $(1) - C/C++ soruce file\r
-#  $(2) - output path\r
-#  $(3) - .ext\r
-#  $(4) - unique id\r
-CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(notdir $(patsubst %.$(3),%-$(4).o,$(1))))\r
-\r
-#CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c)\r
-#CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp)\r
-\r
-\r
-# parameter :\r
-#  $(1) - encoded one C/C++ soruce file\r
-#  $(2) - output path\r
-#  $(3) - ext title (C/C++)\r
-#  $(4) - ext (c/cpp)\r
-#  $(5) - compiler ($(CC)/$(CXX))\r
-#  $(6) - build opt\r
-#  $(7) - build opt file\r
-# output :\r
-#  $(8) - output files list\r
-define C_BUILD_PROC_RAW\r
-$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8)) : $(call DECODE_4MAKE,$(1)) $(7)\r
-       @echo '  Building file: $$<'\r
-       @echo '  Invoking: $(3) Compiler'\r
-       $$(call MAKEDIRS,$$(@D))\r
-       $(5) -c "$$<" -o "$$@" $(6) -Wp,@$(7)\r
-       @echo '  Finished building: $$<'\r
-$(9) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8))\r
-endef\r
-\r
-\r
-# parameter :\r
-#  $(1) - output paths\r
-#  $(2) - src paths\r
-#  $(3) - inc paths\r
-#  $(4) - inc files\r
-#  $(5) - Defs\r
-#  $(6) - UnDefs\r
-#  $(7) - compiler opt\r
-#  $(8) - compiler opt file\r
-#  $(9) - ext title (C/C++)\r
-#  $(10) - ext (c/cpp)\r
-#  $(11) - compiler ($(CC)/$(CXX))\r
-# output :\r
-#  $(12) - OBJS\r
-# return :\r
-#  none\r
-define C_PROC_RAW\r
-\r
-_OUTPUT_DIR := $$(strip $(1))#\r
-_SRCS := $(2)#\r
-_INCS := $(3)#\r
-_INC_FILES := $(4)#\r
-_DEFS := $(5)#\r
-_UNDEFS := $(6)#\r
-\r
-_OPT := $(7)\r
-_OPT_FILE := $(8)\r
-\r
-_EXT_TITLE := $(9)\r
-_EXT := $(10)\r
-_COMPILER := $(11)\r
-\r
-#_OUTPUT_FILES := $(12)\r
-\r
-_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))\r
-_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS))\r
-\r
-ifneq ($$(strip $$(_SRCS)),)\r
-\r
-_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS))\r
-_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS))\r
-\r
-_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \\r
-             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))\r
-\r
-ifneq ($$(strip $$(_ALL_SRCS)),)\r
-\r
-_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))\r
-\r
-_CDEFS := $$(CDEFS)\r
-_CDEFS += $$(addprefix -D,$$(_DEFS))\r
-_CDEFS += $$(addprefix -U,$$(_UNDEFS))\r
-\r
-_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS))\r
-_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS))\r
-\r
-_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES))\r
-_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES))\r
-\r
-_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES))\r
-\r
-_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT)\r
-\r
-_UNIQUE_ID = $$(firstword $$(shell echo $$(var) | $$(CKSUM)))\r
-\r
-$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$$(_UNIQUE_ID),$(12))))\r
-\r
-endif  # (_(strip _(_ALL_SRCS)),)\r
-\r
-endif  # (_(strip _(_SRCS)),)\r
-\r
-\r
-endef\r
diff --git a/src/plusplayer-core/Build/build_edc.mk b/src/plusplayer-core/Build/build_edc.mk
deleted file mode 100755 (executable)
index 27ee648..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-# EDC build script\r
-\r
-\r
-FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1))\r
-\r
-# parameter :\r
-#  $(1) - C/C++ soruce file\r
-#  $(2) - output path\r
-CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2)))\r
-\r
-\r
-# parameter :\r
-#  $(1) - encoded one C/C++ soruce file\r
-#  $(2) - output path\r
-#  $(3) - build opt\r
-# output :\r
-#  $(4) - output files list\r
-define EDJ_BUILD_PROC_RAW\r
-$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1))\r
-       @echo '  Building file: $$<'\r
-       @echo '  Invoking: EDC Resource Compiler'\r
-       $$(call MAKEDIRS,$$(@D))\r
-       $$(EDJE_CC) $(3) "$$<" "$$@"\r
-       @echo '  Finished building: $$<'\r
-$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2))\r
-endef\r
-\r
-\r
-# parameter :\r
-#  $(1) - output paths\r
-#  $(2) - src paths\r
-#  $(3) - image inc paths\r
-#  $(4) - sound inc paths\r
-#  $(5) - font inc paths\r
-# output :\r
-#  $(6) - OBJS \r
-# return :\r
-#  none\r
-define EDJ_PROC_RAW\r
-\r
-_OUTPUT_DIR := $$(strip $(1))#\r
-_SRCS := $(2)# \r
-_IMAGE_DIRS := $(3)# \r
-_SOUND_DIRS := $(4)# \r
-_FONT_DIRS := $(5)# \r
-\r
-ifneq ($$(strip $$(_SRCS)),)\r
-\r
-_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) \r
-\r
-_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS))\r
-_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS))\r
-\r
-_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \\r
-             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))\r
-\r
-ifneq ($$(strip $$(_ALL_SRCS)),)\r
-\r
-_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) \r
-\r
-_COMPILER_FLAGS := -id "$$(ENVENTOR_SHARED_RES_PATH)/images"\r
-_COMPILER_FLAGS += -sd "$$(ENVENTOR_SHARED_RES_PATH)/sounds"\r
-_COMPILER_FLAGS += -fd "$$(ENVENTOR_SHARED_RES_PATH)/fonts"\r
-\r
-ifneq ($$(strip $$(_IMAGE_DIRS)),)\r
-_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS))\r
-endif\r
-ifneq ($$(strip $$(_SOUND_DIRS)),)\r
-_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS))\r
-endif\r
-ifneq ($$(strip $$(_FONT_DIRS)),)\r
-_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS))\r
-endif\r
-\r
-$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6))))\r
-\r
-endif  # (_(strip _(_ALL_SRCS)),)\r
-\r
-endif  # (_(strip _(_SRCS)),)\r
-\r
-endef\r
diff --git a/src/plusplayer-core/Build/build_po.mk b/src/plusplayer-core/Build/build_po.mk
deleted file mode 100755 (executable)
index 3453614..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-# PO build script\r
-\r
-\r
-_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))\r
-\r
-\r
-# parameter :\r
-#  $(1) - C/C++ soruce file\r
-#  $(2) - output path\r
-#  $(3) - app name\r
-CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))\r
-\r
-\r
-# parameter :\r
-#  $(1) - encoded one C/C++ soruce file\r
-#  $(2) - output path\r
-#  $(3) - app name\r
-# output :\r
-#  $(4) - output files list\r
-define MO_BUILD_PROC_RAW\r
-$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))\r
-       @echo '  Building file: $$<'\r
-       @echo '  Invoking: msgfmt String Formatter'\r
-       $$(call MAKEDIRS,$$(@D))\r
-       $$(MSGFMT) -o "$$@" "$$<"\r
-       @echo '  Finished building: $$<'\r
-$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))\r
-endef\r
-\r
\r
-# parameter :\r
-#  $(1) - output dir\r
-#  $(2) - src paths\r
-#  $(3) - app name\r
-# output :\r
-#  $(4) - OBJS \r
-\r
-define MO_PROC_RAW\r
-\r
-_OUTPUT_DIR := $(1)\r
-_SRCS := $(2)\r
-_APPNAME := $(3)\r
-\r
-ifneq ($$(strip $$(_SRCS)),)\r
-\r
-_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) \r
-\r
-_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))\r
-_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))\r
-\r
-_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \\r
-             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))\r
-\r
-ifneq ($$(strip $$(_ALL_SRCS)),)\r
-\r
-_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) \r
-\r
-$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))\r
-\r
-endif  # (_(strip _(_ALL_SRCS)),)\r
-\r
-endif  # (_(strip _(_SRCS)),)\r
-\r
-endef\r
diff --git a/src/plusplayer-core/Build/flags.mk b/src/plusplayer-core/Build/flags.mk
deleted file mode 100755 (executable)
index 5c0a812..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-ifeq ($(strip $(BUILD_CONFIG)),Debug)\r
-DEBUG_OP = -g2\r
-CPP_DEBUG_OP = -g2\r
-\r
-OPTIMIZATION_OP = -O1\r
-CPP_OPTIMIZATION_OP = -O1\r
-else\r
-DEBUG_OP = -g0\r
-CPP_DEBUG_OP = -g0\r
-\r
-OPTIMIZATION_OP = -O2\r
-CPP_OPTIMIZATION_OP = -O2\r
-endif\r
-\r
-COMPILE_FLAGS = $(CFLAGS) $(DEBUG_OP) $(OPTIMIZATION_OP) \r
-\r
-CPP_COMPILE_FLAGS = $(CXXFLAGS) $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP) -Wall -Werror -std=c++11 -w -c -fmessage-length=0 -DPLUPLAYER_DOWNLOADABLE_APP_TVPLUS -fPIC \r
-\r
-LINK_FLAGS = $(CFLAGS) -shared -Wl,-z,relro \r
-\r
-AR_FLAGS = \r
-\r
-EDC_COMPILE_FLAGS = \r
diff --git a/src/plusplayer-core/Build/funcs.mk b/src/plusplayer-core/Build/funcs.mk
deleted file mode 100755 (executable)
index 35939a5..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-\r
-BSLASH := \\#\r
-NULL_CHAR := #\r
-SPACE := \ #\r
-COLON := :#\r
-DOTDOT := ..#\r
-SPACE_ESC := &sp;#\r
-COLON_ESC := &co;#\r
-SPACE_OUT := ~sp~#\r
-COLON_OUT := ~co~#\r
-DOTDOT_OUT := ~dtdt~#\r
-\r
-BSLASH2SLASH = $(subst $(BSLASH),/,$(1))\r
-\r
-REMOVE_TAIL = $(patsubst %/,%,$(1))\r
-\r
-#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))\r
-LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])\r
-\r
-#ifneq ($(findstring Windows,$(OS)),)\r
-# ...\r
-#endif\r
-\r
-FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')\r
-FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')\r
-FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')\r
-\r
-FIND_FILES_ABS = $(shell $(FIND) $(1))\r
-FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')\r
-FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')\r
-\r
-FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')\r
-\r
-#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')\r
-#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')\r
-ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))\r
-DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))\r
-ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))\r
-DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))\r
-\r
-CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))\r
-CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))\r
-CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))\r
-\r
-PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))\r
-define MAKEDIRS0\r
-       @echo '  Building directory: $(1)'\r
-       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))\r
-endef\r
-MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)\r
diff --git a/src/plusplayer-core/Build/makefile b/src/plusplayer-core/Build/makefile
deleted file mode 100755 (executable)
index 95638bb..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# \r
-# Usege : make -f <proj_root>/Build/makefile -C <proj_root> \r
-#\r
\r
-BUILD_SCRIPT_VERSION := 1.1.0\r
-\r
-.PHONY : app_version app_build app_clean build_version\r
-\r
-\r
-all : app_build\r
-\r
-clean : app_clean\r
-\r
-version : build_version\r
-\r
-#PROJ_ROOT = .\r
-#BUILD_ROOT := $(PROJ_PATH)/Build#\r
-\r
-ifeq ($(MAKE_NAME),mingw32-make)\r
-ifneq ($(SHELL),)\r
-OPTIONS += --eval="SHELL=$(SHELL)"\r
-endif\r
-endif\r
-\r
-app_build :\r
-       @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk"\r
-       @$(MAKE_BIN) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS)\r
-\r
-app_clean :\r
-       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean\r
-\r
-build_version :\r
-       @echo makefile : $(BUILD_SCRIPT_VERSION)\r
-       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version\r
diff --git a/src/plusplayer-core/Build/makefile.mk b/src/plusplayer-core/Build/makefile.mk
deleted file mode 100755 (executable)
index 3a4ad19..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-#\r
-# Usege : make -f <proj_root>/Build/makefile -C <proj_root>\r
-#\r
-\r
-BUILD_SCRIPT_VERSION := 1.2.3\r
-\r
-.PHONY : app_version app_clean build_version\r
-\r
-\r
-all : app_build\r
-\r
-clean : app_clean\r
-\r
-version : build_version\r
-\r
-_BLANK :=#\r
-_SPACE := $(_BLANK) $(_BLANK)#\r
-_SPACE_4MAKE := \$(_SPACE)#\r
-\r
-NULL_CHAR :=#\r
-SPACE := $(NULL_CHAR) $(NULL_CHAR)#\r
-\r
-PROJ_ROOT := .\r
-_PROJ_ROOT_4MAKE := $(subst $(_SPACE),$(_SPACE_4MAKE),$(PROJ_ROOT))#\r
-PROJ_ROOT=$(_PROJ_ROOT_4MAKE)\r
-_BUILD_ROOT_4MAKE := $(subst $(_SPACE),$(_SPACE_4MAKE),$(BUILD_ROOT))#\r
-BUILD_ROOT=$(_BUILD_ROOT_4MAKE)\r
-\r
-include $(BUILD_ROOT)/basedef.mk\r
-\r
-include $(PROJ_ROOT)/project_def.prop\r
--include $(PROJ_ROOT)/build_def.prop\r
-\r
-include $(BUILD_ROOT)/funcs.mk\r
-\r
--include $(BUILD_ROOT)/tooldef.mk\r
--include $(BUILD_ROOT)/flags.mk\r
--include $(BUILD_ROOT)/platform.mk\r
-\r
-\r
-APPTYPE := $(type)\r
-\r
-OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG)\r
-OBJ_OUTPUT := $(OUTPUT_DIR)/objs\r
-\r
-LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME))\r
-APPID2 := $(subst $(basename $(APPID)).,,$(APPID))\r
-\r
-ifeq ($(strip $(APPTYPE)),app)\r
-APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)\r
-endif\r
-ifeq ($(strip $(APPTYPE)),staticLib)\r
-APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a\r
-endif\r
-ifeq ($(strip $(APPTYPE)),sharedLib)\r
-APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so\r
-endif\r
-\r
-ifneq ($(strip $(PLATFORM_INCS)),)\r
-PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc\r
-endif\r
-\r
-include $(BUILD_ROOT)/build_c.mk\r
-\r
-\r
-ifeq ($(strip $(APPTYPE)),app)\r
-EXT_OP := -fPIE\r
-endif\r
-ifeq ($(strip $(APPTYPE)),staticLib)\r
-EXT_OP := -fPIE\r
-endif\r
-ifeq ($(strip $(APPTYPE)),sharedLib)\r
-EXT_OP := -fPIC\r
-endif\r
-\r
-C_OPT := $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_C_OPTS)\r
-CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_CPP_OPTS)\r
-C_OPT_FILE := $(PLATFORM_INCS_FILE)\r
-\r
-OBJS := #\r
-\r
-# Global C/C++\r
-ifeq ($(strip $(USER_ROOT)),)\r
-USER_ROOT := $(PROJ_ROOT)\r
-endif\r
-$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))\r
-$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))\r
-\r
-# Individual C/C++\r
-ifneq ($(strip $(USER_EXT_C_KEYS)),)\r
-$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)))\r
-$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))))\r
-endif\r
-\r
-\r
-ifneq ($(strip $(USER_LIB_DIRS)),)\r
-_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS))\r
-_ENC_USER_LIB_DIRS := $(addprefix -L,$(_ENC_USER_LIB_DIRS))\r
-LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS))\r
-endif\r
-\r
-LIBS += $(addprefix -l,$(USER_LIBS))\r
-\r
-UOBJS += $(USER_OBJS)\r
-\r
-M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"\r
-\r
-DEPS := $(OBJS:.o=.d)\r
-\r
-ifneq ($(strip $(DEPS)),)\r
--include $(PROJ_ROOT)/Build/$(DEPS)\r
-endif\r
-\r
-\r
-ifeq ($(strip $(APPTYPE)),app)\r
-$(APPFILE) : $(OBJS) $(UOBJS)\r
-       @echo '  Building target: $@'\r
-       @echo '  Invoking: C/C++ Linker'\r
-       $(call MAKEDIRS,$(@D))\r
-#      $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath='$$ORIGIN/../lib' -Werror-implicit-function-declaration $(USER_LINK_OPTS)\r
-       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath='$$ORIGIN/../lib' -Werror-implicit-function-declaration $(USER_LINK_OPTS)\r
-       @echo '  Finished building target: $@'\r
-endif\r
-ifeq ($(strip $(APPTYPE)),staticLib)\r
-$(APPFILE) : $(OBJS) $(UOBJS)\r
-       @echo '  Building target: $@'\r
-       @echo '  Invoking: Archive utility'\r
-       $(call MAKEDIRS,$(@D))\r
-       $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) $(USER_LINK_OPTS)\r
-       @echo '  Finished building target: $@'\r
-endif\r
-ifeq ($(strip $(APPTYPE)),sharedLib)\r
-$(APPFILE) : $(OBJS) $(UOBJS)\r
-       @echo '  Building target: $@'\r
-       @echo '  Invoking: C/C++ Linker'\r
-       $(call MAKEDIRS,$(@D))\r
-       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) $(USER_LINK_OPTS)\r
-       @echo '  Finished building target: $@'\r
-endif\r
-\r
-\r
-$(OBJ_OUTPUT) :\r
-       $(call MAKEDIRS,$@)\r
-\r
-$(OUTPUT_DIR) :\r
-       $(call MAKEDIRS,$@)\r
-\r
-\r
-#ifneq ($(strip $(PLATFORM_INCS)),)\r
-#$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)\r
-#      @echo '  Building inc file: $@'\r
-#ifneq ($(findstring Windows,$(OS)),)\r
-#ifneq ($(findstring 3.82,$(MAKE_VERSION)),)\r
-#      $(file > $@,$(PLATFORM_INCS))\r
-#else\r
-#      @echo $(PLATFORM_INCS) > $@\r
-#endif\r
-#else\r
-#      @echo '$(PLATFORM_INCS)' > $@\r
-#endif\r
-#endif\r
-\r
-\r
-include $(BUILD_ROOT)/build_edc.mk\r
-\r
-#ifeq ($(strip $(ENVENTOR_SHARED_RES_PATH)),)\r
-ENVENTOR_SHARED_RES_PATH ?= $(ENVENTOR_PATH)/share/enventor\r
-#endif\r
-\r
-EDJ_FILES :=\r
-\r
-# Global EDCs\r
-ifneq ($(strip $(USER_EDCS)),)\r
-$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES))\r
-endif\r
-\r
-# Individual EDCs\r
-ifneq ($(strip $(USER_EXT_EDC_KEYS)),)\r
-$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES)))\r
-endif\r
-\r
-\r
-include $(BUILD_ROOT)/build_po.mk\r
-\r
-MO_FILES :=\r
-\r
-# Global POs\r
-ifneq ($(strip $(USER_POS)),)\r
-$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES))\r
-endif\r
-\r
-\r
-secondary-outputs : $(EDJ_FILES) $(MO_FILES)\r
-\r
--include appendix.mk\r
-\r
-app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs\r
-       @echo ========= done =========\r
-\r
-\r
-app_clean :\r
-       rm -f $(APPFILE)\r
-       rm -rf $(OUTPUT_DIR)\r
-\r
-build_version :\r
-       @echo makefile.mk : $(BUILD_SCRIPT_VERSION)\r
diff --git a/src/plusplayer-core/Build/platform.mk b/src/plusplayer-core/Build/platform.mk
deleted file mode 100755 (executable)
index 31248a9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# Add inputs and outputs from these tool invocations to the build variables\r
-\r
-SYSROOT = $(SBI_SYSROOT)\r
-\r
-#USR_INCS := $(addprefix -I "$(SYSROOT),$(PLATFORM_INCS_EX))\r
-USR_INCS1 := $(addsuffix ",$(PLATFORM_INCS_EX))\r
-USR_INCS := $(addprefix -I "$(SYSROOT),$(USR_INCS1))\r
-\r
-ifeq ($(strip $(PLATFORM_LIB_PATHS)),)\r
-RS_LIB_PATHS := "$(SYSROOT)/usr/lib"\r
-else\r
-RS_LIB_PATHS1 := $(addsuffix ",$(PLATFORM_LIB_PATHS))\r
-RS_LIB_PATHS := $(addprefix -L "$(SYSROOT),$(RS_LIB_PATHS1))\r
-endif\r
-\r
-RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))\r
-\r
-PLATFORM_INCS = $(USR_INCS) -I "$(SDK_PATH)/library"\r
diff --git a/src/plusplayer-core/Build/tooldef.mk b/src/plusplayer-core/Build/tooldef.mk
deleted file mode 100755 (executable)
index 7016cd6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-# Add inputs and outputs from these tool invocations to the build variables\r
-\r
-ifneq ($(strip $(SHELL_BIN)),)\r
-SHELL = $(SHELL_BIN)\r
-else\r
-SHELL = sh\r
-endif\r
-\r
-ifneq ($(strip $(MKDIR_BIN)),)\r
-MKDIR = $(MKDIR_BIN)\r
-MKDIR_OP = -p\r
-else\r
-MKDIR = mkdir\r
-MKDIR_OP = -p\r
-endif\r
-\r
-ifneq ($(strip $(UNAME_BIN)),)\r
-UNAME = $(UNAME_BIN)\r
-else\r
-UNAME = uname\r
-endif\r
-\r
-ifneq ($(strip $(M4_BIN)),)\r
-M4 = $(M4_BIN)\r
-else\r
-M4 = m4\r
-endif\r
-\r
-ifneq ($(strip $(TR_BIN)),)\r
-TR = $(TR_BIN)\r
-else\r
-TR = tr\r
-endif\r
-\r
-ifneq ($(strip $(FIND_BIN)),)\r
-FIND = $(FIND_BIN)\r
-else\r
-FIND = find\r
-endif\r
-\r
-ifneq ($(strip $(SED_BIN)),)\r
-SED = $(SED_BIN)\r
-else\r
-SED = sed\r
-endif\r
-\r
-ifneq ($(strip $(GREP_BIN)),)\r
-GREP = $(GREP_BIN)\r
-else\r
-GREP = grep\r
-endif\r
-\r
-ifneq ($(strip $(EDJE_CC_BIN)),)\r
-EDJE_CC = $(EDJE_CC_BIN)\r
-else\r
-EDJE_CC = edje_cc\r
-endif\r
-\r
-ifneq ($(strip $(MSGFMT_BIN)),)\r
-MSGFMT = $(MSGFMT_BIN)\r
-else\r
-MSGFMT = msgfmt\r
-endif\r
-\r
-ifneq ($(strip $(CKSUM_BIN)),)\r
-CKSUM = $(CKSUM_BIN)\r
-else\r
-CKSUM = cksum\r
-endif\r
-\r
old mode 100755 (executable)
new mode 100644 (file)
index 95c0912..b45c8be
@@ -12,12 +12,9 @@ SET(ADD_LIBS
 
 SET(${fw_name}_CXXFLAGS "-Wall -Werror -std=c++11 -fPIC -Wl,-z,relro -fstack-protector -DEFL_BETA_API_SUPPORT")
 
-SET(dependents "gstreamer-1.0 dlog gstreamer-ffsubtitle-1.0"
-               "boost"               
-               "context-aware-api"
-               "libtzplatform-config"
-               "drmdecrypt"
-               "logger")
+SET(dependents "gstreamer-1.0 dlog"
+               "boost"
+               "libtzplatform-config")
 
 INCLUDE(FindPkgConfig)
 
@@ -48,15 +45,9 @@ SET(CC_SRCS
   ${PROJECT_SOURCE_DIR}/src/gst_utils.cpp
   ${PROJECT_SOURCE_DIR}/src/error.cpp
   ${PROJECT_SOURCE_DIR}/src/serializer.cpp
-  ${PROJECT_SOURCE_DIR}/src/subtitle_attr_parser.cpp
   ${PROJECT_SOURCE_DIR}/src/plusplayer_cfg.cpp
   ${PROJECT_SOURCE_DIR}/src/trackrendereradapter.cpp
   ${PROJECT_SOURCE_DIR}/src/trackrendereradapter_utils.cpp
-  ${PROJECT_SOURCE_DIR}/src/kpi.cpp
-  ${PROJECT_SOURCE_DIR}/src/decodedvideopacketex.cpp
-  ${PROJECT_SOURCE_DIR}/src/videoframetypestrategy.cpp
-  ${PROJECT_SOURCE_DIR}/src/base64.cpp
-  ${PROJECT_SOURCE_DIR}/src/caf_logger.cpp
 )
 
 ADD_LIBRARY(${fw_name} SHARED ${CC_SRCS})
diff --git a/src/plusplayer-core/build_def.prop b/src/plusplayer-core/build_def.prop
deleted file mode 100755 (executable)
index d164d23..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-\r
-# Add pre/post build process\r
-PREBUILD_DESC = \r
-PREBUILD_COMMAND = \r
-POSTBUILD_DESC = \r
-POSTBUILD_COMMAND = 
\ No newline at end of file
diff --git a/src/plusplayer-core/include_internal/core/decodedvideorawmodepacket.h b/src/plusplayer-core/include_internal/core/decodedvideorawmodepacket.h
deleted file mode 100755 (executable)
index bb01d13..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-
-#ifndef __PLUSPLAYER_SRC_CORE_DECODED_RAW_MODE_PACKET_H__
-#define __PLUSPLAYER_SRC_CORE_DECODED_RAW_MODE_PACKET_H__
-
-#include <tbm_type_common.h>
-
-namespace plusplayer {
-
-enum class DecodedVideoRawModePacketType { kPhysicalAddress, kTizenBuffer };
-
-struct DecodedVideoRawModePacketRawData {
-  int y_phyaddr = 0;
-  int y_viraddr = 0;
-  int y_linesize = 0;
-  int uv_phyaddr = 0;
-  int uv_viraddr = 0;
-  int uv_linesize = 0;
-};
-struct DecodedVideoRawModePacketTBMData {
-  tbm_key key;
-};
-
-struct DecodedVideoRawModePacket {
-  DecodedVideoRawModePacketType type =
-      DecodedVideoRawModePacketType::kPhysicalAddress;
-  uint64_t pts = 0;
-  uint32_t width = 0;
-  uint32_t height = 0;
-  union Data {
-    DecodedVideoRawModePacketRawData raw;
-    DecodedVideoRawModePacketTBMData tbm;
-  } data = {.tbm = {0}};
-};
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_SRC_CORE_DECODED_RAW_MODE_PACKET_H__
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index 261857c..0517d02
@@ -13,7 +13,6 @@
 #include "gst/gst.h"
 // temporary until drmdecrypt platform interfaces are added into rootstrap
 #ifndef PLUPLAYER_DOWNLOADABLE_APP_TVPLUS
-#include <drmdecrypt/drmdecrypt_api.h>
 #endif
 
 #include "plusplayer/track.h"
@@ -26,8 +25,9 @@ class DecoderInputBuffer : private boost::noncopyable {
 
   static Ptr Create(const TrackType type = kTrackTypeMax,
                     const int index = kInvalidTrackIndex,
-                    GstBuffer* buffer = nullptr) {
-    return Ptr(new DecoderInputBuffer(buffer, type, index));
+                    GstBuffer* buffer = nullptr,
+                    GstCaps* caps = nullptr) {
+    return Ptr(new DecoderInputBuffer(buffer, type, index, caps));
   }
 
   DecoderInputBuffer() = delete;
@@ -37,9 +37,11 @@ class DecoderInputBuffer : private boost::noncopyable {
                                                   std::memory_order_acquire))
       ;  // spin until the lock is acquired
     if (buffer_) {
-      ReleaseTZHandle_(buffer_);
       gst_buffer_unref(buffer_);
     }
+
+    if (caps_)
+      gst_caps_unref(caps_);
     std::atomic_flag_clear_explicit(&buffer_lock_, std::memory_order_release);
   }
 
@@ -54,6 +56,8 @@ class DecoderInputBuffer : private boost::noncopyable {
 
   const bool IsEos() const { return is_eos_; }
 
+  const GstCaps* GetCaps() const { return caps_; }
+
   GstBuffer* Release() {
     while (std::atomic_flag_test_and_set_explicit(&buffer_lock_,
                                                   std::memory_order_acquire))
@@ -68,11 +72,13 @@ class DecoderInputBuffer : private boost::noncopyable {
 
  private:
   explicit DecoderInputBuffer(GstBuffer* buffer, const TrackType type,
-                              const int index)
+                              const int index, GstCaps *caps)
       : type_(type), index_(index) {
     if (buffer) {
       buffer_ = gst_buffer_ref(buffer);
       duration_ = GST_TIME_AS_MSECONDS(GST_BUFFER_DURATION(buffer_));
+      if (caps)
+        caps_ = gst_caps_ref(caps);
       if (type == kTrackTypeSubtitle) {
         GstMapInfo info;
         gst_buffer_map(buffer_, &info, GST_MAP_READ);
@@ -85,36 +91,6 @@ class DecoderInputBuffer : private boost::noncopyable {
     }
   }
 
-  void ReleaseTZHandle_(GstBuffer* buffer) {
-#ifndef PLUPLAYER_DOWNLOADABLE_APP_TVPLUS
-    GstStructure* tzqdata = GST_STRUCTURE(gst_mini_object_get_qdata(
-        GST_MINI_OBJECT(buffer),
-        g_quark_from_static_string("GstTzHandleData")));
-
-    if (tzqdata) {
-      gboolean ret = FALSE;
-      guint packet_handle = 0;
-      guint packet_size = 0;
-      handle_and_size_s ret_Handle;
-      memset(&ret_Handle, 0, sizeof(ret_Handle));
-
-      ret = gst_structure_get_uint(tzqdata, "packet_handle", &packet_handle);
-      if (FALSE == ret) {
-        return;
-      }
-
-      ret = gst_structure_get_uint(tzqdata, "packet_size", &packet_size);
-      if (FALSE == ret) {
-        return;
-      }
-
-      ret_Handle.handle = packet_handle;
-      ret_Handle.size = packet_size;
-      release_handle(&ret_Handle);
-    }
-#endif
-  }
-
  private:
   std::atomic_flag buffer_lock_ = ATOMIC_FLAG_INIT;
   const TrackType type_ = kTrackTypeMax;
@@ -123,6 +99,7 @@ class DecoderInputBuffer : private boost::noncopyable {
   GstBuffer* buffer_ = nullptr;
   uint32_t buffer_size_ = 0;
   uint64_t duration_ = 0;
+  GstCaps * caps_ = nullptr;
   const uint8_t* raw_data_ = nullptr;
 };
 
old mode 100755 (executable)
new mode 100644 (file)
index e2adbdd..c0bee8f
@@ -18,6 +18,9 @@ void ShowStateChangedMsg(GstMessage* msg, void* id = nullptr);
 void SetGstStateToNull(GstElement* pipeline, void* id = nullptr);
 const gchar* GetElementName(const GstMessage* msg);
 const gchar* GetKlass(const GstMessage* msg);
+GstElement* MakeElement(GstCaps * caps, GstElementFactoryListType type);
+GstElement* MakeCapsFilter(GstPad * pad, GstElementFactoryListType type, const char* klass_keyword);
+char** GetCookieList(const char* cookies);
 
 }  // namespace gst_util
 
diff --git a/src/plusplayer-core/include_internal/core/kpi.h b/src/plusplayer-core/include_internal/core/kpi.h
deleted file mode 100755 (executable)
index 83e8977..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// @ Copyright [2017] <S/W Platform, Visual Display, Samsung Electronics>
-//
-
-#ifndef __PLUSPLAYER_SRC_CORE_KPI_H__
-#define __PLUSPLAYER_SRC_CORE_KPI_H__
-
-#include <string>
-
-#include "plusplayer/drm.h"
-#include "plusplayer/types/source.h"
-
-namespace plusplayer {
-
-namespace kpi {
-
-struct CodecLoggerKeys {
-  SourceType src_type = SourceType::kNone;
-  drm::Type drm_type = drm::Type::kNone;
-  std::string container_type;
-  int v_decoder_type = 0; /**< (0:DEFAULT, 1:HW, 2:SW, 3:DISABLE) */
-  std::string v_codec;
-  unsigned int v_tag = 0;
-  int width = 0;
-  int height = 0;
-  int a_decoder_type = 0; /**< (0:DEFAULT, 1:HW, 2:SW, 3:DISABLE) */
-  std::string a_codec;
-  unsigned int a_tag = 0;
-  std::string app_id;
-};
-
-struct EsCodecLoggerKeys {
-  std::string app_id;
-  bool is_clean = true;  /**< (false:EME, true:MSE) */
-  int width = 0;
-  int height = 0;
-  std::string v_codec;
-  int v_codec_version;
-  std::string a_codec;
-};
-
-
-class CodecLogger {
- public:
-  CodecLogger() {};
-  ~CodecLogger() {};
-
-  bool SendKpi(bool event_case, const CodecLoggerKeys& keys);
-  bool SendKpi(bool event_case, const EsCodecLoggerKeys& keys);
- private:
-  bool SendKpi_(bool event_case, const std::stringstream& message);
-};
-
-}  // namespace kpi
-
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_SRC_CORE_KPI_H__
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index f5d2101..5287c35
 #include <memory>
 #include <vector>
 
-#include "core/decodedvideorawmodepacket.h"
 #include "core/decoderinputbuffer.h"
-#include "core/videoframetypestrategy.h"
 #include "plusplayer/appinfo.h"
-#include "plusplayer/audioeasinginfo.h"
 #include "plusplayer/drm.h"
 #include "plusplayer/track.h"
 #include "plusplayer/types/buffer.h"
 #include "plusplayer/types/display.h"
 #include "plusplayer/types/error.h"
 #include "plusplayer/types/event.h"
-#include "plusplayer/types/latency.h"
-#include "plusplayer/types/picturequality.h"
-#include "plusplayer/types/resource.h"
 #include "plusplayer/types/stream.h"
 
 namespace plusplayer {
@@ -50,6 +44,9 @@ class TrackRendererAdapter {
     kAudioQueueCurrentLevelByte,  // std::uint64_t
     kVideoMinByteThreshold,       // std::uint32_t
     kAudioMinByteThreshold,       // std::uint32_t
+    kVideoQueueMaxBuffer,         // std::uint64_t
+    kAudioQueueMaxBuffer,         // std::uint64_t
+#if 0
     kVideoQueueMaxTime,           // std::uint64_t
     kAudioQueueMaxTime,           // std::uint64_t
     kVideoQueueCurrentLevelTime,  // std::uint64_t
@@ -59,6 +56,7 @@ class TrackRendererAdapter {
     kVideoSupportRotation,        // std::unit32_t
     kVideoRenderTimeOffset,       // std::int64_t
     kAudioRenderTimeOffset,       // std::int64_t
+#endif
 
     /*attributes for trackrenderer configures*/
 
@@ -69,10 +67,11 @@ class TrackRendererAdapter {
     kVideoPreDisplayMode,       // std::uint32_t
     kStartRenderingTime,        // std::uint64_t
     kFmmMode,                   // std::uint32_t
+#if 0
     kAlternativeVideoResource,  // std::uint32_t
     kVideoDecodingMode,         // std::uint32_t
     kLateVideoFrameDropMode,    // std::uint32_t
-
+#endif
   };
 
   // TODO(js4716.chun):CHECK POINTS
@@ -81,7 +80,6 @@ class TrackRendererAdapter {
    public:
     virtual ~EventListener() {}
     virtual void OnError(const ErrorType& err_code) {}
-    virtual void OnErrorMsg(const ErrorType& error_code, char* error_msg) {}
     virtual void OnResourceConflicted() {}
     virtual void OnSeekDone() {}
     virtual void OnEos() {}
@@ -100,20 +98,9 @@ class TrackRendererAdapter {
     virtual void OnBufferStatus(const TrackType& type,
                                 const BufferStatus& status) {}
     virtual void OnSeekData(const TrackType& type, const uint64_t offset) {}
-    virtual void OnMediaPacketGetTbmBufPtr(void** tbm_ptr,
-                                           bool is_scale_change) {}
     virtual void OnMediaPacketVideoDecoded(const DecodedVideoPacket& packet) {}
-    virtual void OnMediaPacketVideoRawDecoded(
-        const DecodedVideoRawModePacket& packet) {}
     virtual void OnFlushDone() {}
     virtual void OnFirstDecodingDone() {}
-    virtual void OnVideoDecoderUnderrun() {}
-    virtual void OnVideoLatencyStatus(const LatencyStatus& latency_status) {}
-    virtual void OnAudioLatencyStatus(const LatencyStatus& latency_status) {}
-    virtual void OnVideoHighLatency() {}
-    virtual void OnAudioHighLatency() {}
-    virtual void OnMultiviewStartVideo() {}
-    virtual void OnMultiviewStopVideo() {}
   };
 
  public:
@@ -129,12 +116,12 @@ class TrackRendererAdapter {
   bool Resume();
   bool SetTrack(const std::vector<Track>& trackinfo);
   void SetIniProperty(const std::map<std::string, bool>& Properties);
+  void SetIniElement(const std::map<std::string, std::string>& elements);
   bool Seek(uint64_t time_millisecond, double playback_rate);
   bool Seek(uint64_t time_millisecond, double playback_rate, bool audio_mute);
   bool SetPlaybackRate(double playback_rate, bool audio_mute);
   bool GetPlayingTime(uint64_t* curtime_in_msec);
   bool GetDroppedFrames(void* counts);
-  bool GetDroppedFramesForCatchup(TrackType type, void* counts);
   bool Deactivate(TrackType type);
   bool Activate(TrackType type, const Track& track);
   bool SubmitPacket(const DecoderInputBufferPtr& data);
@@ -142,6 +129,7 @@ class TrackRendererAdapter {
   bool SubmitPacket2(const DecoderInputBufferPtr& data, SubmitStatus* status);
   void SetDrm(const drm::Property& drm_property);
   void DrmLicenseAcquiredDone(TrackType type);
+  void SetDrmLicenseKey(TrackType type, const std::string& key);
   bool SetDisplayMode(const DisplayMode& mode);
   bool SetDisplayRotate(const DisplayRotation& rotate);
   bool GetDisplayRotate(DisplayRotation* rotate);
@@ -150,11 +138,8 @@ class TrackRendererAdapter {
   bool SetDisplay(const DisplayType& type, void* obj);
   bool SetDisplay(const DisplayType& type, void* ecore_wl2_window, int x, int y,
                   int w, int h);
-  bool SetDisplaySubsurface(const DisplayType& type, void* ecore_wl2_subsurface,
-                            int x, int y, int w, int h);
   bool SetDisplayRoi(const Geometry& roi);
   bool SetVideoRoi(const CropArea& area);
-  bool ResizeRenderRect(const RenderRect& rect);
   bool SetDisplayVisible(bool is_visible);
   void GetDisplay(DisplayType* type, Geometry* area);
   void GetDisplayMode(DisplayMode* mode);
@@ -163,9 +148,6 @@ class TrackRendererAdapter {
   bool SetAudioMute(bool is_mute);
   bool SetVolume(const int& volume);
   bool GetVolume(int* volume);
-  bool SetCatchUpSpeed(const CatchUpSpeed& level);
-  bool GetVideoLatencyStatus(LatencyStatus* status);
-  bool GetAudioLatencyStatus(LatencyStatus* status);
 
   void RegisterListener(EventListener* listener);
   void RegisterListenerForEsplayer(EventListener* listener);
@@ -173,40 +155,17 @@ class TrackRendererAdapter {
   void SetAttribute(const Attribute& attr, const boost::any& value);
   TrackRendererState GetState();
   bool SetMatroskaColorInfo(const std::string& color_info);
-  void SetVideoFrameBufferType(VideoFrameTypeStrategyPtr strategy);
-  bool SetVideoFrameBufferScaleResolution(const uint32_t& target_width,
-                                          const uint32_t& target_height);
-  bool SetDecodedVideoFrameRate(const Rational& request_framerate);
+  void SetVideoFrameBufferType(const DecodedVideoFrameBufferType& type);
   bool Flush(const StreamType& type);
   bool Flush(const TrackType& type);
   void GetAttribute(const Attribute& attr, boost::any* value);
   bool RenderVideoFrame();
-  bool SetAiFilter(void* aifilter);
-  bool SetVideoMidLatencyThreshold(const unsigned int threshold);
-  bool SetAudioMidLatencyThreshold(const unsigned int threshold);
-  bool SetVideoHighLatencyThreshold(const unsigned int threshold);
-  bool SetAudioHighLatencyThreshold(const unsigned int threshold);
-  bool InitAudioEasingInfo(const uint32_t init_volume,
-                           const uint32_t init_elapsed_time,
-                           const AudioEasingInfo& easing_info);
-  bool UpdateAudioEasingInfo(const AudioEasingInfo& easing_info);
-  bool GetAudioEasingInfo(uint32_t* current_volume, uint32_t* elapsed_time,
-                          AudioEasingInfo* easing_info);
-  bool StartAudioEasing();
-  bool StopAudioEasing();
-  bool GetVirtualRscId(const RscType type, int* virtual_id);
-  bool SetAdvancedPictureQualityType(const AdvPictureQualityType type);
-  bool SetResourceAllocatePolicy(const RscAllocPolicy policy);
-  bool SetVideoParDar(uint64_t time_millisecond, uint32_t par_num,
-                      uint32_t par_den, uint32_t dar_num, uint32_t dar_den);
 
  private:
   TrackRendererAdapter();
   using UserData = void*;
   static void ErrorCb_(const TrackRendererErrorType error_code,
                        UserData userdata);
-  static void ErrorMsgCb_(const TrackRendererErrorType error_code,
-                          char* error_msg, UserData userdata);
   static void ResourceConflictCb_(UserData userdata);
 
   static void SeekDoneCb_(UserData userdata);
@@ -246,26 +205,9 @@ class TrackRendererAdapter {
   static void SeekDataCb_(const TrackRendererTrackType type,
                           const uint64_t offset, UserData userdata);
 
-  static void MediaPacketGetTbmBufPtrCb_(void** ptr, bool is_scale_change,
-                                         UserData userdata);
-
   static void MediaPacketVideoDecodedCb_(
       const TrackRendererDecodedVideoPacket* packet, UserData userdata);
 
-  static void MediaPacketVideoRawDecodedCb_(
-      const TrackRendererDecodedVideoRawModePacket* packet,
-      TrackRendererDecodedVideoType type, UserData userdata);
-
-  static void VideoDecoderUnderrunCb_(UserData userdata);
-  static void VideoLatencyStatusCb_(
-      const TrackRendererLatencyStatus latency_status, UserData userdata);
-  static void AudioLatencyStatusCb_(
-      const TrackRendererLatencyStatus latency_status, UserData userdata);
-  static void VideoHighLatencyCb_(UserData userdata);
-  static void AudioHighLatencyCb_(UserData userdata);
-  static void MultiviewStartVideoCb_(UserData userdata);
-  static void MultiviewStopVideoCb_(UserData userdata);
-
  private:
   using TrackRendererHandle = void*;
   TrackRendererHandle handle_ = nullptr;
old mode 100755 (executable)
new mode 100644 (file)
index 7c5ae43..cff4d82
@@ -8,22 +8,17 @@
 #include <cassert>
 
 #include "plusplayer/appinfo.h"
-#include "plusplayer/audioeasinginfo.h"
 #include "plusplayer/drm.h"
 #include "plusplayer/track.h"
 #include "plusplayer/types/buffer.h"
 #include "plusplayer/types/display.h"
 #include "plusplayer/types/error.h"
-#include "plusplayer/types/latency.h"
-#include "plusplayer/types/picturequality.h"
-#include "plusplayer/types/resource.h"
 #include "plusplayer/types/stream.h"
 #include "trackrenderer_capi/buffer.h"
 #include "trackrenderer_capi/decoderinputbuffer.h"
 #include "trackrenderer_capi/display.h"
 #include "trackrenderer_capi/drm.h"
 #include "trackrenderer_capi/error.h"
-#include "trackrenderer_capi/latency.h"
 #include "trackrenderer_capi/track.h"
 #include "trackrenderer_capi/trackrenderer_capi.h"
 
@@ -40,17 +35,10 @@ void MakeTrackRendererGeometry(TrackRendererGeometry* geometry,
                                const Geometry& roi);
 void MakeTrackRendererCropArea(TrackRendererCropArea* crop,
                                const CropArea& area);
-void MakeTrackRendererRenderRect(TrackRendererRenderRect* output,
-                                 const RenderRect& input);
 void MakeTrackRendererTrack(TrackRendererTrack* track, const Track& trackinfo);
 void MakeTrackRendererAppInfo(TrackRendererAppInfo* app_attr,
                               const PlayerAppInfo& app_info);
-void MakeTrackRendererAudioEasingInfo(TrackRendererAudioEasingInfo* easing_attr,
-                                      const AudioEasingInfo& easing_info);
-void MakeAudioEasingInfo(AudioEasingInfo* easing_info,
-                         const TrackRendererAudioEasingInfo& easing_attr);
-void MakeTrackRendererRational(TrackRendererRational* rational_attr,
-                               const Rational& rational_info);
+
 DisplayMode ConvertToDisplayMode(TrackRendererDisplayMode typevalue);
 DisplayType ConvertToDisplayType(const TrackRendererDisplayType typevalue);
 ErrorType ConvertToErrorType(const TrackRendererErrorType type);
@@ -78,26 +66,12 @@ TrackRendererStillMode ConvertToTrackRendererStillMode(
 TrackRendererTrackType ConvertToTrackRendererTrackType(const TrackType& type);
 TrackRendererTrackType ConvertToTrackRendererTrackTypeFromStreamType(
     const StreamType& type);
-TrackRendererCatchUpSpeed ConvertToTrackRendererCatchUpSpeed(
-    const CatchUpSpeed& level);
-LatencyStatus ConvertToLatencyStatus(const TrackRendererLatencyStatus& status);
 
 #ifndef TRACKRENDERER_FEATURE_DEPRECATE_SUBTITLE_CB
 boost::any SetSubtitleAttrValue(const TrackRendererSubtitleAttr& value);
 #endif
 
 BufferStatus ConvertToBufferStatus(const TrackRendererBufferStatus& status);
-AudioEasingType ConvertToAudioEasingType(
-    const TrackRendererAudioEasingType& type);
-TrackRendererAudioEasingType ConvertToTrackRendererAudioEasingType(
-    const AudioEasingType& type);
-bool ConvertToTrackRendererRscType(const RscType& typevalue,
-                                   TrackRendererRscType* type);
-bool ConvertToTrackRendererAdvPictureQualityType(
-    const AdvPictureQualityType& typevalue,
-    TrackRendererAdvPictureQualityType* type);
-bool ConvertToTrackRendererRscAllocPolicy(const RscAllocPolicy& policyvalue,
-                                          TrackRendererRscAllocPolicy* policy);
 }  // namespace adapter_utils
 
 }  // namespace plusplayer
diff --git a/src/plusplayer-core/include_internal/core/utils/base64.h b/src/plusplayer-core/include_internal/core/utils/base64.h
deleted file mode 100755 (executable)
index ca76b63..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-//\r
-// @ Copyright [2020] <S/W Platform,Visual Display,Samsung Electronics>\r
-//\r
-\r
-#ifndef __PLUSPLAYER_SRC_BASE64_H__\r
-#define __PLUSPLAYER_SRC_BASE64_H__\r
-\r
-#include <iostream>\r
-#include <map>\r
-#include <string>\r
-#include "core/utils/plusplayer_log.h"\r
-\r
-namespace plusplayer {\r
-namespace base64 {\r
-std::string Base64Encode(const char *str, const int size);\r
-\r
-std::string Base64Decode(const std::string str);\r
-}  // namespace base64\r
-\r
-}  // namespace plusplayer\r
-\r
-#endif  // __PLUSPLAYER_SRC_BASE64_H__\r
diff --git a/src/plusplayer-core/include_internal/core/utils/caf_logger.h b/src/plusplayer-core/include_internal/core/utils/caf_logger.h
deleted file mode 100755 (executable)
index 33a8218..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef _AVPLAY_CAF_LOGGER_H__\r
-#define _AVPLAY_CAF_LOGGER_H__\r
-\r
-#include <mutex>\r
-#include <queue>\r
-#include <string>\r
-#include <utility>\r
-#include <vector>\r
-#include <future>\r
-#include <map>\r
-#include <boost/core/noncopyable.hpp>\r
-#include <list>\r
-\r
-namespace plusplayer {\r
-\r
-  enum class CafEventType {\r
-    kNone = 0,\r
-    kStart,\r
-    kEnd,\r
-    kBitrate,\r
-    kBuffering,\r
-    kResolution,    \r
-    kStreamReady,\r
-    kIdle,\r
-    kReady,\r
-    kPlaying,\r
-    kPaused,\r
-    kEventMax\r
-  };\r
-\r
-  typedef struct _CafEventData {\r
-    CafEventType event_type;\r
-    std::string event_data;\r
-  }CafEventData;\r
-\r
-  class ContextAware  {\r
-    public:\r
-      ContextAware() {} \r
-      ~ContextAware() {}\r
-      bool InitService();    \r
-      void Write(std::string json_data);\r
-      bool FiniService();\r
-  };\r
-\r
-  class CafLogger {\r
-    private:\r
-      static CafLogger *instance_;\r
-      static std::shared_ptr<ContextAware> context_aware_;\r
-  \r
-      std::mutex object_lock_;\r
-      bool connected_to_dbus_;\r
-      bool msg_thread_stopped_;\r
-      std::queue<CafEventData> msg_queue_;\r
-      std::mutex msg_task_mutex_;\r
-      std::condition_variable msg_task_cv_;    \r
-      std::future<void> msg_handler_task_;\r
-      std::string app_id_;\r
-      int unique_number;\r
-      std::queue<int> using_instance_;\r
-\r
-      CafLogger();\r
-      std::string GetEventStrName_(CafEventType event_type);\r
-      std::string GetEventValueStrName_(CafEventType event_type);\r
-      std::string GetStateValueStrName_(CafEventType event_type);\r
-      void SendData_(CafEventData event);\r
-      void MsgTask_();\r
-      void StartMsgThread_();\r
-      void StopMsgThread_();\r
-      bool PushMessageToQueue_(CafEventType event_type, std::string data);\r
-      bool isConnected_();\r
-      bool Connect_();\r
-      bool Disconnect_();\r
-      void setAppId_(std::string app_id);\r
-      void setUniqueNumber_(int uniqueNumber);\r
-      int getUniqueNumber_();\r
-           \r
-    public:\r
-      static bool Initialize();\r
-      static bool LogMessage(CafEventType event_type, std::string data);\r
-      static void StartLoggingThread();\r
-      static void StopLoggingThread();\r
-      static void SetAppId(std::string app_id);\r
-      static void SetUniqueNumber();\r
-      static std::string GetUniqueNumber();\r
-      static void SetContextAware(std::shared_ptr<ContextAware>&& context_aware);\r
-      ~CafLogger();\r
-  };\r
-\r
-} //plusplayer\r
-\r
-#endif //_AVPLAY_CAF_LOGGER_H__\r
index 6308999..b580d1a 100755 (executable)
@@ -36,7 +36,7 @@ inline void PerfUsrTrace(const char* arg = nullptr) {
     if(strlen(arg) < (kBufSize - strlen(prefix_str))) {
       use_arg = true;
     }
-  }  
+  }
   snprintf(buf, kBufSize, "%s %s",prefix_str, (use_arg? arg : ""));
   prctl(PR_TASK_PERF_USER_TRACE, buf, strlen(buf));
 }
index c520886..4b6a781 100755 (executable)
@@ -8,7 +8,7 @@
 namespace plusplayer {
 
 namespace plusplayer_cfg {
-  
+
 const char* GetIniPath();
 
 } // namespace plusplayer_cfg
old mode 100755 (executable)
new mode 100644 (file)
index b8e2318..2469265
     } while (0);               \
   })
 
+#define SECURE_LOG_DEBUG(fmt, arg...)                            \
+({                                                                      \
+  do {                                                                 \
+    SECURE_LOGD(fmt,##arg);                                            \
+  } while (0);                                                       \
+})
+
 #define LOG_ENTER    \
   {                  \
     do {             \
diff --git a/src/plusplayer-core/include_internal/core/videoframetypestrategy.h b/src/plusplayer-core/include_internal/core/videoframetypestrategy.h
deleted file mode 100755 (executable)
index e8018fd..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-
-#ifndef __PLUSPLAYER_SRC_CORE_VIDEO_FRAME_TYPE_STRATEGY_H__
-#define __PLUSPLAYER_SRC_CORE_VIDEO_FRAME_TYPE_STRATEGY_H__
-
-#include <memory>
-
-#include "plusplayer/types/buffer.h"
-
-namespace plusplayer {
-struct VideoFrameTypeStrategy {
-  using TrackRendererHandle = void*;
-  virtual ~VideoFrameTypeStrategy() = default;
-  virtual void SetType(TrackRendererHandle handle) = 0;
-};
-
-using VideoFrameTypeStrategyPtr = std::unique_ptr<VideoFrameTypeStrategy>;
-
-class DefaultVideoFrameTypeStrategy : public virtual VideoFrameTypeStrategy {
- public:
-  explicit DefaultVideoFrameTypeStrategy(
-      const DecodedVideoFrameBufferType type);
-  virtual ~DefaultVideoFrameTypeStrategy() = default;
-  virtual void SetType(TrackRendererHandle handle) override;
-
- private:
-  const DecodedVideoFrameBufferType type_;
-};
-
-class RawVideoFrameTypeStrategy : public virtual VideoFrameTypeStrategy {
- public:
-  explicit RawVideoFrameTypeStrategy() = default;
-  virtual ~RawVideoFrameTypeStrategy() = default;
-  virtual void SetType(TrackRendererHandle handle);
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_SRC_CORE_VIDEO_FRAME_TYPE_STRATEGY_H__
\ No newline at end of file
diff --git a/src/plusplayer-core/project_def.prop b/src/plusplayer-core/project_def.prop
deleted file mode 100755 (executable)
index 95f2f9c..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-\r
-# Project Name\r
-APPNAME = plusplayercore_tvplus\r
-\r
-# Project Type\r
-type = sharedLib\r
-\r
-# Project Profile\r
-profile = tv-samsung-5.0\r
-\r
-# C/CPP Sources\r
-USER_SRCS = src/decoderinputbuffer.cpp src/error.cpp src/gstobject_guard.cpp src/gstsignal_holder.cpp src/gst_utils.cpp src/plusplayer_cfg.cpp src/serializer.cpp src/subtitle_attr_parser.cpp src/trackrendereradapter.cpp src/trackrendereradapter_utils.cpp src/track_util.cpp \r
-\r
-# EDC Sources\r
-USER_EDCS =  \r
-\r
-# PO Sources\r
-USER_POS = \r
-\r
-# User Defines\r
-USER_DEFS = \r
-USER_CPP_DEFS = TIZEN_DEPRECATION DEPRECATION_WARNING \r
-\r
-# User Undefines\r
-USER_UNDEFS = \r
-USER_CPP_UNDEFS = \r
-\r
-# User Libraries\r
-USER_LIBS = gstsubtitle_tvplus\r
-\r
-# User Objects\r
-USER_OBJS = \r
-\r
-# User Includes\r
-## C Compiler\r
-USER_C_INC_DIRS = \r
-USER_INC_FILES = \r
-## C++ Compiler\r
-USER_CPP_INC_DIRS = include_internal ../../include ../../../gst-plugins-subtitleparser/subtitle/include_internal\r
-USER_CPP_INC_FILES = \r
-\r
-USER_INC_DIRS = $(USER_C_INC_DIRS) $(USER_CPP_INC_DIRS)\r
-\r
-# User Library Path\r
-USER_LIB_DIRS = ../../../gst-plugins-subtitleparser/subtitle/${BUILD_CONFIG} \r
-\r
-# EDC Resource Path\r
-USER_EDCS_IMAGE_DIRS = ${OUTPUT_DIR} \r
-USER_EDCS_SOUND_DIRS = ${OUTPUT_DIR} \r
-USER_EDCS_FONT_DIRS = ${OUTPUT_DIR} \r
-\r
-# EDC Flags\r
-USER_EXT_EDC_KEYS = \r
-\r
-# Resource Filter\r
-USER_RES_INCLUDE = \r
-USER_RES_EXCLUDE = \r
-\r
diff --git a/src/plusplayer-core/src/base64.cpp b/src/plusplayer-core/src/base64.cpp
deleted file mode 100755 (executable)
index 083b8c3..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-//\r
-// @ Copyright [2020] <S/W Platform,Visual Display,Samsung Electronics>\r
-//\r
-\r
-#ifndef __PLUSPLAYER_SRC_BASE64_H__\r
-#define __PLUSPLAYER_SRC_BASE64_H__\r
-\r
-#include <iostream>\r
-#include <map>\r
-#include <string>\r
-#include "core/kpi.h"\r
-#include "core/utils/plusplayer_log.h"\r
-\r
-namespace plusplayer {\r
-  namespace base64 {\r
-std::string Base64Encode(const char *str, const int size) {\r
-  LOG_ENTER\r
-  static const std::string sBase64Table =\r
-      "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\r
-  static const char cFillChar = '=';\r
-  std::string sResult;\r
-\r
-  // Allocate memory for the converted string\r
-  sResult.reserve(size * 8 / 6 + 1);\r
-\r
-  for (int nPos = 0; nPos < size; nPos++) {\r
-    char cCode = (str[nPos] >> 2) & 0x3F;\r
-    // Encode the first 6 bits\r
-    sResult.append(1, sBase64Table[cCode]);\r
-    // Encode the remaining 2 bits with the next 4 bits (if present)\r
-    cCode = (str[nPos] << 4) & 0x3F;\r
-\r
-    if (++nPos < size) {\r
-      cCode |= (str[nPos] >> 4) & 0x0F;\r
-    }\r
-\r
-    sResult.append(1, sBase64Table[cCode]);\r
-\r
-    if (nPos < size) {\r
-      cCode = (str[nPos] << 2) & 0x3F;\r
-\r
-      if (++nPos < size) {\r
-        cCode |= (str[nPos] >> 6) & 0x03;\r
-      }\r
-\r
-      sResult.append(1, sBase64Table[cCode]);\r
-    } else {\r
-      ++nPos;\r
-      sResult.append(1, cFillChar);\r
-    }\r
-\r
-    if (nPos < size) {\r
-      cCode = str[nPos] & 0x3F;\r
-      sResult.append(1, sBase64Table[cCode]);\r
-    } else {\r
-      sResult.append(1, cFillChar);\r
-    }\r
-  }\r
-\r
-  LOG_INFO("Base64Encode output str %s", sResult.c_str());\r
-  LOG_LEAVE\r
-\r
-  return sResult;\r
-}\r
-\r
-std::string Base64Decode(const std::string str) {\r
-  // LOG_ENTER\r
-  std::string destr;\r
-  const int strLen = str.size();\r
-\r
-  static const char arr[] = {// insert from 'A' to 'Z'\r
-                             65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,\r
-                             78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,\r
-                             // insert from 'a' to 'z'\r
-                             97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,\r
-                             108, 109, 110, 111, 112, 113, 114, 115, 116, 117,\r
-                             118, 119, 120, 121, 122,\r
-                             // insert from '0' to '9'\r
-                             48, 49, 50, 51, 52, 53, 54, 55, 56, 57,\r
-                             // insert '+' and '/'\r
-                             43, 47};\r
-  const int size = static_cast<int>(sizeof(arr) / sizeof(char));\r
-  static std::map<char, int> base64EncodeMap;\r
-\r
-  if (base64EncodeMap.size() == 0)\r
-    for (int i = 0; i < size; i++)\r
-      base64EncodeMap.insert(std::pair<char, int>(arr[i], i));\r
-\r
-  LOG_INFO("Base64decode inconming str len %d ", strLen);\r
-\r
-  if (strLen % 4 != 0) {\r
-    // input string size must be multiple of 4\r
-    LOG_INFO("Quit base64decode for strlen error");\r
-    return destr;\r
-  }\r
-\r
-  if (strLen > 0) {\r
-    int pos = 0;\r
-    std::string subStr;\r
-    int encodePrev[4] = {0, 0, 0, 0};\r
-    int encodeEnd[3] = {0, 0, 0};\r
-\r
-    while (pos < strLen) {\r
-      subStr = str.substr(pos, 4);\r
-      int i = 0;\r
-\r
-      for (const auto &c : subStr) encodePrev[i++] = base64EncodeMap[c];\r
-\r
-      encodeEnd[0] = (encodePrev[0] << 2) | (encodePrev[1] >> 4);\r
-      encodeEnd[1] = (encodePrev[1] << 4) | (encodePrev[2] >> 2);\r
-      encodeEnd[2] = (encodePrev[2] << 6) | encodePrev[3];\r
-      destr.push_back(static_cast<char>(encodeEnd[0]));\r
-      destr.push_back(static_cast<char>(encodeEnd[1]));\r
-      destr.push_back(static_cast<char>(encodeEnd[2]));\r
-      pos += 4;\r
-    }\r
-  }\r
-\r
-  // base64 data contain "=" case\r
-  int count = 0;\r
-\r
-  for (int i = str.size() - 1; i >= 0; --i) {\r
-    if (str[i] == '=')\r
-      count++;\r
-    else\r
-      break;\r
-  }\r
-\r
-  LOG_INFO("[*] num of [=] ( %d )", count);\r
-\r
-  if (count > 2) {\r
-    LOG_INFO("[ERROR] num of = should less than two( %d )", count);\r
-    destr.clear();\r
-  } else if (count > 0) {\r
-    destr.erase(destr.size() - count, count);\r
-  }\r
-\r
-  LOG_INFO("Base64Decode output str %d", destr.size());\r
-  LOG_LEAVE\r
-  return destr;\r
-}\r
-  }\r
-\r
-}  // namespace plusplayer\r
-\r
-// base64 rfs ut\r
-// int main()\r
-// {\r
-//   std::cout <<"test"<<std::endl;\r
-//   std::map<std::string,std::string> RFC_test;//RFC 4648  tc\r
-//   RFC_test.insert(std::pair<std::string,std::string>("",""));\r
-//   RFC_test.insert(std::pair<std::string,std::string>("f","Zg=="));\r
-//   RFC_test.insert(std::pair<std::string,std::string>("fo","Zm8="));\r
-//   RFC_test.insert(std::pair<std::string,std::string>("foo","Zm9v"));\r
-//   RFC_test.insert(std::pair<std::string,std::string>("foob","Zm9vYg=="));\r
-//   RFC_test.insert(std::pair<std::string,std::string>("fooba","Zm9vYmE="));\r
-//   RFC_test.insert(std::pair<std::string,std::string>("foobar","Zm9vYmFy"));\r
-//   std::map<std::string,std::string>::iterator iter;\r
-\r
-//   for (iter = RFC_test.begin(); iter != RFC_test.end(); iter++)\r
-//   {\r
-//     std::string encodedstr =\r
-//     Base64Encode(iter->first.c_str(),iter->first.length());\r
-//     if(0!=encodedstr.compare(iter->second))\r
-//     {\r
-//       std::cout << "error encode test tc [" + iter->first +"] user result["+\r
-//       encodedstr + "] refer["+iter->second+"]";\r
-//     }\r
-//   }\r
-//   for (iter = RFC_test.begin(); iter != RFC_test.end(); iter++)\r
-//   {\r
-//     std::string decodedstr = Base64Decode(iter->second );\r
-//     if(0!=decodedstr.compare(iter->first))\r
-//     {\r
-//       std::cout << "error decode test tc [" + iter->second +"] user result["+\r
-//       decodedstr + "] refer["+iter->first+"]";\r
-//     }\r
-//   }\r
-\r
-// }\r
-#endif  // __PLUSPLAYER_SRC_BASE64_H__\r
diff --git a/src/plusplayer-core/src/caf_logger.cpp b/src/plusplayer-core/src/caf_logger.cpp
deleted file mode 100755 (executable)
index 62c3195..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-#define _TAG "plusplayer"\r
-#include "core/utils/caf_logger.h"\r
-#include "core/utils/plusplayer_log.h"\r
-#include "context-aware-api.h"\r
-#include "ContextData.h"\r
-#include "json/json.h"\r
-#define SUBJECT_RAW_STREAMING_EVENT   "I/Raw/Streaming/Event"\r
-\r
-namespace plusplayer {\r
-\r
-CafLogger* CafLogger::instance_ = NULL;\r
-std::shared_ptr<ContextAware> CafLogger::context_aware_ = NULL;\r
-\r
-std::string EventStrName[] = {"None","Start", "End", "BitRate", "Buffering", "Resolution"};\r
-\r
-bool ContextAware::InitService()  {\r
-   return ContextAware_InitService();\r
-}     \r
-\r
-void ContextAware::Write(std::string json_data) {\r
-  return ContextAware_WriteRawStreamingEvent(json_data.c_str());\r
-}\r
-\r
-bool ContextAware::FiniService() {\r
-   return ContextAware_FiniService();\r
-} \r
-\r
-CafLogger::CafLogger() {\r
-  LOG_ENTER;\r
-  connected_to_dbus_ = false;\r
-  std::lock_guard<std::mutex> guard(object_lock_);\r
-\r
-  if(context_aware_ == NULL) {\r
-     context_aware_ = std::make_shared<ContextAware>();\r
-  }\r
-  \r
-  if(context_aware_ != NULL)\r
-    connected_to_dbus_ = context_aware_->InitService();\r
-  msg_thread_stopped_ = true;\r
-  app_id_ = "Unknown";\r
-  unique_number = -1;\r
-  if(connected_to_dbus_)\r
-    LOG_INFO("CAF initialized successfully.");\r
-  else\r
-    LOG_ERROR("CAF initialization FAILED.");\r
\r
-  LOG_LEAVE;\r
-}\r
-\r
-CafLogger::~CafLogger() {\r
-  LOG_ENTER;\r
-  std::lock_guard<std::mutex> guard(object_lock_);\r
-  StopMsgThread_();\r
-  if(connected_to_dbus_ == true && context_aware_ != NULL)\r
-  {\r
-    connected_to_dbus_ = context_aware_->FiniService();\r
-  }\r
-    \r
-  if(!connected_to_dbus_)\r
-    LOG_INFO("CAF finished successfully.");\r
-  LOG_LEAVE;\r
-}\r
-\r
-std::string CafLogger::GetEventStrName_(CafEventType event_type) {\r
-  if(event_type > CafEventType::kNone && event_type < CafEventType::kEventMax)\r
-    return EventStrName[(int)event_type];\r
-  return "";\r
-}\r
-\r
-std::string CafLogger::GetEventValueStrName_(CafEventType event_type) {\r
-  switch(event_type) {\r
-    case CafEventType::kBitrate: return "BitRateValue";\r
-    case CafEventType::kResolution: return "ResolutionValue";\r
-    case CafEventType::kBuffering: return "BufferingValue";\r
-    default:\r
-        return "";\r
-  }\r
-}\r
-\r
-std::string CafLogger::GetStateValueStrName_(CafEventType event_type) {\r
-  switch(event_type) {\r
-    case CafEventType::kStreamReady: return "StreamReady";\r
-    case CafEventType::kIdle: return "Idle";\r
-    case CafEventType::kReady: return "Ready";\r
-    case CafEventType::kPlaying: return "Playing";\r
-    case CafEventType::kPaused: return "Paused";\r
-    default:\r
-        return "";\r
-  }\r
-}\r
-\r
-void CafLogger::SendData_(CafEventData event) {\r
-  LOG_ENTER;\r
-  ContextData cafData;\r
-  cafData.SetValue("Appid",app_id_);\r
-  switch(event.event_type) {\r
-    case CafEventType::kStart: cafData.SetValue("Event", "Start");break;\r
-    case CafEventType::kEnd: cafData.SetValue("Event", "End");break;\r
-    case CafEventType::kBuffering: /* FALL THROUGH */\r
-    //case CafEventType::kResolution: /* FALL THROUGH */\r
-    case CafEventType::kBitrate: {\r
-      std::string event_name = GetEventStrName_(event.event_type);\r
-      cafData.SetValue("Event", event_name);\r
-      std::string event_value_name = GetEventValueStrName_(event.event_type);\r
-      cafData.SetValue(event_value_name.c_str(), event.event_data);\r
-    }break;\r
-    case CafEventType::kStreamReady: /* FALL THROUGH */\r
-    case CafEventType::kIdle: /* FALL THROUGH */\r
-    case CafEventType::kReady: /* FALL THROUGH */\r
-    case CafEventType::kPlaying: /* FALL THROUGH */\r
-    case CafEventType::kPaused: {\r
-      cafData.SetValue("UniqueId", event.event_data);\r
-      std::string state_value_name = GetStateValueStrName_(event.event_type);\r
-      cafData.SetValue("PlayerState", state_value_name.c_str());\r
-    }break;\r
-    default:\r
-      return;\r
-  }\r
-  LOG_ERROR("all eventdata message [%s]", cafData.MakeStr());\r
-  if(context_aware_ != NULL)  \r
-    context_aware_->Write(cafData.MakeStr());\r
-  LOG_LEAVE;\r
-}\r
-\r
-void CafLogger::MsgTask_() {\r
-LOG_ENTER;\r
-std::unique_lock<std::mutex> msg_mutex(msg_task_mutex_);\r
-  do{\r
-    if(msg_queue_.empty())\r
-      msg_task_cv_.wait(msg_mutex);\r
-    if(!msg_queue_.empty()) {\r
-      CafEventData eventData = msg_queue_.front();\r
-      SendData_(eventData);\r
-      msg_queue_.pop();\r
-    }\r
-  } while(!msg_thread_stopped_);\r
-  LOG_LEAVE;\r
-}\r
-\r
-void CafLogger::StartMsgThread_() {\r
-  LOG_ENTER;\r
-  std::lock_guard<std::mutex> guard(object_lock_);\r
-  if(msg_thread_stopped_) {\r
-    using_instance_.push(unique_number);\r
-    msg_thread_stopped_ = false;\r
-    msg_handler_task_ = std::async(std::launch::async, &CafLogger::MsgTask_, this);\r
-  }\r
-  LOG_LEAVE;\r
-}\r
-\r
-void CafLogger::StopMsgThread_() {\r
-  LOG_ENTER;\r
-  \r
-  if(msg_thread_stopped_) return;\r
-\r
-  using_instance_.pop();\r
-\r
-  if(msg_handler_task_.valid() && using_instance_.empty()) {\r
-    std::unique_lock<std::mutex> msg_mutex(msg_task_mutex_);\r
-    msg_thread_stopped_ = true;\r
-    msg_task_cv_.notify_one();\r
-    msg_mutex.unlock();\r
-    msg_handler_task_.wait();\r
-  }\r
-  LOG_LEAVE;\r
-}\r
-\r
-bool CafLogger::PushMessageToQueue_(CafEventType event_type, std::string data) {\r
-  LOG_ENTER;\r
-  bool ret = false;\r
-  std::lock_guard<std::mutex> guard(object_lock_);\r
-  if(msg_handler_task_.valid()) {\r
-    CafEventData event;\r
-    event.event_type = event_type;\r
-    event.event_data = data;\r
-    std::unique_lock<std::mutex> msg_mutex(msg_task_mutex_);\r
-    msg_queue_.push(event);\r
-    msg_mutex.unlock();\r
-    msg_task_cv_.notify_one();\r
-    ret = true;\r
-  }\r
-  LOG_LEAVE;\r
-  return ret;\r
-}\r
-\r
-bool CafLogger::Connect_() {\r
-  LOG_ENTER;\r
-  std::lock_guard<std::mutex> guard(object_lock_);\r
-  if(!connected_to_dbus_ && context_aware_ != NULL)\r
-    connected_to_dbus_ = context_aware_->InitService();\r
-  LOG_LEAVE;\r
-  return connected_to_dbus_;\r
-}\r
-\r
-bool CafLogger::Disconnect_() {\r
-  LOG_ENTER;\r
-  std::lock_guard<std::mutex> guard(object_lock_);\r
-  /*first stop message thread, then disconnect. */\r
-  \r
-  StopMsgThread_();\r
-  LOG_INFO("Disconnecting to DBus.");\r
-  if(connected_to_dbus_ && context_aware_ != NULL)\r
-    connected_to_dbus_ = context_aware_->FiniService();\r
-  if(!connected_to_dbus_)\r
-    LOG_INFO("Disconnecting to DBus FAILED.");\r
-  connected_to_dbus_ = false;\r
-  LOG_LEAVE;\r
-  return true;\r
-}\r
-\r
-bool CafLogger::isConnected_() {\r
-  return connected_to_dbus_;\r
-}\r
-\r
-void CafLogger::setAppId_(std::string app_id) {\r
-  app_id_ = app_id;\r
-}\r
-\r
-void CafLogger::setUniqueNumber_(int uniqueNumber) {\r
-  unique_number = uniqueNumber;\r
-}\r
-\r
-int CafLogger::getUniqueNumber_() {\r
-  return unique_number;\r
-}\r
-/********   STATIC FUNCTIONS ****************/\r
-\r
-bool CafLogger::Initialize() {\r
-  LOG_ENTER;\r
-\r
-  if(instance_ == NULL) {\r
-     instance_ = new CafLogger();\r
-  }\r
-  LOG_LEAVE;\r
-  return instance_->isConnected_();\r
-}\r
-\r
-bool CafLogger::LogMessage(CafEventType event_type, std::string data) {\r
-  LOG_ENTER;\r
-  bool ret = false;\r
-#ifndef SDK_DISABLED_FEATURE  \r
-  if(instance_ != NULL && instance_->isConnected_()) {\r
-    ret = instance_->PushMessageToQueue_(event_type, data);\r
-  }\r
-#endif\r
-  LOG_LEAVE;\r
-  return ret;\r
-}\r
-\r
-void CafLogger::StartLoggingThread() {\r
-  LOG_ENTER;\r
-  if(instance_ != NULL)\r
-    instance_->StartMsgThread_();\r
-  LOG_LEAVE;\r
-}\r
-\r
-void CafLogger::StopLoggingThread() {\r
-  LOG_ENTER;\r
-  if(instance_ != NULL)\r
-    instance_->StopMsgThread_();\r
-  LOG_LEAVE;\r
-}\r
-\r
-void CafLogger::SetAppId(std::string app_id) {\r
-  LOG_ENTER;\r
-  if(instance_ != NULL)\r
-    instance_->setAppId_(app_id);\r
-  LOG_LEAVE;\r
-}\r
-\r
-void CafLogger::SetUniqueNumber()\r
-{\r
-  LOG_ENTER;\r
-    int id = -1;\r
-    if(instance_ != NULL)\r
-    {\r
-      id = instance_->getUniqueNumber_();\r
-      instance_->setUniqueNumber_(++id);\r
-    }\r
-  LOG_LEAVE;\r
-}\r
-std::string CafLogger::GetUniqueNumber()\r
-{\r
-  LOG_ENTER;\r
-  int id = -1;\r
-  std::string uniqueNumber;\r
-  if(instance_ != NULL)\r
-  {    \r
-    id = instance_->getUniqueNumber_();\r
-    uniqueNumber = std::to_string(getpid()) + "_" + std::to_string(id);\r
-  }\r
-  LOG_LEAVE;\r
-  return uniqueNumber;\r
-}\r
-\r
-void CafLogger::SetContextAware(std::shared_ptr<ContextAware>&& context_aware)\r
-{\r
-  LOG_ENTER;  \r
-  context_aware_ = context_aware;\r
-  LOG_LEAVE;  \r
-} \r
-\r
-} //plusplayer
\ No newline at end of file
diff --git a/src/plusplayer-core/src/decodedvideopacketex.cpp b/src/plusplayer-core/src/decodedvideopacketex.cpp
deleted file mode 100755 (executable)
index 68b0f5a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-
-#include "plusplayer/decodedvideopacketex.h"
-
-namespace plusplayer {
-
-  DecodedVideoPacketExPtr DecodedVideoPacketEx::Create(const uint64_t pts,
-                      const uint64_t duration, tbm_surface_h surface_data,
-                      const void* scaler_index) {
-    return Ptr(new DecodedVideoPacketEx(pts, duration, surface_data, scaler_index));
-  }
-
-  DecodedVideoPacketEx::~DecodedVideoPacketEx() {
-    if (surface_data_) {
-      tbm_surface_destroy(surface_data_);
-      surface_data_ = nullptr;
-    }
-  }
-}  // namespace plusplayer
old mode 100755 (executable)
new mode 100644 (file)
index 6111a46..a6fb4c7
@@ -7,6 +7,7 @@
 #include <thread>
 
 #include "core/utils/plusplayer_log.h"
+#include "core/gstobject_guard.h"
 
 namespace plusplayer {
 
@@ -51,15 +52,34 @@ const gchar* GetKlass(const GstMessage* msg) {
   return gst_element_factory_get_klass(factory);
 }
 
+namespace internal {
+  void DisableGstPlugin(const std::string& plugin_name) {
+    LOG_INFO("disabling gst plugin [%s]", plugin_name.c_str());
+    GstRegistry *registry = gst_registry_get ();
+    if (!registry) {
+      LOG_ERROR("failed to get registry");
+      return;
+    }
+    GstElementFactory *factory = gst_element_factory_find (plugin_name.c_str());
+    if (!factory) {
+      LOG_DEBUG("gst plugin not found [%s]", plugin_name.c_str());
+      return;
+    }
+    gst_plugin_feature_set_rank (GST_PLUGIN_FEATURE (factory), GST_RANK_NONE);
+    gst_registry_add_feature (registry, GST_PLUGIN_FEATURE (factory));
+  }
+}
+
 void GstInit() {
   gst_init(NULL,NULL);
 }
 
 void GstInit(const Json::Value& root) {
-  int argc = 1;
+  int argc = 0;
   char* argv[6]{
       nullptr,
   };
+  argv[argc++] = const_cast<char*>("Plusplayer");
   std::string gstparam1 = root.get("gstparam1", "").asString();
   argv[argc++] = const_cast<char*>(gstparam1.c_str());
   std::string gstparam2 = root.get("gstparam2", "").asString();
@@ -76,6 +96,185 @@ void GstInit(const Json::Value& root) {
   }
   char** pargv = argv;
   gst_init(&argc, &pargv);
+
+  /* disable gst plugins */
+  auto plugins = root.get("gst_plugins_disable", Json::arrayValue);
+  if (plugins.isArray()) {
+    for(auto plugin: plugins) {
+      std::string plugin_name = plugin.asString();
+      internal::DisableGstPlugin(plugin_name);
+    }
+  } else {
+    LOG_ERROR("'gst_plugins_disable' not an array [%s]", plugins.asString().c_str());
+  }
+}
+
+namespace internal {
+GList* GetFactories(GstCaps * caps, GstElementFactoryListType type) {
+  GList *factories = nullptr;
+  GList *filtered = nullptr;
+
+  auto caps_str = gstguard::make_guard(gst_caps_to_string(caps));
+  LOG_INFO("requesting factories for caps [%s]", caps_str.get());
+
+  /* return all compatible factories for caps */
+  factories =
+    gst_element_factory_list_get_elements (type, GST_RANK_MARGINAL);
+  if (factories) {
+    filtered = gst_element_factory_list_filter (factories, caps, GST_PAD_SINK,
+                                                gst_caps_is_fixed (caps));
+    gst_plugin_feature_list_free(factories);
+  }
+  if (!filtered)
+    LOG_ERROR("failed to get factories");
+
+  return filtered;
+}
+} //namespace internal
+
+GstElement* MakeElement(GstCaps * caps, GstElementFactoryListType type) {
+  GList *factories = nullptr;
+  GstElementFactory *factory = nullptr;
+  GstElement *element = nullptr;
+
+  auto caps_str = gstguard::make_guard(gst_caps_to_string(caps));
+  LOG_INFO("requesting factories for caps [%s]", caps_str.get());
+
+  factories = internal::GetFactories((GstCaps*)caps, type);
+  if (!factories) {
+    LOG_ERROR("failed to get factories");
+    return nullptr;
+  }
+
+  factory = GST_ELEMENT_FACTORY_CAST(factories->data);
+
+  LOG_INFO("Klass [%s] Factory [%s]",
+    gst_element_factory_get_klass(factory), GST_OBJECT_NAME(factory));
+  element = gst_element_factory_create (factory, NULL);
+  gst_plugin_feature_list_free (factories);
+
+  if (!element) {
+    LOG_ERROR("failed to make element");
+    return nullptr;
+  }
+
+  return element;
+}
+
+GstElement* MakeCapsFilter(GstPad * pad, GstElementFactoryListType type, const char* klass_keyword) {
+  GList *factories = nullptr;
+  GList *tmp = nullptr;
+  GstCaps *caps = nullptr;
+  GstCaps *filter_caps = nullptr;
+  GstElement *element = nullptr;
+  if (!pad) {
+    LOG_ERROR("invalid input : pad is null");
+    return nullptr;
+  }
+
+  caps = gst_pad_get_current_caps (pad);
+  if (!caps) {
+    LOG_ERROR ("there is no current caps, use query caps");
+    caps = gst_pad_query_caps (pad, nullptr);
+  }
+
+  auto caps_str = gstguard::make_guard(gst_caps_to_string(caps));
+  LOG_INFO("[%s:%s][%s]", GST_DEBUG_PAD_NAME(pad), caps_str.get());
+  LOG_DEBUG("factory keyword : %s", klass_keyword);
+
+  factories = internal::GetFactories((GstCaps*)caps, type);
+  if (!factories) {
+    LOG_ERROR("there is no factories");
+    gst_caps_unref (caps);
+    return nullptr;
+  }
+
+  LOG_DEBUG ("factory len %d", g_list_length(factories));
+  filter_caps = gst_caps_new_empty ();
+
+  for (tmp = factories; tmp; tmp = tmp->next) {
+    GstCaps *tcaps, *intersection;
+    const GList *tmps;
+    GstElementFactory *factory = GST_ELEMENT_FACTORY_CAST (tmp->data);
+
+    if (factory) {
+      const gchar *klass = gst_element_factory_get_metadata(factory, GST_ELEMENT_METADATA_KLASS);
+
+      if (!g_strrstr(klass, klass_keyword))
+        continue;
+
+      LOG_DEBUG ("Trying factory %s",
+          gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+
+      for (tmps = gst_element_factory_get_static_pad_templates (factory); tmps;
+          tmps = tmps->next) {
+        GstStaticPadTemplate *st = (GstStaticPadTemplate *) tmps->data;
+        if (st->direction != GST_PAD_SINK || st->presence != GST_PAD_ALWAYS)
+          continue;
+        tcaps = gst_static_pad_template_get_caps (st);
+        intersection =
+            gst_caps_intersect_full (tcaps, caps, GST_CAPS_INTERSECT_FIRST);
+        filter_caps = gst_caps_merge (filter_caps, intersection);
+        gst_caps_unref (tcaps);
+      }
+    }
+  }
+
+  filter_caps = gst_caps_merge (filter_caps, gst_caps_ref (caps));
+
+  auto filter_caps_str = gstguard::make_guard(gst_caps_to_string(filter_caps));
+  LOG_INFO("create capsfilter with [%s]", filter_caps_str.get());
+
+  element = gst_element_factory_make ("capsfilter", NULL);
+  g_object_set (G_OBJECT (element), "caps", filter_caps, NULL);
+
+  gst_caps_unref (filter_caps);
+  gst_caps_unref (caps);
+  gst_plugin_feature_list_free (factories);
+
+  return element;
+}
+
+char** GetCookieList(const char* cookies) {
+  char **cookie_list = nullptr;
+  char *temp = nullptr;
+  guint i = 0;
+
+  if (!cookies || !strlen(cookies))
+    return nullptr;
+
+  SECURE_LOG_DEBUG("cookies : %zu[bytes] - %s", strlen(cookies), cookies);
+
+  temp = g_strdup(cookies);
+
+  /* trimming. it works inplace */
+  g_strstrip(temp);
+
+  /* split */
+  cookie_list = g_strsplit(temp, ";", 100);
+
+  if (!cookie_list) {
+    LOG_ERROR("failed to get cookie list");
+    goto EXIT;
+  }
+
+  for (i = 0; i < g_strv_length(cookie_list); i++) {
+    if (cookie_list[i]) {
+      if (strlen(cookie_list[i])) {
+        g_strstrip(cookie_list[i]);
+        SECURE_LOG_DEBUG("cookie_list[%d] : %zu[bytes] - %s", i,
+              strlen(cookie_list[i]), cookie_list[i]);
+      } else {
+        cookie_list[i][0] = '\0';
+      }
+    }
+  }
+
+EXIT:
+  if(temp)
+    g_free(temp);
+
+  return cookie_list;
 }
 
 }  // namespace gst_util
old mode 100755 (executable)
new mode 100644 (file)
index 07c68d8..9cce93c
@@ -72,7 +72,7 @@ void GstSignalHolder::Delete(GObject* obj) {
 
 void GstSignalHolder::DeleteAll() {
   std::lock_guard<std::mutex> guard(item_lock_);
-  LOG_INFO("num of signals[ %d ]", signal_list_.size());
+  LOG_INFO("num of signals[ %" G_GSIZE_FORMAT " ]", signal_list_.size());
   signal_list_.clear();
 }
 
diff --git a/src/plusplayer-core/src/kpi.cpp b/src/plusplayer-core/src/kpi.cpp
deleted file mode 100755 (executable)
index 0b310c7..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-//
-// @ Copyright [2017] <S/W Platform, Visual Display, Samsung Electronics>
-//
-
-#include "core/kpi.h"
-
-#include <sstream>
-
-#include "core/utils/plusplayer_log.h"
-
-/* for logger */
-#include "capi-system-info/system_info.h"
-#include "logger/Logger2.h"
-
-using namespace KPILogFramework;
-
-namespace {
-
-const char* GetProductYear(void) {
-  static const char* year = nullptr;
-  if (year) return year;
-
-  int value = -1;
-  int result = system_info_get_custom_int(
-      "com.samsung/featureconf/product.tv_year", &value);
-  if (result != SYSTEM_INFO_ERROR_NONE || value < 0) {
-    LOG_ERROR(
-          "can't get com.samsung/featureconf/product.tv_year, result:%d, "
-          "value:%d",
-          result, value);
-    return "20";
-  }
-
-  static char str_year[3] = {0, };
-  int size = snprintf(str_year, 3, "%d", value);
-  if (size != 2) {
-    LOG_ERROR("size is not 2!! size:%d, year:%d", size, value);
-    return "20";
-  }
-
-  year = str_year;
-  return year;
-}
-}  // unnamed namespace
-
-namespace plusplayer {
-
-namespace internal {
-std::string GetSrcType(SourceType ptype) {
-  switch (ptype) {
-    case SourceType::kHttp:
-      return "HTTP";
-    case SourceType::kHls:
-      return "HLS";
-    case SourceType::kDash:
-      return "DASH";
-    case SourceType::kFile:
-      return "FILE";
-    case SourceType::kNone:
-    case SourceType::kBase:
-    case SourceType::kExternalSubtitle:
-    case SourceType::kMax:
-    default:
-      return "others";
-  }
-}
-
-std::string GetDrmType(drm::Type dtype) {
-  switch (dtype) {
-    case drm::Type::kNone:
-      return "NONE";
-    case drm::Type::kPlayready:
-      return "PLAYREADY";
-    case drm::Type::kMarlin:
-      return "MARLIN";
-    case drm::Type::kVerimatrix:
-      return "VERIMATRIX";
-    case drm::Type::kWidevineClassic:
-      return "WIDEVINE CLASSIC";
-    case drm::Type::kSecuremedia:
-      return "SECUREMEDIA";
-    case drm::Type::kSdrm:
-      return "SDRM";
-    case drm::Type::kWidevineCdm:
-      return "WIDEVINE CDM";
-    case drm::Type::kMax:
-    default:
-      return "others";
-  }
-}
-
-std::string GetDecoderType(int ctype) {  //(0:DEFAULT, 1:HW, 2:SW, 3:DISABLE)
-  if (ctype == 0 || ctype == 1) {
-    return "HW";
-  } else if (ctype == 2) {
-    return "SW";
-  } else {
-    return "DISABLE";
-  }
-}
-}  // namespace internal
-
-namespace kpi {
-bool CodecLogger::SendKpi(bool event_case, const CodecLoggerKeys& keys) {
-  LOG_ENTER;
-
-  std::string ptype = internal::GetSrcType(keys.src_type);
-  std::string drm_type = internal::GetDrmType(keys.drm_type);
-  std::string v_decoder_type = internal::GetDecoderType(keys.v_decoder_type);
-  std::string a_decoder_type = internal::GetDecoderType(keys.a_decoder_type);
-
-  // generate message
-  std::stringstream str;
-  str << "{";
-  str << "ptype=" << ptype;
-  str << ";dtype=" << drm_type;
-  str << ";data_container=" << keys.container_type;
-  str << ";v_decoder_type=" << v_decoder_type;
-  str << ";v_codec=" << keys.v_codec;
-  str << ";v_tag=0x" << std::hex << keys.v_tag;
-  str << ";width=" << std::dec << keys.width;
-  str << ";height=" << std::dec << keys.height;
-  str << ";a_decoder_type=" << a_decoder_type;
-  str << ";a_codec=" << keys.a_codec;
-  str << ";a_tag=0x" << std::hex << keys.a_tag;
-  str << ";app_id=" << keys.app_id;
-  str << "}";
-
-  return SendKpi_(event_case, str);
-}
-
-bool CodecLogger::SendKpi(bool event_case, const EsCodecLoggerKeys& keys) {
-  LOG_ENTER;
-
-  std::string ptype = keys.is_clean ? "MSE" : "EME";
-  std::string drm_type = keys.is_clean ? "NONE" : "EME";
-  std::string v_decoder_type("HW");
-  std::string a_decoder_type("HW");
-  std::string container_type("EsPlusplayer");
-  unsigned int video_tag = 0;
-  unsigned int audio_tag = 0;
-  std::string video_codec = keys.v_codec + "-" +
-                            std::to_string(keys.v_codec_version);
-
-  // generate message
-  std::stringstream str;
-  str << "{";
-  str << "ptype=" << ptype;
-  str << ";dtype=" << drm_type;
-  str << ";data_container=" << container_type;
-  str << ";v_decoder_type=" << v_decoder_type;
-  str << ";v_codec=" << keys.v_codec;
-  str << ";v_tag=0x" << std::hex << video_tag;
-  str << ";width=" << std::dec << keys.width;
-  str << ";height=" << std::dec << keys.height;
-  str << ";a_decoder_type=" << a_decoder_type;
-  str << ";a_codec=" << keys.a_codec;
-  str << ";a_tag=0x" << std::hex << audio_tag;
-  str << ";app_id=" << keys.app_id;
-  str << "}";
-
-  return SendKpi_(event_case, str);
-}
-
-bool CodecLogger::SendKpi_(bool event_case, const std::stringstream& message) {
-  LOG_ENTER;
-  const char* year = ::GetProductYear();
-
-  // send message to KPI logger
-  std::stringstream service_name;
-  service_name << year << "_codec";
-  std::string eventName;
-  std::string category;
-  if (event_case) {
-    eventName = "PLAYBACK";
-    category = "EV001";
-  } else {
-    eventName = "ERRPLAY";
-    category = "EV002";
-  }
-
-  LOG_ERROR("[KPI] service_name: %s, desc_log: %s",
-            service_name.str().c_str(), message.str().c_str());
-
-  CLogger* pLogger = CLogger::GetInstance();
-  LoggerErrorCode result = LOGGER_ERROR_NONE;
-  result = pLogger->AddEventLogSync(service_name.str().c_str(), eventName.c_str(),
-                                    category.c_str(), message.str().c_str());
-  if (result != LOGGER_ERROR_NONE) {
-    LOG_ERROR("Failed to send KPI log for esplayer, result:%d", result);
-    return false;
-  }
-
-  return true;
-}
-
-
-}  // namespace kpi
-}  // namespace plusplayer
old mode 100755 (executable)
new mode 100644 (file)
index bce0a47..a8e8c83
@@ -4,14 +4,12 @@
 
 #include <cassert>
 
-#ifndef PLUPLAYER_DOWNLOADABLE_APP_TVPLUS
 #include "tzplatform_config.h"
-#endif
 
 namespace plusplayer {
 
 namespace plusplayer_cfg {
-  
+
 const char* GetIniPath() {
   const char* path =
     tzplatform_mkpath(TZ_SYS_RO_ETC, "multimedia/esplusplayer.ini");
old mode 100755 (executable)
new mode 100644 (file)
index df9ceec..2d05e10
@@ -5,7 +5,7 @@
 #include "core/track_util.h"
 
 #include <string>
-
+#include <inttypes.h>
 #include "core/utils/plusplayer_log.h"
 
 namespace plusplayer {
@@ -83,17 +83,20 @@ void ShowTrackInfo(const Track& track) {
       track.sample_rate, track.sample_format, track.channels, track.version, track.layer);
   LOG_INFO(
       "bits_per_sample %d  block_align : %d  bitrate : %d  endianness : %d  is_signed : %d",
-      track.bits_per_sample, track.block_align, track.bitrate, track.endianness, track.is_signed);      
+      track.bits_per_sample, track.block_align, track.bitrate, track.endianness, track.is_signed);
   LOG_INFO("active %d  subtitle_format : %s ", track.active, track.subtitle_format.c_str() );
   LOG_INFO("use_swdecoder : %d", track.use_swdecoder);
   LOG_INFO("language_code: %s", track.language_code.c_str());
+  LOG_INFO("stream format: %s", track.stream_format.c_str());
+  LOG_INFO("alignment: %s", track.alignment.c_str());
+  LOG_INFO("original-media-type: %s", track.original_media_type.c_str());
+  LOG_INFO("protection-system: %s", track.protection_system.c_str());
 }
 
 uint64_t GetPositionWithinBoundary(const uint64_t duration,
                                    const uint64_t position,
                                    const uint64_t threshold) {
-  LOG_DEBUG("duration[%llu] position[%llu] threshold[%llu]", duration, position,
-            threshold);
+  LOG_DEBUG("duration[%" PRIu64 "] position[%" PRIu64 "] threshold[%" PRIu64 "]", duration, position, threshold);
   if (duration < threshold) return position;
   uint64_t safe_pos = position;
   uint64_t boundary = duration - threshold;
@@ -115,7 +118,7 @@ void FillCodecDataIntoTrack(const GValue* codec_data,
   GstMapInfo codec_data_info;
   if (gst_buffer_map(buffer, &codec_data_info, GST_MAP_READ)) {
     LOG_DEBUG("codec extra data [ %s ]", codec_data_info.data);
-    LOG_DEBUG("codec extra data size[ %d ]", codec_data_info.size);
+    LOG_DEBUG("codec extra data size[ %" G_GSIZE_FORMAT " ]", codec_data_info.size);
     if (IsValidCodecDataSize(codec_data_info.size)) {
       std::shared_ptr<char> data(new char[codec_data_info.size],
                                    std::default_delete<char[]>());
@@ -123,7 +126,7 @@ void FillCodecDataIntoTrack(const GValue* codec_data,
       track->codec_data = data;
       track->codec_data_len = codec_data_info.size;
     } else {
-      LOG_WARN("Warning invalid codec extra data size [%d]",
+      LOG_WARN("Warning invalid codec extra data size [%" G_GSIZE_FORMAT "]",
                codec_data_info.size);
     }
     gst_buffer_unmap(buffer, &codec_data_info);
old mode 100755 (executable)
new mode 100644 (file)
index 95d87f6..0f0c6c1
@@ -93,6 +93,20 @@ void TrackRendererAdapter::SetIniProperty(
   trackrenderer_set_ini_property(handle_, trackrenderer_iniproperty, size);
 }
 
+void TrackRendererAdapter::SetIniElement(
+    const std::map<std::string, std::string>& elements) {
+  const int size = elements.size();
+  if (size <= 0) return;
+  TrackRendererIniElement trackrenderer_inielement[size];
+  int index = 0;
+  for (const auto& pair : elements) {
+    trackrenderer_inielement[index].key = pair.first.c_str();
+    trackrenderer_inielement[index].value = pair.second.c_str();
+    index++;
+  }
+  trackrenderer_set_ini_element(handle_, trackrenderer_inielement, size);
+}
+
 bool TrackRendererAdapter::Seek(uint64_t time_millisecond,
                                 double playback_rate) {
   if (trackrenderer_seek(handle_, time_millisecond, playback_rate) == kFailed) {
@@ -133,16 +147,6 @@ bool TrackRendererAdapter::GetDroppedFrames(void* counts) {
   return true;
 }
 
-bool TrackRendererAdapter::GetDroppedFramesForCatchup(TrackType type,
-                                                      void* counts) {
-  if (trackrenderer_get_dropped_frames_for_catchup(
-          handle_, adapter_utils::ConvertToTrackRendererTrackType(type),
-          counts) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
 bool TrackRendererAdapter::Deactivate(TrackType type) {
   if (trackrenderer_deactivate(
           handle_, adapter_utils::ConvertToTrackRendererTrackType(type)) ==
@@ -169,11 +173,13 @@ bool TrackRendererAdapter::SubmitPacket(const DecoderInputBufferPtr& data) {
   TrackRendererDecoderInputBuffer decoderinputbuffer{
       adapter_utils::ConvertToTrackRendererTrackType(data->GetType()),
       data->GetIndex(),
-      static_cast<void*>(const_cast<GstBuffer*>(data->Get()))};
+      static_cast<void*>(const_cast<GstBuffer*>(data->Get())),
+      static_cast<void*>(const_cast<GstCaps*>(data->GetCaps()))};
 #else
   TrackRendererDecoderInputBuffer decoderinputbuffer{
       adapter_utils::ConvertToTrackRendererTrackType(data->GetType()),
-      data->GetIndex(), const_cast<GstBuffer*>(data->Get())};
+      data->GetIndex(), const_cast<GstBuffer*>(data->Get()),
+      const_cast<GstCaps*>(data->GetCaps())};
 #endif
   if (trackrenderer_submit_packet(handle_, &decoderinputbuffer, nullptr) ==
       kFailed) {
@@ -219,11 +225,13 @@ bool TrackRendererAdapter::SubmitPacket(const DecoderInputBufferPtr& data,
   TrackRendererDecoderInputBuffer decoderinputbuffer{
       adapter_utils::ConvertToTrackRendererTrackType(data->GetType()),
       data->GetIndex(),
-      static_cast<void*>(const_cast<GstBuffer*>(data->Get()))};
+      static_cast<void*>(const_cast<GstBuffer*>(data->Get())),
+      static_cast<void*>(const_cast<GstCaps*>(data->GetCaps()))};
 #else
   TrackRendererDecoderInputBuffer decoderinputbuffer{
       adapter_utils::ConvertToTrackRendererTrackType(data->GetType()),
-      data->GetIndex(), const_cast<GstBuffer*>(data->Get())};
+      data->GetIndex(), const_cast<GstBuffer*>(data->Get()),
+      const_cast<GstCaps*>(data->GetCaps())};
 #endif
   TrackRendererSubmitStatus submitstatus;
   if (trackrenderer_submit_packet(handle_, &decoderinputbuffer,
@@ -242,11 +250,13 @@ bool TrackRendererAdapter::SubmitPacket2(const DecoderInputBufferPtr& data,
   TrackRendererDecoderInputBuffer decoderinputbuffer{
       adapter_utils::ConvertToTrackRendererTrackType(data->GetType()),
       data->GetIndex(),
-      static_cast<void*>(const_cast<GstBuffer*>(data->Get()))};
+      static_cast<void*>(const_cast<GstBuffer*>(data->Get())),
+      static_cast<void*>(const_cast<GstCaps*>(data->GetCaps()))};
 #else
   TrackRendererDecoderInputBuffer decoderinputbuffer{
       adapter_utils::ConvertToTrackRendererTrackType(data->GetType()),
-      data->GetIndex(), const_cast<GstBuffer*>(data->Get())};
+      data->GetIndex(), const_cast<GstBuffer*>(data->Get()),
+      const_cast<GstCaps*>(data->GetCaps())};
 #endif
   TrackRendererSubmitStatus submitstatus;
   if (trackrenderer_submit_packet2(handle_, &decoderinputbuffer,
@@ -278,6 +288,11 @@ void TrackRendererAdapter::DrmLicenseAcquiredDone(TrackType type) {
       handle_, adapter_utils::ConvertToTrackRendererTrackType(type));
 }
 
+void TrackRendererAdapter::SetDrmLicenseKey(TrackType type, const std::string& key) {
+  trackrenderer_set_drm_license_key(
+      handle_, adapter_utils::ConvertToTrackRendererTrackType(type),
+      key.c_str());
+}
 bool TrackRendererAdapter::SetDisplayMode(const DisplayMode& mode) {
   if (trackrenderer_set_display_mode(
           handle_, adapter_utils::ConvertToTrackRendererDisplayMode(mode)) ==
@@ -318,17 +333,6 @@ bool TrackRendererAdapter::SetDisplay(const DisplayType& type,
   return true;
 }
 
-bool TrackRendererAdapter::SetDisplaySubsurface(const DisplayType& type,
-                                                void* ecore_wl2_subsurface,
-                                                int x, int y, int w, int h) {
-  if (trackrenderer_set_display_ecore_wl2_subsurface(
-          handle_, adapter_utils::ConvertToTrackRendererDisplayType(type),
-          ecore_wl2_subsurface, x, y, w, h) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
 void TrackRendererAdapter::GetDisplay(DisplayType* type, Geometry* area) {
   TrackRendererGeometry geometry = {0, 0, 1920, 1080};
   TrackRendererDisplayType display_type = kTrackRendererDisplayTypeNone;
@@ -355,15 +359,6 @@ bool TrackRendererAdapter::SetVideoRoi(const CropArea& area) {
   return true;
 }
 
-bool TrackRendererAdapter::ResizeRenderRect(const RenderRect& rect) {
-  TrackRendererRenderRect result = {0, 0, 1920, 1080};
-  adapter_utils::MakeTrackRendererRenderRect(&result, rect);
-  if (trackrenderer_resize_render_rect(handle_, &result) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
 bool TrackRendererAdapter::SetDisplayRotate(const DisplayRotation& rotate) {
   if (trackrenderer_set_display_rotate(
           handle_, adapter_utils::ConvertToTrackRendererDisplayRotate(
@@ -478,6 +473,11 @@ static const std::map<TrackRendererAdapter::Attribute, AttrInfo>
          {ValueType::kUInt32, "video-min-byte-percent"}},
         {TrackRendererAdapter::Attribute::kAudioMinByteThreshold,
          {ValueType::kUInt32, "audio-min-byte-percent"}},
+        {TrackRendererAdapter::Attribute::kVideoQueueMaxBuffer,
+         {ValueType::kUInt64, "video-queue-max-buffer"}},
+        {TrackRendererAdapter::Attribute::kAudioQueueMaxBuffer,
+         {ValueType::kUInt64, "audio-queue-max-buffer"}},
+#if 0
         {TrackRendererAdapter::Attribute::kVideoQueueMaxTime,
          {ValueType::kUInt64, "video-queue-max-time"}},
         {TrackRendererAdapter::Attribute::kAudioQueueMaxTime,
@@ -495,7 +495,9 @@ static const std::map<TrackRendererAdapter::Attribute, AttrInfo>
         {TrackRendererAdapter::Attribute::kVideoRenderTimeOffset,
          {ValueType::kInt64, "video-render-time-offset"}},
         {TrackRendererAdapter::Attribute::kAudioRenderTimeOffset,
-         {ValueType::kInt64, "audio-render-time-offset"}}};
+         {ValueType::kInt64, "audio-render-time-offset"}}
+#endif
+        };
 
 static const std::map<TrackRendererAdapter::Attribute, AttrInfo>
     kConfigInfoTable = {
@@ -513,12 +515,15 @@ static const std::map<TrackRendererAdapter::Attribute, AttrInfo>
          {ValueType::kUInt64, "start-rendering-time"}},
         {TrackRendererAdapter::Attribute::kFmmMode,
          {ValueType::kUInt32, "fmm-mode"}},
+#if 0
         {TrackRendererAdapter::Attribute::kAlternativeVideoResource,
          {ValueType::kUInt32, "alternative-video-resource"}},
         {TrackRendererAdapter::Attribute::kVideoDecodingMode,
          {ValueType::kUInt32, "video-decoding-mode"}},
         {TrackRendererAdapter::Attribute::kLateVideoFrameDropMode,
-         {ValueType::kUInt32, "late-video-frame-drop-mode"}}};
+         {ValueType::kUInt32, "late-video-frame-drop-mode"}}
+#endif
+        };
 }  // namespace adapter_utils
 
 void TrackRendererAdapter::SetAttribute(
@@ -618,7 +623,6 @@ void TrackRendererAdapter::GetAttribute(
 void TrackRendererAdapter::RegisterListener(EventListener* listener) {
   eventlistener_ = listener;
   trackrenderer_set_error_cb(handle_, ErrorCb_, (void*)this);
-  trackrenderer_set_error_msg_cb(handle_, ErrorMsgCb_, (void*)this);
   trackrenderer_set_resourceconflict_cb(handle_, ResourceConflictCb_,
                                         (void*)this);
   trackrenderer_set_seekdone_cb(handle_, SeekDoneCb_, (void*)this);
@@ -628,21 +632,12 @@ void TrackRendererAdapter::RegisterListener(EventListener* listener) {
   trackrenderer_set_closedcaption_cb(handle_, ClosedCaptionDataCb_,
                                      (void*)this);
   trackrenderer_set_drminitdata_cb(handle_, DrmInitDataCb_, (void*)this);
-  trackrenderer_set_media_packet_video_decoded_cb(
-      handle_, MediaPacketVideoDecodedCb_, (void*)this);
-  trackrenderer_set_media_packet_video_raw_decoded_cb(
-      handle_, MediaPacketVideoRawDecodedCb_, (void*)this);
-  trackrenderer_set_multiview_start_video_cb(handle_, MultiviewStartVideoCb_,
-                                             (void*)this);
-  trackrenderer_set_multiview_stop_video_cb(handle_, MultiviewStopVideoCb_,
-                                            (void*)this);
 }
 
 void TrackRendererAdapter::RegisterListenerForEsplayer(
     EventListener* listener) {
   eventlistener_ = listener;
   trackrenderer_set_error_cb(handle_, ErrorCb_, (void*)this);
-  trackrenderer_set_error_msg_cb(handle_, ErrorMsgCb_, (void*)this);
   trackrenderer_set_resourceconflict_cb(handle_, ResourceConflictCb_,
                                         (void*)this);
   trackrenderer_set_seekdone_cb(handle_, SeekDoneCb_, (void*)this);
@@ -653,20 +648,8 @@ void TrackRendererAdapter::RegisterListenerForEsplayer(
   trackrenderer_set_seekdata_cb(handle_, SeekDataCb_, (void*)this);
   trackrenderer_set_closedcaption_cb(handle_, ClosedCaptionDataCb_,
                                      (void*)this);
-  trackrenderer_set_media_packet_video_tbmptr_cb(
-      handle_, MediaPacketGetTbmBufPtrCb_, (void*)this);
   trackrenderer_set_media_packet_video_decoded_cb(
       handle_, MediaPacketVideoDecodedCb_, (void*)this);
-  trackrenderer_set_media_packet_video_raw_decoded_cb(
-      handle_, MediaPacketVideoRawDecodedCb_, (void*)this);
-  trackrenderer_set_first_decoding_done_cb(handle_, FirstDecodingDoneCb_,
-                                           (void*)this);
-  trackrenderer_set_video_decoder_underrun_cb(handle_, VideoDecoderUnderrunCb_,
-                                              (void*)this);
-  trackrenderer_set_video_latency_status_cb(handle_, VideoLatencyStatusCb_,
-                                            (void*)this);
-  trackrenderer_set_audio_latency_status_cb(handle_, AudioLatencyStatusCb_,
-                                            (void*)this);
 }
 
 TrackRendererState TrackRendererAdapter::GetState() {
@@ -682,28 +665,9 @@ bool TrackRendererAdapter::SetMatroskaColorInfo(const std::string& color_info) {
 }
 
 void TrackRendererAdapter::SetVideoFrameBufferType(
-    VideoFrameTypeStrategyPtr strategy) {
-  strategy->SetType(handle_);
-}
-
-bool TrackRendererAdapter::SetVideoFrameBufferScaleResolution(
-    const uint32_t& target_width, const uint32_t& target_height) {
-  if (trackrenderer_set_video_frame_buffer_scale_resolution(
-          handle_, target_width, target_height) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::SetDecodedVideoFrameRate(
-    const Rational& request_framerate) {
-  TrackRendererRational request_fps;
-  adapter_utils::MakeTrackRendererRational(&request_fps, request_framerate);
-  if (trackrenderer_set_decoded_video_frame_rate(handle_, request_fps) ==
-      kFailed) {
-    return false;
-  }
-  return true;
+    const DecodedVideoFrameBufferType& type) {
+  trackrenderer_set_video_frame_buffer_type(
+      handle_, adapter_utils::ConvertToVideoFrameBufferType(type));
 }
 
 bool TrackRendererAdapter::RenderVideoFrame() {
@@ -713,182 +677,6 @@ bool TrackRendererAdapter::RenderVideoFrame() {
   return true;
 }
 
-bool TrackRendererAdapter::SetAiFilter(void* aifilter) {
-  if (trackrenderer_set_aifilter(handle_, aifilter) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::SetCatchUpSpeed(const CatchUpSpeed& level) {
-  if (trackrenderer_set_catch_up_speed(
-          handle_, adapter_utils::ConvertToTrackRendererCatchUpSpeed(level)) ==
-      kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::GetVideoLatencyStatus(LatencyStatus* status) {
-  TrackRendererLatencyStatus current_status = kTrackRendererLatencyStatusLow;
-  if (trackrenderer_get_video_latency_status(handle_, &current_status) ==
-      kFailed) {
-    return false;
-  }
-  *status = adapter_utils::ConvertToLatencyStatus(current_status);
-  return true;
-}
-
-bool TrackRendererAdapter::GetAudioLatencyStatus(LatencyStatus* status) {
-  TrackRendererLatencyStatus current_status = kTrackRendererLatencyStatusLow;
-  if (trackrenderer_get_audio_latency_status(handle_, &current_status) ==
-      kFailed) {
-    return false;
-  }
-  *status = adapter_utils::ConvertToLatencyStatus(current_status);
-  return true;
-}
-
-bool TrackRendererAdapter::SetVideoMidLatencyThreshold(
-    const unsigned int threshold) {
-  if (trackrenderer_set_video_mid_latency_threshold(handle_, threshold) ==
-      kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::SetAudioMidLatencyThreshold(
-    const unsigned int threshold) {
-  if (trackrenderer_set_audio_mid_latency_threshold(handle_, threshold) ==
-      kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::SetVideoHighLatencyThreshold(
-    const unsigned int threshold) {
-  trackrenderer_set_video_high_latency_cb(handle_, VideoHighLatencyCb_,
-                                          (void*)this);
-
-  if (trackrenderer_set_video_high_latency_threshold(handle_, threshold) ==
-      kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::SetAudioHighLatencyThreshold(
-    const unsigned int threshold) {
-  trackrenderer_set_audio_high_latency_cb(handle_, AudioHighLatencyCb_,
-                                          (void*)this);
-
-  if (trackrenderer_set_audio_high_latency_threshold(handle_, threshold) ==
-      kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::InitAudioEasingInfo(
-    const uint32_t init_volume, const uint32_t init_elapsed_time,
-    const AudioEasingInfo& easing_info) {
-  TrackRendererAudioEasingInfo info;
-  adapter_utils::MakeTrackRendererAudioEasingInfo(&info, easing_info);
-  if (trackrenderer_init_audio_easing_info(
-          handle_, init_volume, init_elapsed_time, &info) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::UpdateAudioEasingInfo(
-    const AudioEasingInfo& easing_info) {
-  TrackRendererAudioEasingInfo info;
-  adapter_utils::MakeTrackRendererAudioEasingInfo(&info, easing_info);
-  if (trackrenderer_update_audio_easing_info(handle_, &info) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::GetAudioEasingInfo(uint32_t* current_volume,
-                                              uint32_t* elapsed_time,
-                                              AudioEasingInfo* easing_info) {
-  TrackRendererAudioEasingInfo info;
-  if (trackrenderer_get_audio_easing_info(handle_, current_volume, elapsed_time,
-                                          &info) == kFailed) {
-    return false;
-  }
-  adapter_utils::MakeAudioEasingInfo(easing_info, info);
-  return true;
-}
-
-bool TrackRendererAdapter::StartAudioEasing() {
-  if (trackrenderer_start_audio_easing(handle_) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::StopAudioEasing() {
-  if (trackrenderer_stop_audio_easing(handle_) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::GetVirtualRscId(const RscType type,
-                                           int* virtual_id) {
-  TrackRendererRscType converted_type = kTrackRendererRscTypeVideoRenderer;
-  if (!adapter_utils::ConvertToTrackRendererRscType(type, &converted_type))
-    return false;
-  if (trackrenderer_get_virtual_rsc_id(handle_, converted_type, virtual_id) ==
-      kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::SetAdvancedPictureQualityType(
-    const AdvPictureQualityType type) {
-  TrackRendererAdvPictureQualityType converted_type =
-      kTrackRendererAdvPictureQualityTypeVideoCall;
-  if (!adapter_utils::ConvertToTrackRendererAdvPictureQualityType(
-          type, &converted_type))
-    return false;
-  if (trackrenderer_set_advanced_picture_quality_type(
-          handle_, converted_type) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::SetResourceAllocatePolicy(
-    const RscAllocPolicy policy) {
-  TrackRendererRscAllocPolicy converted_policy =
-      kTrackRendererRscAllocExclusive;
-  if (!adapter_utils::ConvertToTrackRendererRscAllocPolicy(policy,
-                                                           &converted_policy))
-    return false;
-  if (trackrenderer_set_resource_allocate_policy(handle_, converted_policy) ==
-      kFailed) {
-    return false;
-  }
-  return true;
-}
-
-bool TrackRendererAdapter::SetVideoParDar(uint64_t time_millisecond,
-                                          uint32_t par_num, uint32_t par_den,
-                                          uint32_t dar_num, uint32_t dar_den) {
-  if (trackrenderer_set_video_par_dar(handle_, time_millisecond, par_num,
-                                      par_den, dar_num, dar_den) == kFailed) {
-    return false;
-  }
-  return true;
-}
-
 /////////////////////////////////////////////
 /////////////// Callbacks ///////////////////
 /////////////////////////////////////////////
@@ -900,14 +688,6 @@ void TrackRendererAdapter::ErrorCb_(const TrackRendererErrorType error_code,
       adapter_utils::ConvertToErrorType(error_code));
 }
 
-void TrackRendererAdapter::ErrorMsgCb_(const TrackRendererErrorType error_code,
-                                       char* error_msg, UserData userdata) {
-  auto adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  adapter->eventlistener_->OnErrorMsg(
-      adapter_utils::ConvertToErrorType(error_code), error_msg);
-}
-
 void TrackRendererAdapter::ResourceConflictCb_(UserData userdata) {
   auto adapter = static_cast<TrackRendererAdapter*>(userdata);
   if (!adapter) return;
@@ -1033,14 +813,6 @@ void TrackRendererAdapter::SeekDataCb_(const TrackRendererTrackType type,
                                       offset);
 }
 
-void TrackRendererAdapter::MediaPacketGetTbmBufPtrCb_(void** ptr,
-                                                      bool is_scale_change,
-                                                      UserData userdata) {
-  auto adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  adapter->eventlistener_->OnMediaPacketGetTbmBufPtr(ptr, is_scale_change);
-}
-
 void TrackRendererAdapter::MediaPacketVideoDecodedCb_(
     const TrackRendererDecodedVideoPacket* packet, UserData userdata) {
   auto adapter = static_cast<TrackRendererAdapter*>(userdata);
@@ -1050,64 +822,4 @@ void TrackRendererAdapter::MediaPacketVideoDecodedCb_(
   adapter->eventlistener_->OnMediaPacketVideoDecoded(_packet);
 }
 
-void TrackRendererAdapter::MediaPacketVideoRawDecodedCb_(
-    const TrackRendererDecodedVideoRawModePacket* packet,
-    TrackRendererDecodedVideoType type, UserData userdata) {
-  auto adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  DecodedVideoRawModePacket _packet;
-  _packet.type = static_cast<DecodedVideoRawModePacketType>(type);
-  _packet.pts = packet->pts;
-  _packet.width = packet->width;
-  _packet.height = packet->height;
-  _packet.data =
-      *static_cast<DecodedVideoRawModePacket::Data*>(packet->internal_data);
-  adapter->eventlistener_->OnMediaPacketVideoRawDecoded(_packet);
-}
-
-void TrackRendererAdapter::VideoDecoderUnderrunCb_(UserData userdata) {
-  auto* adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  adapter->eventlistener_->OnVideoDecoderUnderrun();
-}
-
-void TrackRendererAdapter::VideoLatencyStatusCb_(
-    const TrackRendererLatencyStatus video_latency_status, UserData userdata) {
-  auto* adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  adapter->eventlistener_->OnVideoLatencyStatus(
-      adapter_utils::ConvertToLatencyStatus(video_latency_status));
-}
-
-void TrackRendererAdapter::AudioLatencyStatusCb_(
-    const TrackRendererLatencyStatus audio_latency_status, UserData userdata) {
-  auto* adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  adapter->eventlistener_->OnAudioLatencyStatus(
-      adapter_utils::ConvertToLatencyStatus(audio_latency_status));
-}
-
-void TrackRendererAdapter::VideoHighLatencyCb_(UserData userdata) {
-  auto* adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  adapter->eventlistener_->OnVideoHighLatency();
-}
-
-void TrackRendererAdapter::AudioHighLatencyCb_(UserData userdata) {
-  auto* adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  adapter->eventlistener_->OnAudioHighLatency();
-}
-
-void TrackRendererAdapter::MultiviewStartVideoCb_(UserData userdata) {
-  auto adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  adapter->eventlistener_->OnMultiviewStartVideo();
-}
-
-void TrackRendererAdapter::MultiviewStopVideoCb_(UserData userdata) {
-  auto adapter = static_cast<TrackRendererAdapter*>(userdata);
-  if (!adapter) return;
-  adapter->eventlistener_->OnMultiviewStopVideo();
-}
 }  // namespace plusplayer
old mode 100755 (executable)
new mode 100644 (file)
index 4db154a..ec0f829
@@ -40,6 +40,10 @@ void InitTrack(TrackRendererTrack* track) {
   track->use_swdecoder = 0;                        // int use_swdecoder
   track->language_code = nullptr;                  // const char* language_code
   track->subtitle_format = nullptr;  // const char* subtitle_format
+  track->stream_format = nullptr;
+  track->alignment = nullptr;
+  track->original_media_type = nullptr;
+  track->protection_system = nullptr;
 }
 
 void MakeGeometry(Geometry* roi, const TrackRendererGeometry& geometry) {
@@ -79,6 +83,7 @@ void MakeTrackRendererCropArea(TrackRendererCropArea* crop,
   crop->scale_h = area.scale_h;
 }
 
+#if 0
 void MakeTrackRendererRenderRect(TrackRendererRenderRect* output,
                                  const RenderRect& input) {
   output->x = input.x;
@@ -86,6 +91,7 @@ void MakeTrackRendererRenderRect(TrackRendererRenderRect* output,
   output->w = input.w;
   output->h = input.h;
 }
+#endif
 
 void MakeTrackRendererTrack(TrackRendererTrack* track, const Track& trackinfo) {
   InitTrack(track);
@@ -116,6 +122,10 @@ void MakeTrackRendererTrack(TrackRendererTrack* track, const Track& trackinfo) {
   track->use_swdecoder = trackinfo.use_swdecoder;
   track->language_code = trackinfo.language_code.c_str();
   track->subtitle_format = trackinfo.subtitle_format.c_str();
+  track->stream_format = trackinfo.stream_format.c_str();
+  track->alignment = trackinfo.alignment.c_str();
+  track->original_media_type = trackinfo.original_media_type.c_str();
+  track->protection_system = trackinfo.protection_system.c_str();
 }
 
 void MakeTrackRendererAppInfo(TrackRendererAppInfo* app_attr,
@@ -125,27 +135,6 @@ void MakeTrackRendererAppInfo(TrackRendererAppInfo* app_attr,
   app_attr->type = const_cast<char*>(app_info.type.c_str());
 }
 
-void MakeAudioEasingInfo(AudioEasingInfo* easing_info,
-                         const TrackRendererAudioEasingInfo& easing_attr) {
-  easing_info->target_volume = easing_attr.target_volume;
-  easing_info->duration = easing_attr.duration;
-  easing_info->type = ConvertToAudioEasingType(easing_attr.type);
-}
-
-void MakeTrackRendererAudioEasingInfo(TrackRendererAudioEasingInfo* easing_attr,
-                                      const AudioEasingInfo& easing_info) {
-  easing_attr->target_volume = easing_info.target_volume;
-  easing_attr->duration = easing_info.duration;
-  easing_attr->type = ConvertToTrackRendererAudioEasingType(easing_info.type);
-}
-
-void MakeTrackRendererRational(TrackRendererRational* rational_attr,
-                               const Rational& rational_info) {
-  if (!rational_attr) return;
-  rational_attr->num = rational_info.num;
-  rational_attr->den = rational_info.den;
-}
-
 DisplayMode ConvertToDisplayMode(TrackRendererDisplayMode typevalue) {
   switch (typevalue) {
     case kTrackRendererDisplayModeLetterBox: {
@@ -612,6 +601,9 @@ TrackRendererDrmType ConvertToTrackRendererDrmType(const drm::Type& drm_type) {
     case drm::Type::kWidevineCdm: {
       return kTrackRendererDrmTypeWidevineCdm;
     }
+    case drm::Type::kClearkey: {
+      return kTrackRendererDrmTypeClearkey;
+    }
     case drm::Type::kMax: {
       return kTrackRendererDrmTypeDrmMax;
     }
@@ -750,126 +742,6 @@ BufferStatus ConvertToBufferStatus(const TrackRendererBufferStatus& status) {
   return BufferStatus::kUnderrun;
 }
 
-TrackRendererCatchUpSpeed ConvertToTrackRendererCatchUpSpeed(
-    const CatchUpSpeed& level) {
-  switch (level) {
-    case CatchUpSpeed::kNone: {
-      return kTrackRendererCatchUpSpeedNone;
-    }
-    case CatchUpSpeed::kSlow: {
-      return kTrackRendererCatchUpSpeedSlow;
-    }
-    case CatchUpSpeed::kNormal: {
-      return kTrackRendererCatchUpSpeedNormal;
-    }
-    case CatchUpSpeed::kFast: {
-      return kTrackRendererCatchUpSpeedFast;
-    }
-  }
-  LOG_ERROR("Unknown catch up speed");
-  return kTrackRendererCatchUpSpeedNone;
-}
-
-LatencyStatus ConvertToLatencyStatus(const TrackRendererLatencyStatus& status) {
-  switch (status) {
-    case kTrackRendererLatencyStatusLow: {
-      return LatencyStatus::kLow;
-    }
-    case kTrackRendererLatencyStatusMid: {
-      return LatencyStatus::kMid;
-    }
-    case kTrackRendererLatencyStatusHigh: {
-      return LatencyStatus::kHigh;
-    }
-  }
-  LOG_ERROR("Unknown status");
-  return LatencyStatus::kLow;
-}
-
-AudioEasingType ConvertToAudioEasingType(
-    const TrackRendererAudioEasingType& type) {
-  switch (type) {
-    case TrackRendererAudioEasingType::kTrackRendererAudioEasingLinear: {
-      return AudioEasingType::kAudioEasingLinear;
-    }
-    case TrackRendererAudioEasingType::kTrackRendererAudioEasingIncubic: {
-      return AudioEasingType::kAudioEasingIncubic;
-    }
-    case TrackRendererAudioEasingType::kTrackRendererAudioEasingOutcubic: {
-      return AudioEasingType::kAudioEasingOutcubic;
-    }
-    default:
-      LOG_ERROR("Unknown audio easing type");
-      return AudioEasingType::kAudioEasingNone;
-  }
-}
-
-TrackRendererAudioEasingType ConvertToTrackRendererAudioEasingType(
-    const AudioEasingType& type) {
-  switch (type) {
-    case AudioEasingType::kAudioEasingLinear: {
-      return TrackRendererAudioEasingType::kTrackRendererAudioEasingLinear;
-    }
-    case AudioEasingType::kAudioEasingIncubic: {
-      return TrackRendererAudioEasingType::kTrackRendererAudioEasingIncubic;
-    }
-    case AudioEasingType::kAudioEasingOutcubic: {
-      return TrackRendererAudioEasingType::kTrackRendererAudioEasingOutcubic;
-    }
-    default:
-      LOG_ERROR("Unknown audio easing type");
-      return TrackRendererAudioEasingType::kTrackRendererAudioEasingNone;
-  }
-}
-
-bool ConvertToTrackRendererRscType(const RscType& typevalue,
-                                   TrackRendererRscType* type) {
-  switch (typevalue) {
-    case RscType::kVideoRenderer: {
-      *type = kTrackRendererRscTypeVideoRenderer;
-      return true;
-    }
-    default:
-      LOG_ERROR("unknown resource type");
-      return false;
-  }
-}
-
-bool ConvertToTrackRendererAdvPictureQualityType(
-    const AdvPictureQualityType& typevalue,
-    TrackRendererAdvPictureQualityType* type) {
-  switch (typevalue) {
-    case AdvPictureQualityType::kVideoCall: {
-      *type = kTrackRendererAdvPictureQualityTypeVideoCall;
-      return true;
-    }
-    case AdvPictureQualityType::kUsbCamera: {
-      *type = kTrackRendererAdvPictureQualityTypeUsbCamera;
-      return true;
-    }
-    default:
-      LOG_ERROR("unknown resource type");
-      return false;
-  }
-}
-
-bool ConvertToTrackRendererRscAllocPolicy(const RscAllocPolicy& policyvalue,
-                                          TrackRendererRscAllocPolicy* policy) {
-  switch (policyvalue) {
-    case RscAllocPolicy::kRscAllocExclusive: {
-      *policy = kTrackRendererRscAllocExclusive;
-      return true;
-    }
-    case RscAllocPolicy::kRscAllocConditional: {
-      *policy = kTrackRendererRscAllocConditional;
-      return true;
-    }
-    default:
-      LOG_ERROR("unknown policy");
-      return false;
-  }
-}
-
 }  // namespace adapter_utils
 
 }  // namespace plusplayer
diff --git a/src/plusplayer-core/src/videoframetypestrategy.cpp b/src/plusplayer-core/src/videoframetypestrategy.cpp
deleted file mode 100755 (executable)
index f923ed8..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "core/videoframetypestrategy.h"
-
-#include <trackrenderer_capi/trackrenderer_capi.h>
-#include <trackrenderer_capi/trackrenderer_internal.h>
-
-#include "core/trackrendereradapter_utils.h"
-
-namespace plusplayer {
-DefaultVideoFrameTypeStrategy::DefaultVideoFrameTypeStrategy(
-    const DecodedVideoFrameBufferType type)
-    : type_(type) {}
-
-void DefaultVideoFrameTypeStrategy::SetType(TrackRendererHandle handle) {
-  trackrenderer_set_video_frame_buffer_type(
-      handle, adapter_utils::ConvertToVideoFrameBufferType(type_));
-}
-
-void RawVideoFrameTypeStrategy::SetType(TrackRendererHandle handle) {
-  trackrenderer_set_video_frame_buffer_type_ext(
-      handle, kTrackRendererDecodedVideoFrameBufferExtRaw);
-}
-}  // namespace plusplayer
\ No newline at end of file
diff --git a/tomato/tc/TCList.dat b/tomato/tc/TCList.dat
deleted file mode 100755 (executable)
index 568f446..0000000
+++ /dev/null
@@ -1 +0,0 @@
-unit_test/ut_esplusplayer_all.xml
\ No newline at end of file
diff --git a/tomato/tc/testfarm_script.xml b/tomato/tc/testfarm_script.xml
deleted file mode 100755 (executable)
index 517b656..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<TestFarm>
-       <Target AssignTargets="1"> 
-               <TestPackage Name="esplusplayer" RpmName="esplusplayer-ut-component-tomato" DatFile="TCList.dat"/>      
-</TestFarm>
\ No newline at end of file
diff --git a/tomato/tc/unit_test/ut_esplusplayer_all.xml b/tomato/tc/unit_test/ut_esplusplayer_all.xml
deleted file mode 100755 (executable)
index afcb07f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<TestCase Name="ESPlusplayer API Test" Description="ESPlusplayer APIs unit test" LogFilter="GST_LOG:* TOMATO:* PLUSPLAYER:* STREAMING_ENGINE:*">
-       <Procedure Number="1" Description="ESPlusplayer unit test">
-               <Step Name="ESPlusplayer unit test" Type="EXT_TEST_PACKAGE" Command="GTEST_TOTAL_SHARDS=1 GTEST_SHARD_INDEX=0 /usr/bin/esplusplayer_ut --gtest_output=xml:/usr/etc/esplusplayer_tests_result.xml" Permission="ROOT">
-                       <Input Expirytime="10800"/>
-                       <Output Type="DetectFile" FilePath="/usr/etc/esplusplayer_tests_result.xml"/>
-               </Step>
-       </Procedure>
-</TestCase>
old mode 100755 (executable)
new mode 100644 (file)
index 3bc02dc..97aae0f
@@ -3,33 +3,20 @@ SET(fw_name "${PROJECT_NAME}_ut")
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
 
-SET(${fw_name}_CXXFLAGS "-Wall -Werror -std=c++11 -pthread -fPIE -Wl,-z,relro -fstack-protector -fno-delete-null-pointer-checks -DEFL_BETA_API_SUPPORT")
-
+SET(${fw_name}_CXXFLAGS "-Wno-pessimizing-move -Wall -Werror -std=c++11 -pthread -fPIE -Wl,-z,relro -fstack-protector -fno-delete-null-pointer-checks -DEFL_BETA_API_SUPPORT")
 SET(${fw_name}_LDFLAGS)
 
-IF(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
 SET(ADD_LIBS
   "espplayer-core"
   "trackrenderer"
   "esplusplayer"
-  "mixer"
   "gstvideo-1.0"
 )
-ELSE(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
-SET(ADD_LIBS
-  "espplayer-core"
-  "trackrenderer"
-  "esplusplayer"
-  "gstvideo-1.0"
-)
-ENDIF(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
 
-SET(dependents "gstreamer-1.0 glib-2.0 gstreamer-plugins-base-1.0 gstreamer-app-1.0 dlog gtest_gmock"
+
+SET(dependents "gstreamer-1.0 glib-2.0 gstreamer-plugins-base-1.0 gstreamer-app-1.0 dlog gmock"
                "boost"
-               "tv-resource-information tv-resource-manager libresourced appcore-efl elementary ecore evas ecore-wl2"
-               "capi-media-player"
-               "video-capture libturbojpeg libjpeg opencv"
-               "audio-control"
+               "appcore-efl elementary ecore evas ecore-wl2"
                )
 
 INCLUDE(FindPkgConfig)
@@ -56,34 +43,40 @@ INCLUDE_DIRECTORIES(
   ${PROJECT_SOURCE_DIR}
   ${PROJECT_SOURCE_DIR}/src/plusplayer-core/include_internal
   ${PROJECT_SOURCE_DIR}/src/esplusplayer/include_internal
-  ${PROJECT_SOURCE_DIR}/src/mixer/include_internal
 )
 
+include_directories(${PROJECT_SOURCE_DIR}/src/include_internal)
+include_directories(/usr/include/gtest)
+include_directories(/usr/include/gstreamer-1.0)
+include_directories(/usr/include/glib-2.0)
+include_directories(/usr/lib/glib-2.0/include)
+include_directories(/usr/include/eo-1)
+include_directories(/usr/include/evas-1)
+include_directories(/usr/include/emile-1)
+include_directories(/usr/include/ecore-1)
+include_directories(/usr/include/ecore-wl2-1)
+include_directories(/usr/include/eina-1)
+include_directories(/usr/include/eina-1/eina)
+include_directories(/usr/include/efl-1)
+include_directories(/usr/include/dlog)
+include_directories(/usr/include/ecore-wayland-1)
+include_directories(/usr/include/elementary-1)
+include_directories(/usr/include/eet-1)
+include_directories(/usr/include/ecore-evas-1)
+include_directories(/usr/include/ecore-file-1)
+include_directories(/usr/include/ecore-input-1)
+include_directories(/usr/include/ecore-imf-1)
+include_directories(/usr/include/ecore-con-1)
+include_directories(/usr/include/edje-1)
+include_directories(/usr/include/efreet-1)
+include_directories(/usr/include/ethumb-client-1)
+include_directories(/usr/include/ethumb-1)
 FILE(GLOB UT_SRC
   src/plusplayer/*.cpp
+  src/esplusplayer/*.cpp
   src/ut_main.cpp
 )
 
-IF(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
-SET(UT_MIXER_SRC
-  src/mixer/constant.cpp
-  src/mixer/matcher.cpp
-  src/mixer/ut_mixer_capi.cpp
-  src/mixer/ut_mixer_espp_capi.cpp
-  src/mixer/ut_mixer.cpp
-  src/mixer/ut_mixerticket.cpp
-# src/mixer/ut_mixerscenario.cpp
-  src/mixer/ut_espp_mixerscenario.cpp
-  src/mixer/ut_mixedframe.cpp
-  src/mixer/ut_renderer.cpp
-  src/mixer/ut_tizenbuffermgr.cpp
-  src/mixer/ut_tizenbufferobj.cpp
-  src/mixer/ut_videoplane.cpp
-)
-#ADD_EXECUTABLE(${fw_name} ${UT_SRC} ${UT_MIXER_SRC})
-#ELSE(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
-#ADD_EXECUTABLE(${fw_name} ${UT_SRC})
-ENDIF(${PRODUCT_TYPE_AUDIO} STREQUAL "no")
 ADD_EXECUTABLE(${fw_name} ${UT_SRC})
 LINK_DIRECTORIES(${LIB_INSTALL_DIR})
 
diff --git a/ut/README.md b/ut/README.md
deleted file mode 100755 (executable)
index 0fa6c9e..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-**GTest guide** \r
-===============\r
-  For unit test for plusplayer\r
-\r
----\r
-### Reference \r
-- <https://github.com/google/googletest>\r
-\r
-## Assertion \r
-* ASSERT_* : 실패시 해당 테스트를 바로 종료 <br>\r
-* EXPECT_* : 실패하여도 테스트 계속 진행 <br>\r
-\r
-#### Basic Assertions ###\r
-\r
-These assertions do basic true/false condition testing.\r
-\r
-| **Fatal assertion** | **Nonfatal assertion** | **Verifies** |\r
-|:--------------------|:-----------------------|:-------------|\r
-| `ASSERT_TRUE(`_condition_`)`;  | `EXPECT_TRUE(`_condition_`)`;   | _condition_ is true |\r
-| `ASSERT_FALSE(`_condition_`)`; | `EXPECT_FALSE(`_condition_`)`;  | _condition_ is false |\r
-\r
-#### Binary Comparison ###\r
-\r
-This section describes assertions that compare two values.\r
-\r
-| **Fatal assertion** | **Nonfatal assertion** | **Verifies** |\r
-|:--------------------|:-----------------------|:-------------|\r
-|`ASSERT_EQ(`_val1_`, `_val2_`);`|`EXPECT_EQ(`_val1_`, `_val2_`);`| _val1_ `==` _val2_ |\r
-|`ASSERT_NE(`_val1_`, `_val2_`);`|`EXPECT_NE(`_val1_`, `_val2_`);`| _val1_ `!=` _val2_ |\r
-|`ASSERT_LT(`_val1_`, `_val2_`);`|`EXPECT_LT(`_val1_`, `_val2_`);`| _val1_ `<` _val2_ |\r
-|`ASSERT_LE(`_val1_`, `_val2_`);`|`EXPECT_LE(`_val1_`, `_val2_`);`| _val1_ `<=` _val2_ |\r
-|`ASSERT_GT(`_val1_`, `_val2_`);`|`EXPECT_GT(`_val1_`, `_val2_`);`| _val1_ `>` _val2_ |\r
-|`ASSERT_GE(`_val1_`, `_val2_`);`|`EXPECT_GE(`_val1_`, `_val2_`);`| _val1_ `>=` _val2_ |\r
-\r
-\r
-#### String Comparison ###\r
-\r
-The assertions in this group compare two **C strings**.<br>\r
-If you want to compare two `string` objects, use `EXPECT_EQ`, `EXPECT_NE`, and etc instead.\r
-\r
-| **Fatal assertion** | **Nonfatal assertion** | **Verifies** |\r
-|:--------------------|:-----------------------|:-------------|\r
-| `ASSERT_STREQ(`_str1_`, `_str2_`);`    | `EXPECT_STREQ(`_str1_`, `_str_2`);`     | the two C strings have the same content |\r
-| `ASSERT_STRNE(`_str1_`, `_str2_`);`    | `EXPECT_STRNE(`_str1_`, `_str2_`);`     | the two C strings have different content |\r
-| `ASSERT_STRCASEEQ(`_str1_`, `_str2_`);`| `EXPECT_STRCASEEQ(`_str1_`, `_str2_`);` | the two C strings have the same content, ignoring case |\r
-| `ASSERT_STRCASENE(`_str1_`, `_str2_`);`| `EXPECT_STRCASENE(`_str1_`, `_str2_`);` | the two C strings have different content, ignoring case |\r
-\r
-## Text Fixtures : Using the Same Data Configuration for Multiple Tests ##\r
-\r
-사용자가 유사한 data를 사용해서 하나 이상의 test를 작성한다면, test fixture를 사용할 수 있다. 이 test fixture를 사용한다는 것은 여러개의 다양한 test를 작성하는 과정에서 같은 object의 configuration을 재사용한다는 것을 의미한다.\r
-\r
-Fixture를 작성할 때에는 아래의 내용대로 수행하면 된다.\r
-\r
-1. ::testing::Test 로부터 class를 derive한다. Sub-class 에서 fixture member에 접근해야 하기 때문에 protected 혹은 public 으로 작성해야 한다.   \r
-2. Class 내부에서 사용자가 원하는대로 object들을 선언해 사용한다.  \r
-3. 필요하다면, 생성자나 SetUp() function을 작성해둔다.   \r
-4. 생성자나 SetUp() function을 정의해서 사용하고 있다면, 해당 function에서 사용했던 resource를 반환하기 위해 소멸자나 TearDown() function을 작성한다.   \r
-5. Subroutine 들을 작성한다.   \r
-\r
-Fixture를 사용하기 위해서는 TEST() 대신에 TEST_F()를 사용해야만 한다.\r
-TEST()에서는 첫번째 argument가 testcase의 이름이었지만 TEST_F()를 사용할 때는 첫번째 argument로 test fixture class의 이름을 사용해야만 한다.\r
-\r
-**Fixture class 기본 구현 Form**\r
-* 관례에 따라 테스트할 클래스가 Foo라면 이름을 FooTest라고 하는게 좋다.\r
-~~~\r
-class PlusPlayerTest : public ::testing::Test {\r
-public:\r
-  PlusPlayerTest(std::string url)\r
-    : plusplayer_(nullptr), url_(url)\r
-  {\r
-  }\r
-\r
-  void SetUp() override\r
-  {\r
-    plusplayer_ = new PlusPlayer();\r
-    create(url_);\r
-  }\r
-\r
-  void TearDown() override\r
-  {\r
-    destory(plusplayer_);\r
-  }\r
-\r
-private:\r
-  std::string url_;\r
-  PlusPlayer* plusplayer_;\r
-\r
-}\r
-~~~\r
-\r
-**실행 순서**   \r
-1. 모든 구글 테스트 플래그 상태를 저장한다.  \r
-2. 첫 번째 테스트에 대해 테스트 fixture 객체를 생성한다.  \r
-3. 만든 객체를 SetUp()에서 초기화한다.  \r
-4. 픽스처 객체에 대해 테스트를 실행한다.  \r
-5. TearDown()에서 해당 픽스처를 정리한다.  \r
-6. 해당 픽스처를 삭제한다.  \r
-7. 모든 구글 테스트 플래그 상태를 복원한다.  \r
-8. 모든 테스트를 마칠 때까지 다음 테스트에 대해 위 과정을 반복한다.   \r
-\r
----\r
-\r
-## Arguments \r
-reference\r
-\r
-1. test selection\r
-  * --gtest_list_tests <br>\r
-    > 테스트할 항목을 보여준다. (테스트 실시 X)\r
-  * --gtest_also_run_disabled_tests <br>\r
-    > DISABLED_ 로 막아둔 test case 를 일시적으로 실행\r
-  * --gtest_filter <br>\r
-    > 특정 case 들만 실행 가능<br>\r
-      Ex) --gtest_filter="*.create*" : 모든 TC중에서 create 로 시작하는 모든 TC 실행. <br>\r
-\r
-2. test Execution\r
-  * --gtest_repeat <br>\r
-    > test 반복 가능. -1일 경우 무한히 반복<br>\r
-      --gtest_break_on_failure와 함께 사용하면 실패할 경우 멈춤.\r
-  * --gtest_shuffle <br>\r
-    > 무작위로 실행 가능 (test case 간 dependency 가 없어야 하기 때문이다)<br>\r
-      gtest는 기본적으로 현재시간을 랜덤함수의 시드값으로 사용하나,  --gtest_random_seed로 조절가능하다\r
-  * --gtest_random_seed \r
-    > 1 ~ 99999까지의 값을 --gtest_shuffle에서 사용할 랜덤함수의 시드로 사용.\r
-\r
----\r
-## Reference\r
-  * Gtest Primer(EN)<br> <https://github.com/google/googletest/blob/master/googletest/docs/Primer.md>\r
old mode 100755 (executable)
new mode 100644 (file)
index 30f9e45..4799f0d
-//\r
-// @ Copyright [2018] <S/W Platform, Visual Display, Samsung Electronics>\r
-//\r
-\r
-#ifndef __PLUSPLAYER_UT_INCLUDE_ES_READER_H__\r
-#define __PLUSPLAYER_UT_INCLUDE_ES_READER_H__\r
-\r
-\r
-#include <string>\r
-#include <fstream>\r
-\r
-#include "esplusplayer_capi/esplusplayer_capi.h"\r
-\r
-static const std::string tc_root_dir = "/tmp/esdata/";\r
-\r
-class EsStreamReader {\r
- public:\r
-  explicit EsStreamReader(const std::string dirpath,\r
-                          esplusplayer_stream_type type) {\r
-    dir_path_ = tc_root_dir + dirpath;\r
-    es_data_file_ = dir_path_ + "ESP.es";\r
-    es_info_file_ = dir_path_ + "ESP.info";\r
-    extra_codec_file_ = dir_path_ + "ESP.codec_extradata";\r
-    type_ = type;\r
-    std::cout << "ES data file " << es_data_file_ << std::endl;\r
-  }\r
-  ~EsStreamReader() {\r
-    if (stream_.is_open()) {\r
-      stream_.close();\r
-    }\r
-  }\r
-\r
-  bool SetStreamInfo(esplusplayer_handle& esplayer) {\r
-    if (type_ == ESPLUSPLAYER_STREAM_TYPE_AUDIO) {\r
-      esplusplayer_audio_stream_info audio_stream;\r
-      audio_stream.codec_data = nullptr;\r
-      audio_stream.codec_data_length = 0;\r
-      GetExtraData_(audio_stream.codec_data, audio_stream.codec_data_length);\r
-      if (!GetMediaInfo_(audio_stream)) {\r
-        if (audio_stream.codec_data != nullptr)\r
-          delete []audio_stream.codec_data;\r
-        return false;\r
-      }\r
-\r
-      esplusplayer_set_audio_stream_info(esplayer, &audio_stream);\r
-      if (audio_stream.codec_data != nullptr)\r
-        delete []audio_stream.codec_data;\r
-    } else if (type_ == ESPLUSPLAYER_STREAM_TYPE_VIDEO) {\r
-      esplusplayer_video_stream_info video_stream;\r
-      video_stream.codec_data = nullptr;\r
-      video_stream.codec_data_length = 0;\r
-      GetExtraData_(video_stream.codec_data, video_stream.codec_data_length);\r
-      if (!GetMediaInfo_(video_stream)) {\r
-        if (video_stream.codec_data != nullptr)\r
-          delete []video_stream.codec_data;\r
-        return false;\r
-      }\r
-      esplusplayer_set_video_stream_info(esplayer, &video_stream);\r
-      if (video_stream.codec_data != nullptr)\r
-        delete []video_stream.codec_data;\r
-    }\r
-    return true;\r
-  }\r
-\r
-  bool ReadNextPacket(esplusplayer_es_packet& pkt) {\r
-    if (!stream_.is_open()) {\r
-      stream_ = std::ifstream(es_data_file_, std::ifstream::binary);\r
-      if (!stream_.is_open()) return false;\r
-    }\r
-    if (stream_.eof() || GetFileLeftSize_() < 24) {\r
-      std::cout << type_ << " stream EOF" << std::endl;\r
-      return false;\r
-    }\r
-    pkt.type = type_;\r
-    std::uint64_t size;\r
-    stream_.read(reinterpret_cast<char*>(&pkt.pts), sizeof(pkt.pts));\r
-    pkt.pts = pkt.pts / 1000000; //ns -> ms\r
-    stream_.read(reinterpret_cast<char*>(&pkt.duration), sizeof(pkt.duration));\r
-    pkt.duration = pkt.duration / 1000000; //ns -> ms\r
-    stream_.read(reinterpret_cast<char*>(&size), sizeof(size));\r
-    pkt.buffer_size = static_cast<uint32_t>(size);\r
-    if (pkt.buffer_size == 0) return false;\r
-    pkt.buffer = new char[pkt.buffer_size];\r
-    stream_.read(reinterpret_cast<char*>(pkt.buffer), pkt.buffer_size);\r
-    pkt.matroska_color_info = nullptr;\r
-    // std::cout << "Read audio/video buffer: " << type_ << std::endl;\r
-    // std::cout << "Type: " << type_ << "Pts: " << pkt.pts << "duration: " <<\r
-    // pkt.duration << "size: " << size << std::endl;\r
-    if (pkt.pts > 10000) return false; //max buffer 10sec\r
-    return true;\r
-  }\r
-\r
-  void ResetReader() {\r
-    stream_.seekg(0,std::ios::beg);\r
-  }\r
-\r
-private:\r
-  int GetFileLeftSize_(void) {\r
-    if (!stream_.is_open()) return 0;\r
-    int cur = stream_.tellg();\r
-    stream_.seekg(0, stream_.end);\r
-    int total = stream_.tellg();\r
-    stream_.seekg(cur);\r
-    return total - cur;\r
-  }\r
-  bool GetExtraData_(char*& data, unsigned int& size) {\r
-    auto stream = std::ifstream(extra_codec_file_, std::ifstream::binary);\r
-    if (!stream.is_open()) return false;\r
-    stream.read(reinterpret_cast<char*>(&size), sizeof(size));\r
-    if (size == 0) return false;\r
-    data = new char[size];\r
-    stream.read(data, size);\r
-    stream.close();\r
-    return true;\r
-  }\r
-\r
-  bool GetMediaInfo_(esplusplayer_video_stream_info& info) {\r
-    auto stream = std::ifstream(es_info_file_, std::ifstream::in);\r
-    if (!stream.is_open()) {\r
-      std::cout << "No video es file: " << es_info_file_ << std::endl;\r
-      return false;\r
-    }\r
-\r
-    uint32_t mime_type;\r
-    stream >> mime_type >> info.width >> info.height >> info.max_width >> info.max_height >>\r
-         info.framerate_num >> info.framerate_den;\r
-    info.mime_type = static_cast<esplusplayer_video_mime_type>(mime_type);\r
-    std::cout << "mime_type: " << info.mime_type << std::endl;\r
-    std::cout << "info.width: " << info.width << std::endl;\r
-    stream.close();\r
-    return true;\r
-  }\r
-\r
-  bool GetMediaInfo_(esplusplayer_audio_stream_info& info) {\r
-    auto stream = std::ifstream(es_info_file_, std::ifstream::in);\r
-    if (!stream.is_open()) {\r
-      std::cout << "No audio es file: " << es_info_file_ << std::endl;\r
-      return false;\r
-    }\r
-    uint32_t mime_type;\r
-    stream >> mime_type >> info.sample_rate >> info.channels;\r
-    info.mime_type = static_cast<esplusplayer_audio_mime_type>(mime_type);\r
-    std::cout << "mime_type: " << info.mime_type << std::endl;\r
-    std::cout << "info.sample_rate: " << info.sample_rate << std::endl;\r
-    stream.close();\r
-    return true;\r
-  }\r
-\r
-\r
-\r
- private:\r
-  std::string dir_path_;\r
-  std::string es_data_file_;\r
-  std::string es_info_file_;\r
-  std::string extra_codec_file_;\r
-  std::ifstream stream_;\r
-  esplusplayer_stream_type type_;\r
-};\r
-\r
-#endif  // __PLUSPLAYER_UT_INCLUDE_ES_READER_H__
\ No newline at end of file
+//
+// @ Copyright [2018] <S/W Platform, Visual Display, Samsung Electronics>
+//
+
+#ifndef __PLUSPLAYER_UT_INCLUDE_ES_READER_H__
+#define __PLUSPLAYER_UT_INCLUDE_ES_READER_H__
+
+#include <glib.h>
+#include <string>
+#include <fstream>
+
+#include "esplusplayer_capi/esplusplayer_capi.h"
+
+typedef enum {
+       NAL_SLICE_NO_PARTITIONING = 1,
+       NAL_SLICE_PART_A,
+       NAL_SLICE_PART_B,
+       NAL_SLICE_PART_C,
+       NAL_SLICE_IDR,
+       NAL_SEI,
+       NAL_SEQUENCE_PARAMETER_SET,
+       NAL_PICTURE_PARAMETER_SET,
+       NAL_PICTURE_DELIMITER,
+       NAL_END_OF_SEQUENCE,
+       NAL_END_OF_STREAM,
+       NAL_FILLER_DATA,
+       NAL_PREFIX_SVC = 14
+} nal_unit_type;
+
+#define ES_DEFAULT_VIDEO_PTS_OFFSET       42
+#define ES_DEFAULT_VIDEO_FPS           24
+
+#define ES_DEFAULT_AUDIO_PTS_OFFSET 23
+
+static const std::string tc_root_dir = "/home/owner/";
+
+class EsStreamReader {
+ public:
+  explicit EsStreamReader(const std::string dirpath,
+                          esplusplayer_stream_type type) {
+    dir_path_ = tc_root_dir + dirpath;
+    es_data_file_ = dir_path_ + "ESP.es";
+    es_info_file_ = dir_path_ + "ESP.info";
+    extra_codec_file_ = dir_path_ + "ESP.codec_extradata";
+    type_ = type;
+    std::cout << "ES data file " << es_data_file_ << std::endl;
+  }
+  ~EsStreamReader() {
+    if (stream_.is_open()) {
+      stream_.close();
+    }
+  }
+
+  bool SetStreamInfo(esplusplayer_handle& esplayer) {
+    if (type_ == ESPLUSPLAYER_STREAM_TYPE_AUDIO) {
+      esplusplayer_audio_stream_info audio_stream;
+      audio_stream.codec_data = nullptr;
+      audio_stream.codec_data_length = 0;
+      GetExtraData_(audio_stream.codec_data, audio_stream.codec_data_length);
+      if (!GetMediaInfo_(audio_stream)) {
+        if (audio_stream.codec_data != nullptr)
+          delete audio_stream.codec_data;
+        return false;
+      }
+
+      esplusplayer_set_audio_stream_info(esplayer, &audio_stream);
+      if (audio_stream.codec_data != nullptr)
+        delete audio_stream.codec_data;
+    } else if (type_ == ESPLUSPLAYER_STREAM_TYPE_VIDEO) {
+      esplusplayer_video_stream_info video_stream;
+      video_stream.codec_data = nullptr;
+      video_stream.codec_data_length = 0;
+      GetExtraData_(video_stream.codec_data, video_stream.codec_data_length);
+      if (!GetMediaInfo_(video_stream)) {
+        if (video_stream.codec_data != nullptr)
+          delete video_stream.codec_data;
+        return false;
+      }
+      esplusplayer_set_video_stream_info(esplayer, &video_stream);
+      if (video_stream.codec_data != nullptr)
+        delete video_stream.codec_data;
+    }
+    return true;
+  }
+
+  bool ReadNextPacket(esplusplayer_es_packet& pkt) {
+    static guint64 pts = 0L;
+    if (!stream_.is_open()) {
+      stream_ = std::ifstream(es_data_file_, std::ifstream::binary);
+      if (!stream_.is_open()) return false;
+    }
+    if (stream_.eof() || GetFileLeftSize_() < 24) {
+      std::cout << type_ << " stream EOF" << std::endl;
+      return false;
+    }
+
+    char* tmp = new char[1000000];
+    pkt.type = type_;
+
+    if (type_ == ESPLUSPLAYER_STREAM_TYPE_VIDEO) {
+      int size = videobytestream2nalunit(tmp);
+
+      if (size <= 0) {
+        return false;
+        delete tmp;
+      }
+
+      pkt.buffer = new char[size];
+      memcpy(pkt.buffer, tmp, size);
+
+      pkt.pts = pts;
+      pkt.duration = ES_DEFAULT_VIDEO_PTS_OFFSET;
+      pkt.buffer_size = size;
+
+      pts += ES_DEFAULT_VIDEO_PTS_OFFSET;
+    } else if (type_ == ESPLUSPLAYER_STREAM_TYPE_AUDIO) {
+      int size = audiobytestream2nalunit(tmp);
+
+      if (size <= 0) {
+        return false;
+        delete tmp;
+      }
+      pkt.buffer = new char[size];
+
+      memcpy(pkt.buffer, tmp, size);
+
+      pkt.pts = pts;
+      pkt.duration = ES_DEFAULT_VIDEO_PTS_OFFSET;
+      pkt.buffer_size = size;
+
+      pts += ES_DEFAULT_VIDEO_PTS_OFFSET;
+    }
+    delete tmp;
+    return true;
+  }
+
+  void ResetReader() {
+    stream_.seekg(0,std::ios::beg);
+  }
+
+private:
+ int videobytestream2nalunit(char *nal)
+  {
+    int nal_length = 0;
+    unsigned int read_size = 1;
+    char buffer[1000000];
+    unsigned char val, zero_count, i;
+    int init = 0;
+    int type = 0;
+
+    do {
+      zero_count = 0;
+
+      stream_.read(buffer, read_size);
+
+      val = buffer[0];
+      nal[nal_length++] = val;
+      while (1) {
+        if ((zero_count == 2 || zero_count == 3) && val == 1)
+          break;
+        zero_count++;
+        stream_.read(buffer, read_size);
+
+        val = buffer[0];
+        nal[nal_length++] = val;
+      }
+
+      zero_count = 0;
+      init = 1;
+
+      while (1) {
+        if (stream_.eof())
+          return -1;
+
+        stream_.read(buffer, read_size);
+
+        val = buffer[0];
+
+        if (init) {
+          type = val & 0x1F;
+          init = 0;
+        }
+
+        if (!val) {
+          zero_count++;
+        } else {
+          if ((zero_count == 2 || zero_count == 3 || zero_count == 4)
+            && (val == 1)) {
+            break;
+          } else {
+            for (i = 0; i < zero_count; i++)
+              nal[nal_length++] = 0;
+            nal[nal_length++] = val;
+            zero_count = 0;
+          }
+        }
+      }
+
+      stream_.seekg(-(zero_count + 1), std::ios::cur);
+    } while (type == NAL_SEI ||
+        type == NAL_SEQUENCE_PARAMETER_SET ||
+        type == NAL_PICTURE_PARAMETER_SET ||
+        type == NAL_PICTURE_DELIMITER);
+
+
+    return nal_length;
+  }
+
+  int audiobytestream2nalunit(char *nal)
+  {
+    const int HEADER_SIZE = 7;
+    int nal_length = 0;
+    int audio_data_length = 0;
+
+    if (nal == NULL || stream_.eof())
+      return -1;
+
+    stream_.read(nal, HEADER_SIZE);
+
+    nal_length = static_cast<int>(((nal[4] << 3) & 0x7ff)
+      + (((nal[5] - 0x1f) >> 5) & 0x7));
+
+    audio_data_length = nal_length - HEADER_SIZE;
+    stream_.read(nal + HEADER_SIZE, audio_data_length);
+
+    return nal_length;
+  }
+  int GetFileLeftSize_(void) {
+    if (!stream_.is_open()) return 0;
+    int cur = stream_.tellg();
+    stream_.seekg(0, stream_.end);
+    int total = stream_.tellg();
+    stream_.seekg(cur);
+    return total - cur;
+  }
+  bool GetExtraData_(char*& data, unsigned int& size) {
+    auto stream = std::ifstream(extra_codec_file_, std::ifstream::binary);
+    if (!stream.is_open()) return false;
+    stream.read(reinterpret_cast<char*>(&size), sizeof(size));
+    if (size == 0) return false;
+    data = new char[size];
+    stream.read(data, size);
+    stream.close();
+    return true;
+  }
+
+  bool GetMediaInfo_(esplusplayer_video_stream_info& info) {
+    auto stream = std::ifstream(es_info_file_, std::ifstream::in);
+    if (!stream.is_open()) {
+      std::cout << "No video es file: " << es_info_file_ << std::endl;
+      return false;
+    }
+
+    uint32_t mime_type;
+    stream >> mime_type >> info.width >> info.height >> info.max_width >> info.max_height >>
+         info.framerate_num >> info.framerate_den;
+    info.mime_type = static_cast<esplusplayer_video_mime_type>(mime_type);
+    std::cout << "mime_type: " << info.mime_type << std::endl;
+    std::cout << "info.width: " << info.width << std::endl;
+    stream.close();
+    return true;
+  }
+
+  bool GetMediaInfo_(esplusplayer_audio_stream_info& info) {
+    auto stream = std::ifstream(es_info_file_, std::ifstream::in);
+    if (!stream.is_open()) {
+      std::cout << "No audio es file: " << es_info_file_ << std::endl;
+      return false;
+    }
+    uint32_t mime_type;
+    stream >> mime_type >> info.sample_rate >> info.channels;
+    info.mime_type = static_cast<esplusplayer_audio_mime_type>(mime_type);
+    std::cout << "mime_type: " << info.mime_type << std::endl;
+    std::cout << "info.sample_rate: " << info.sample_rate << std::endl;
+    stream.close();
+    return true;
+  }
+
+
+
+ private:
+  std::string dir_path_;
+  std::string es_data_file_;
+  std::string es_info_file_;
+  std::string extra_codec_file_;
+  std::ifstream stream_;
+  esplusplayer_stream_type type_;
+};
+
+#endif  // __PLUSPLAYER_UT_INCLUDE_ES_READER_H__
old mode 100755 (executable)
new mode 100644 (file)
index 260353d..01b8db1
@@ -12,7 +12,7 @@ namespace es_tc {
   std::vector<std::string> tc_list = {
     es_h264_aac,
     //es_hevc_ac3,
-    es_vp9_opus,
+    //es_vp9_opus,
   };
 }
 
diff --git a/ut/include/mixer/constant.h b/ut/include/mixer/constant.h
deleted file mode 100755 (executable)
index 5cf3ac4..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_CONSTANT_H__
-#define __PLUSPLAYER_MIXER_UT_CONSTANT_H__
-
-#include <tbm_type.h>
-
-#include <cstdint>
-#include <type_traits>
-
-#include "mixer/mixer.h"
-#include "mixer/types/buffertype.h"
-#include "mixer/types/planecomponent.h"
-#include "mixer/types/videoplanemanipinfo.h"
-#include "plusplayer/types/display.h"
-
-namespace plusplayer_ut {
-using namespace plusplayer;
-
-VideoPlaneManipulableInfo GetVideoPlaneManipulableInfo(
-    BufferHandleType handle, const PlaneComponent& comp,
-    const std::uint32_t& linesize, const Geometry& geom);
-
-Geometry GetGeometry(const int& x, const int& y, const int& w, const int& h);
-
-CropArea GetCropArea(const double& x, const double& y, const double& w,
-                     const double& h);
-
-Mixer::ResolutionInfo GetResolutionInfo(int width, int height, int fnum,
-                                        int fden);
-
-static const std::uint32_t kDefaultWidth = 1920;
-static const std::uint32_t kDefaultHeight = 1080;
-static const std::uint32_t kSmallWidth = 192;
-static const std::uint32_t kSmallHeight = 108;
-static const std::uint32_t kInvalidWidth = 0;
-static const std::uint32_t kInvalidHeight = 0;
-static const std::uint32_t kExpectedDefaultByteSize =
-    (kDefaultWidth * kDefaultHeight * 3) >> 1;
-
-static const std::uint32_t kDefaultFramerateNum = 30;
-static const std::uint32_t kDefaultFramerateDen = 1;
-static const std::uint32_t kFastFramerateNum = 60;
-static const std::uint32_t kFastFramerateDen = 1;
-static const std::uint32_t kInvalidFramerateNum = 0;
-static const std::uint32_t kInvalidFramerateDen = 0;
-
-static const std::uint32_t kDefaultX = 10;
-static const std::uint32_t kDefaultY = 20;
-static const std::uint32_t kDefaultW = 30;
-static const std::uint32_t kDefaultH = 40;
-
-static const std::uint32_t kDefaultLineSize = kDefaultWidth;
-static const BufferHandleType kDefaultBufferHandle = 1;
-static const BufferHandleType kInvalidBufferHandle = 0;
-static const BufferKeyType kDefaultBufferKey = 1;
-static const BufferKeyType kInvalidBufferKey = 0;
-
-extern BufferDefaultType kDefaultBuffer;
-extern BufferUnionHandleType kDefaultMappedHandle;
-
-static const auto kYComponentSrcVMInfo = GetVideoPlaneManipulableInfo(
-    kDefaultBufferHandle, PlaneComponent::kYComponent, kDefaultLineSize,
-    GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH));
-static const auto kUVComponentSrcVMInfo = GetVideoPlaneManipulableInfo(
-    kDefaultBufferHandle, PlaneComponent::kUVComponent, kDefaultLineSize,
-    GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH));
-
-static const auto kYComponentDestVMInfo = GetVideoPlaneManipulableInfo(
-    kDefaultBufferHandle, PlaneComponent::kYComponent, kDefaultLineSize,
-    GetGeometry(0, 0, kDefaultWidth, kDefaultHeight));
-static const auto kUVComponentDestVMInfo = GetVideoPlaneManipulableInfo(
-    kDefaultBufferHandle, PlaneComponent::kUVComponent, kDefaultLineSize,
-    GetGeometry(0, kDefaultHeight, kDefaultWidth >> 1, kDefaultHeight >> 1));
-
-static const auto kCroppedYComponentDestVMInfo = GetVideoPlaneManipulableInfo(
-    kDefaultBufferHandle, PlaneComponent::kYComponent, kDefaultLineSize,
-    GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH));
-static const auto kCroppedUVComponentDestVMInfo = GetVideoPlaneManipulableInfo(
-    kDefaultBufferHandle, PlaneComponent::kUVComponent, kDefaultLineSize,
-    GetGeometry(kDefaultX >> 1, (kDefaultY >> 1) + kDefaultHeight,
-                kDefaultW >> 1, kDefaultH >> 1));
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_CONSTANT_H__
\ No newline at end of file
diff --git a/ut/include/mixer/matcher.h b/ut/include/mixer/matcher.h
deleted file mode 100755 (executable)
index a44a661..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_MATCHER_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_MATCHER_H__
-
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-
-#include <memory>
-#include <stdexcept>
-#include <string>
-
-#include "mixer/types/videoplanemanipinfo.h"
-
-namespace plusplayer_ut {
-using namespace plusplayer;
-
-using ::testing::MakeMatcher;
-using ::testing::Matcher;
-using ::testing::MatcherInterface;
-using ::testing::MatchResultListener;
-
-class IsSameVideoPlaneManipulableInfoMatcher
-    : public MatcherInterface<const VideoPlaneManipulableInfo&> {
- public:
-  explicit IsSameVideoPlaneManipulableInfoMatcher(
-      const VideoPlaneManipulableInfo& comparer)
-      : comparer_(comparer) {}
-  virtual ~IsSameVideoPlaneManipulableInfoMatcher() {}
-  bool MatchAndExplain(const VideoPlaneManipulableInfo& info,
-                       MatchResultListener* listener) const override {
-    if (info.handle != comparer_.handle) {
-      *listener << "handle: " << info.handle << " vs " << comparer_.handle;
-      return false;
-    }
-    if (info.component != comparer_.component) {
-      *listener << "component: " << static_cast<int>(info.component) << " vs "
-                << static_cast<int>(comparer_.component);
-      return false;
-    }
-    if (info.linesize != comparer_.linesize) {
-      *listener << "linesize: " << info.linesize << " vs "
-                << comparer_.linesize;
-      return false;
-    }
-    if (info.rect.x != comparer_.rect.x) {
-      *listener << "rect.x: " << info.rect.x << " vs " << comparer_.rect.x;
-      return false;
-    }
-    if (info.rect.y != comparer_.rect.y) {
-      *listener << "rect.y: " << info.rect.y << " vs " << comparer_.rect.y;
-      return false;
-    }
-    if (info.rect.w != comparer_.rect.w) {
-      *listener << "rect.w: " << info.rect.w << " vs " << comparer_.rect.w;
-      return false;
-    }
-    if (info.rect.h != comparer_.rect.h) {
-      *listener << "rect.h: " << info.rect.h << " vs " << comparer_.rect.h;
-      return false;
-    }
-    return true;
-  }
-
-  void DescribeTo(std::ostream* os) const override {
-    *os << "is same with your param";
-  }
-
-  void DescribeNegationTo(std::ostream* os) const override {
-    *os << "is not same";
-  }
-
- private:
-  const VideoPlaneManipulableInfo& comparer_;
-};
-
-Matcher<const VideoPlaneManipulableInfo&> IsSameVideoPlaneManipulableInfo(
-    const VideoPlaneManipulableInfo& comparer);
-}  // namespace plusplayer_ut
-
-using ::testing::PrintToString;
-
-template <typename... Args>
-std::string StringFormat(const std::string& format, Args... args) {
-  size_t size = snprintf(nullptr, 0, format.c_str(), args...) +
-                1;  // Extra space for '\0'
-  if (size <= 0) {
-    throw std::runtime_error("Error during formatting.");
-  }
-  std::unique_ptr<char[]> buf(new char[size]);
-  snprintf(buf.get(), size, format.c_str(), args...);
-  return std::string(buf.get(),
-                     buf.get() + size - 1);  // We don't want the '\0' inside
-}
-
-MATCHER_P(IsSameGeometry, geom,
-          StringFormat("%s in (x, y, w, h) [%d, %d, %d, %d]",
-                       negation ? "isn't" : "is", geom.x, geom.y, geom.w,
-                       geom.h)) {
-  if (geom.x != arg.x) return false;
-  if (geom.y != arg.y) return false;
-  if (geom.w != arg.w) return false;
-  if (geom.h != arg.h) return false;
-  return true;
-}
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_MATCHER_H__
\ No newline at end of file
diff --git a/ut/include/mixer/mock/fakebuffer.h b/ut/include/mixer/mock/fakebuffer.h
deleted file mode 100755 (executable)
index 053c8f1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_FAKE_BUFFER_H__
-#define __PLUSPLAYER_MIXER_UT_FAKE_BUFFER_H__
-
-#include <gmock/gmock.h>
-
-#include <cstdint>
-#include <memory>
-
-using ::testing::MakePolymorphicAction;
-using ::testing::PolymorphicAction;
-
-namespace plusplayer_ut {
-struct FakeBuffer {
-  FakeBuffer(const std::uint32_t& size)
-      : ptr(std::unique_ptr<char[]>(new char[size])), size(size) {}
-  std::unique_ptr<char[]> ptr = nullptr;
-  const std::uint32_t size = 0;
-};
-using FakeBufferPtr = std::unique_ptr<FakeBuffer>;
-
-class CreateFakeBufferAction {
- public:
-  explicit CreateFakeBufferAction(FakeBufferPtr& buffer) : buffer_(buffer) {}
-  template <typename Result, typename ArgumentTuple>
-  Result Perform(const ArgumentTuple& args) const {
-    auto size = std::get<0>(args);
-    if (size == 0) return;
-    buffer_.reset(new FakeBuffer(size));
-  }
-
- private:
-  FakeBufferPtr& buffer_;
-};
-
-static PolymorphicAction<CreateFakeBufferAction> CreateFakeBuffer(
-    FakeBufferPtr& buffer) {
-  return MakePolymorphicAction(CreateFakeBufferAction(buffer));
-}
-
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_FAKE_BUFFER_H__
\ No newline at end of file
diff --git a/ut/include/mixer/mock/mock_bufferobject.h b/ut/include/mixer/mock/mock_bufferobject.h
deleted file mode 100755 (executable)
index 958d737..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_BUFFER_OBJECT_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_BUFFER_OBJECT_H__
-
-#include <gmock/gmock.h>
-
-#include "mixer/constant.h"
-#include "mixer/interfaces/accessiblebuffer.h"
-#include "mixer/interfaces/bufferobject.h"
-#include "mixer/mock/movable.h"
-
-namespace plusplayer_ut {
-using namespace plusplayer;
-class MockBufferObject : public BufferObject {
- public:
-  MOCK_CONST_METHOD0(GetBufferHandle, BufferHandleType());
-  MOCK_CONST_METHOD0(Export, BufferKeyType());
-  MOCK_CONST_METHOD0(GetSize, std::uint32_t());
-};
-
-class MockAccessibleBufferObject : public BufferObject,
-                                   public AccessibleBuffer {
- public:
-  MOCK_CONST_METHOD0(GetReadableAddress_, Mover<PhyAddrAccessorPtr>());
-  MOCK_CONST_METHOD0(GetWritableAddress_, Mover<PhyAddrAccessorPtr>());
-  MOCK_CONST_METHOD0(GetBufferHandle, BufferHandleType());
-  MOCK_CONST_METHOD0(Export, BufferKeyType());
-  MOCK_CONST_METHOD0(GetSize, std::uint32_t());
-  PhyAddrAccessorPtr GetReadableAddress() const {
-    return std::move(GetReadableAddress_().get());
-  }
-  PhyAddrAccessorPtr GetWritableAddress() const {
-    return std::move(GetWritableAddress_().get());
-  }
-};
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_BUFFER_OBJECT_H__
diff --git a/ut/include/mixer/mock/mock_memallocator.h b/ut/include/mixer/mock/mock_memallocator.h
deleted file mode 100755 (executable)
index cc89f29..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_MEMORY_ALLOCATOR_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_MEMORY_ALLOCATOR_H__
-
-#include <gmock/gmock.h>
-
-#include "mixer/constant.h"
-#include "mixer/interfaces/memoryallocator.h"
-
-namespace plusplayer_ut {
-using namespace plusplayer;
-class MockMemoryAllocator : public MemoryAllocator {
- public:
-  MOCK_CONST_METHOD1(Allocate, BufferObject*(const std::uint32_t&));
-};
-}  // namespace plusplayer_ut
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_MEMORY_ALLOCATOR_H__
diff --git a/ut/include/mixer/mock/mock_phyaddraccessor.h b/ut/include/mixer/mock/mock_phyaddraccessor.h
deleted file mode 100755 (executable)
index 637150f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_PHYSICAL_ADDRESS_ACCESSOR_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_PHYSICAL_ADDRESS_ACCESSOR_H__
-
-#include <gmock/gmock.h>
-
-#include "mixer/interfaces/phyaddraccessor.h"
-
-namespace plusplayer {
-class MockPhyAddrAccessor : public PhysicalAddressAccessor {
- public:
-  virtual ~MockPhyAddrAccessor() = default;
-  MOCK_METHOD0(GetAddress, BufferPhysicalAddrType());
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_PHYSICAL_ADDRESS_ACCESSOR_H__
\ No newline at end of file
diff --git a/ut/include/mixer/mock/mock_renderableobj.h b/ut/include/mixer/mock/mock_renderableobj.h
deleted file mode 100755 (executable)
index c729e53..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_RENDERABLE_OBJECT_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_RENDERABLE_OBJECT_H__
-
-#include <gmock/gmock.h>
-
-#include <cstdint>
-#include <memory>
-#include <vector>
-
-#include "mixer/constant.h"
-#include "mixer/interfaces/renderableobject.h"
-#include "mixer/interfaces/videoplanemanipulator.h"
-#include "mixer/types/videoplanemanipinfo.h"
-#include "plusplayer/types/display.h"
-
-namespace plusplayer_ut {
-
-class MockRenderableObject : public RenderableObject {
- public:
-  MOCK_CONST_METHOD0(GetVideoPlaneManipInfo,
-                     const std::vector<VideoPlaneManipulableInfo>());
-  MOCK_CONST_METHOD0(IsValid, bool());
-  MOCK_CONST_METHOD0(GetWidth, std::uint32_t());
-  MOCK_CONST_METHOD0(GetHeight, std::uint32_t());
-  MOCK_CONST_METHOD0(GetSize, std::uint32_t());
-  MOCK_METHOD3(Render, bool(const VideoPlaneManipulator* const,
-                            const std::vector<VideoPlaneManipulableInfo>&,
-                            const Geometry&));
-  MOCK_METHOD4(Fill, bool(const VideoPlaneColorManipulator* const,
-                          const PlaneComponent&, const std::uint32_t&,
-                          const Geometry&));
-  MOCK_CONST_METHOD1(Export, bool(BufferKeyType&));
-};
-
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_RENDERABLE_OBJECT_H__
\ No newline at end of file
diff --git a/ut/include/mixer/mock/mock_renderableobj_factory.h b/ut/include/mixer/mock/mock_renderableobj_factory.h
deleted file mode 100755 (executable)
index 46b022d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_RENDERABLE_OBJECT_FACTORY_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_RENDERABLE_OBJECT_FACTORY_H__
-
-#include <gmock/gmock.h>
-
-#include <cstdint>
-
-#include "mixer/constant.h"
-#include "mixer/interfaces/renderableobj_factory.h"
-
-namespace plusplayer_ut {
-class MockRenderableObjectFactory : public RenderableObjectFactory {
- public:
-  MOCK_CONST_METHOD2(CreateRenderableObject,
-                     RenderableObject*(const std::uint32_t width,
-                                       const std::uint32_t height));
-};
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_RENDERABLE_OBJECT_FACTORY_H__
\ No newline at end of file
diff --git a/ut/include/mixer/mock/mock_renderer_evtlistener.h b/ut/include/mixer/mock/mock_renderer_evtlistener.h
deleted file mode 100755 (executable)
index 7b574ed..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_RENDERER_EVENT_LISTENER_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_RENDERER_EVENT_LISTENER_H__
-
-#include <gmock/gmock.h>
-
-#include "mixer/constant.h"
-#include "mixer/renderer.h"
-
-namespace plusplayer_ut {
-class MockRendererEventListener : public RendererEventListener {
- public:
-  MOCK_METHOD1(OnRenderingRelease, bool(const BufferKeyType&));
-};
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_RENDERER_EVENT_LISTENER_H__
\ No newline at end of file
diff --git a/ut/include/mixer/mock/mock_vpcollection.h b/ut/include/mixer/mock/mock_vpcollection.h
deleted file mode 100755 (executable)
index 60527e4..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_VIDEOPLANECOLLECTION_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_VIDEOPLANECOLLECTION_H__
-
-#include <gmock/gmock.h>
-
-#include "mixer/constant.h"
-#include "mixer/interfaces/videoplanecollection.h"
-
-namespace plusplayer_ut {
-class MockVideoPlaneCollection : public VideoPlaneCollection {
- public:
-  MOCK_CONST_METHOD0(GetVideoPlaneManipInfo,
-                     const std::vector<VideoPlaneManipulableInfo>());
-};
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_VIDEOPLANECOLLECTION_H__
\ No newline at end of file
diff --git a/ut/include/mixer/mock/mock_vpmanipulator.h b/ut/include/mixer/mock/mock_vpmanipulator.h
deleted file mode 100755 (executable)
index 8b0d0e1..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_VIDEO_PLANE_MANIPULATOR_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_VIDEO_PLANE_MANIPULATOR_H__
-
-#include <cstdint>
-
-#include "mixer/constant.h"
-#include "mixer/interfaces/videoplanemanipulator.h"
-
-namespace plusplayer_ut {
-using namespace plusplayer;
-
-class MockVideoPlaneManipulator : public VideoPlaneManipulator {
- public:
-  MOCK_CONST_METHOD2(Do, bool(const VideoPlaneManipulableInfo&,
-                              const VideoPlaneManipulableInfo&));
-};
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_VIDEO_PLANE_MANIPULATOR_H__
\ No newline at end of file
diff --git a/ut/include/mixer/mock/mock_vpscaler.h b/ut/include/mixer/mock/mock_vpscaler.h
deleted file mode 100755 (executable)
index c2c673f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_MOCK_VIDEO_PLANE_SCALER_H__
-#define __PLUSPLAYER_MIXER_MOCK_VIDEO_PLANE_SCALER_H__
-
-#include <gmock/gmock.h>
-
-#include "mixer/constant.h"
-#include "mixer/interfaces/videoplanescaler.h"
-
-namespace plusplayer {
-class MockVideoPlaneScaler : public VideoPlaneScaler {
- public:
-  virtual ~MockVideoPlaneScaler() = default;
-  MOCK_CONST_METHOD0(GetScaleManipulator, const VideoPlaneManipulator* const());
-};
-}  // namespace plusplayer
-
-#endif  // __PLUSPLAYER_MIXER_MOCK_VIDEO_PLANE_SCALER_H__
\ No newline at end of file
diff --git a/ut/include/mixer/mock/movable.h b/ut/include/mixer/mock/movable.h
deleted file mode 100755 (executable)
index 5f427a6..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_MOVABLE_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_MOVABLE_H__
-
-#include <cassert>
-
-namespace plusplayer_ut {
-
-template <typename T>
-class Mover {
- public:
-  Mover(T&& object) : object(std::move(object)), valid(true) {}
-
-  Mover(const Mover<T>& other)
-      : object(const_cast<T&&>(other.object)), valid(true) {
-    assert(other.valid);
-    other.valid = false;
-  }
-
-  Mover& operator=(const Mover& other) {
-    assert(other.valid);
-    object = const_cast<T&&>(other.object);
-    other.valid = false;
-    valid = true;
-  }
-
-  T& get() {
-    assert(valid);
-    return object;
-  }
-
-  const T& get() const {
-    assert(valid);
-    return *object;
-  }
-
- private:
-  T object;
-  mutable bool valid;
-};
-
-template <typename T>
-inline Mover<T> Movable(T&& object) {
-  return Mover<T>(std::move(object));
-}
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_MOVABLE_H__
diff --git a/ut/include/mixer/mock/moveobj_wrapper.h b/ut/include/mixer/mock/moveobj_wrapper.h
deleted file mode 100755 (executable)
index aaabbf3..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef __PLUSPLAYER_MIXER_UT_MOCK_MOVE_OBJECT_WRAPPER_H__
-#define __PLUSPLAYER_MIXER_UT_MOCK_MOVE_OBJECT_WRAPPER_H__
-
-#include <iostream>
-
-namespace plusplayer_ut {
-template <typename T>
-class MoveObjectWrapper {
- public:
-  explicit MoveObjectWrapper(T* obj) : obj_(obj) {}
-  virtual ~MoveObjectWrapper() {
-    if (moved_ == false) {
-      delete obj_;
-      std::cout << "CALLED dtor" << std::endl;
-    }
-  }
-  MoveObjectWrapper<T>& operator=(T* obj) { obj_ = obj; }
-  T& Get() { return *obj_; }
-  T* Move() {
-    moved_ = true;
-    return obj_;
-  }
-
- private:
-  T* obj_ = nullptr;
-  bool moved_ = false;
-};
-}  // namespace plusplayer_ut
-
-#endif  // __PLUSPLAYER_MIXER_UT_MOCK_MOVE_OBJECT_WRAPPER_H__
\ No newline at end of file
diff --git a/ut/include/plusplayer/imagesimilarity.h b/ut/include/plusplayer/imagesimilarity.h
deleted file mode 100755 (executable)
index 7df4535..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __IMAGESIMILARITY_H_
-#define __IMAGESIMILARITY_H_
-
-class ImageSimilarity {
-
-public:
-/**
- * @brief measuring the similarity of the images using PSNR (Peak Signal-to-Noise Ratio)
- * @remarks 
- * @param[in] image1 first image that measures the similarity
- * @param[in] image2 second image that measures the similarity with image1
- * @return Normalized Similarity value (0~100) on success, higher is better. 
- *         otherwise a negative error value           
- * @pre the image1 and image2 should be properly allocated.
- * @post None
- * @exception None
- */
-       double CompareImagesWithPSNR(char *reference_image, char *comparison_image);
-
-/**
- * @brief measuring the similarity of tho images using SSIM (Structural Similarity)
- * @remarks MSSIM (Mean of Structureal Similarity)
- * @param[in] image1 first image that measures the similarity
- * @param[in] image2 second image that measures the similarity with image1
- * @return Normalized Similarity value (0~100) on success, higher is better. 
- *         otherwise a negative error value
- * @pre the image1 and image2 should be properly allocated.
- * @post None
- * @exception None
- */
-       double CompareImagesWithMSSIM(char *reference_image, char *comparison_image);
-};
-
-#endif
old mode 100755 (executable)
new mode 100644 (file)
index e3ca27e..964c92e
@@ -10,8 +10,6 @@
 
 #include "core/utils/plusplayer_log.h"
 #include "esplusplayer_capi/esplusplayer_capi.h"
-#include "mixer_capi/mixer_capi.h"
-//#include "plusplayer/plusplayer.h"
 #include "plusplayer/types/display.h"
 #include "ut/include/appwindow.h"
 
@@ -28,9 +26,6 @@
 #define DEFAULT_TIMEOUT_FOR_SEEKING (25 * 1000)
 #define EOS_WAIT_TIME 10000
 
-class IAudioControl;
-class DiagnosisAudioControl;
-
 namespace utils {
 class Utility;
 using evas_h = Evas_Object*;
@@ -50,29 +45,7 @@ class Utility {
 
   const char* GetCurrentTestName(void);
 
-#ifndef IS_AUDIO_PRODUCT
-
-#if 0
-  plusplayer::PlusPlayer::Ptr GetOpenedMixPlusPlayer(std::string& uri,
-                                                     plusplayer::Mixer* mixer,
-                                                     plusplayer::Geometry& roi);
-
-  plusplayer::PlusPlayer::Ptr GetPreparedMixPlusPlayer(
-      std::string& uri, plusplayer::Mixer* mixer, plusplayer::Geometry& roi);
-
-  plusplayer::PlusPlayer::Ptr GetStartedMixPlusPlayer(
-      std::string& uri, plusplayer::Mixer* mixer, plusplayer::Geometry& roi);
-#endif
 
-  esplusplayer_handle GetOpenedMixESPP(mixer_handle mixer,
-                                       plusplayer::Geometry& roi);
-
-  esplusplayer_handle GetPreparedMixESPP(std::string& uri, mixer_handle mixer,
-                                         plusplayer::Geometry& roi);
-
-  esplusplayer_handle GetStartedMixESPP(std::string& uri, mixer_handle mixer,
-                                        plusplayer::Geometry& roi);
-#endif
   esplusplayer_handle GetOpenedESPP(plusplayer::Geometry& roi);
 
   esplusplayer_handle GetPreparedESPP(std::string& uri,
@@ -91,20 +64,6 @@ class Utility {
 
   evas_h GetWindow() const;
 
-  int CaptureYUV(int capture_width, int capture_height, char* ybuff,
-                 char* cbuff, int ysize, int csize,
-                 std::string result_file_path);
-  
-  int CaptureJPG(const int capture_width, const int capture_height, char* ybuff,
-                 char* cbuff, const int ysize, const int csize,
-                 std::string img_file_path);
-  
-  int CheckYUV(int x, int y);
-  bool IsAudioDisconnected();
-  bool IsAudioConnected() {return !IsAudioDisconnected();}
-  bool IsAudioMute();
-  bool IsAudioUnmute() {return !IsAudioMute();}
-
   Utility(const Utility& rhs) = delete;
   Utility& operator=(const Utility& rhs) = delete;
 
@@ -113,8 +72,6 @@ class Utility {
 
  private:
   std::unique_ptr<plusplayer_ut::AppWindow> appwindow_;
-  IAudioControl* audioControl = nullptr;
-  DiagnosisAudioControl* audioDiagnoser = nullptr;
 };
 
 enum class WatcherStatus {
old mode 100755 (executable)
new mode 100644 (file)
index 00069cc..a6b8fab
-//\r
-// @ Copyright [2018] <S/W Platform, Visual Display, Samsung Electronics>\r
-//\r
-\r
-#ifndef __PLUSPLAYER_UT_INCLUDE_ESCOMMON_H__\r
-#define __PLUSPLAYER_UT_INCLUDE_ESCOMMON_H__\r
-\r
-#include <chrono>\r
-#include <cstdlib>\r
-#include <fstream>\r
-#include <memory>\r
-#include <string>\r
-#include <thread>\r
-#include <vector>\r
-\r
-#include "gtest/gtest.h"\r
-\r
-#include "plusplayer/espacket.h"\r
-#include "ut/include/appwindow.h"\r
-\r
-namespace pp = plusplayer;\r
-\r
-namespace utils {\r
-inline bool Exists(const std::string &path) {\r
-  std::ifstream ifile(path);\r
-  return static_cast<bool>(ifile);\r
-}\r
-}  // namespace utils\r
-\r
-namespace {\r
-class Environment {\r
- public:\r
-  Environment() {\r
-    appwindow_.reset(new plusplayer_ut::AppWindow(0, 0, 1920, 1080));\r
-  }\r
-  void *Window() { return appwindow_->GetWindow().obj; }\r
-  void *EcoreWindow() { return appwindow_->GetEcoreWL2Window(); }\r
-\r
- private:\r
-  std::shared_ptr<plusplayer_ut::AppWindow> appwindow_;\r
-};\r
-\r
-class ESPacketDownloader {\r
- public:\r
-  static void Init() {\r
-    if (utils::Exists("/tmp/esdata")) {\r
-      return;\r
-    }\r
-    std::cout << "Download ESData via http - path : /tmp/esdata" << std::endl;\r
-    int ret = std::system(\r
-        "/usr/bin/wget "\r
-        "--recursive --directory-prefix=/tmp/esdata --force-directories "\r
-        "--no-host-directories --cut-dirs=2 --no-parent --reject=index.html "\r
-        "");\r
-    assert(ret == 0 && "wget is failed, please retry");\r
-  }\r
-};\r
-}  // namespace\r
-\r
-namespace es {\r
-inline std::uint64_t ConvertNsToMs(std::uint64_t ms) {\r
-  constexpr std::uint64_t ns_unit = 1000000;\r
-  return ms / ns_unit;\r
-}\r
-struct Packet {\r
-  std::uint64_t pts;\r
-  std::uint64_t duration;\r
-  std::uint64_t size;\r
-  std::shared_ptr<char> data;\r
-\r
-  pp::EsPacketPtr MakeEsPacket(pp::StreamType type) {\r
-    return std::move(\r
-        pp::EsPacket::Create(type, data, static_cast<std::uint32_t>(size),\r
-                             //        pts/1000000,duration/1000000));\r
-                             ConvertNsToMs(pts), ConvertNsToMs(duration)));\r
-  }\r
-\r
-  static pp::EsPacketPtr MakeEosPacket(pp::StreamType type) {\r
-    return std::move(pp::EsPacket::CreateEos(type));\r
-  }\r
-};\r
-\r
-struct CodecExtraData {\r
-  std::uint32_t size;\r
-  std::shared_ptr<char> data;\r
-};\r
-using PacketPtr = std::shared_ptr<Packet>;\r
-using CodecExtraDataPtr = std::shared_ptr<CodecExtraData>;\r
-\r
-template <typename TRACK, typename TRACKTYPE>\r
-struct VideoInfo {\r
-  std::string mimetype;\r
-  int width, height;\r
-  int maxwidth, maxheight;\r
-  int framerate_num, framerate_den;\r
-\r
-  void ExtractMediaInfoFrom(std::ifstream &stream) {\r
-    stream >> mimetype >> width >> height >> maxwidth >> maxheight >>\r
-        framerate_num >> framerate_den;\r
-  }\r
-\r
-  TRACK GetTrack() {\r
-    TRACK t;\r
-    t.active = true;\r
-    t.index = 0;\r
-    t.type = TRACKTYPE::kTrackTypeVideo;\r
-    t.mimetype = mimetype;\r
-    t.width = width;\r
-    t.height = height;\r
-    t.maxwidth = maxwidth;\r
-    t.maxheight = maxheight;\r
-    t.framerate_num = framerate_num;\r
-    t.framerate_den = framerate_den;\r
-    return t;\r
-  }\r
-};\r
-\r
-template <typename TRACK, typename TRACKTYPE>\r
-struct AudioInfo {\r
-  std::string mimetype;\r
-  int samplerate;\r
-  int channels;\r
-  int version;\r
-\r
-  void ExtractMediaInfoFrom(std::ifstream &stream) {\r
-    stream >> mimetype >> samplerate >> channels >> version;\r
-  }\r
-  TRACK GetTrack() {\r
-    TRACK t;\r
-    t.active = true;\r
-    t.index = 0;\r
-    t.type = TRACKTYPE::kTrackTypeAudio;\r
-    t.mimetype = mimetype;\r
-    t.sample_rate = samplerate;\r
-    t.channels = channels;\r
-    t.version = version;\r
-    return t;\r
-  }\r
-};\r
-\r
-template <typename TRACKTYPE>\r
-class StreamReader {\r
- public:\r
-  using Ptr = std::shared_ptr<StreamReader<TRACKTYPE>>;\r
-  friend Ptr;\r
-  static Ptr Create(const std::string &dirpath, const TRACKTYPE &type) {\r
-    return Ptr(new StreamReader(dirpath, type));\r
-  }\r
-  virtual ~StreamReader() {\r
-    if (stream_.is_open()) {\r
-      stream_.close();\r
-    }\r
-  }\r
-\r
- private:\r
-  explicit StreamReader(const std::string dirpath, const TRACKTYPE &type)\r
-      : type_(type) {\r
-    dirpath_ = "/tmp/esdata/" + dirpath;\r
-    if (utils::Exists(dirpath_) == false) {\r
-      throw std::runtime_error(dirpath_ + "doesn't exist");\r
-    }\r
-    stream_ = std::ifstream(dirpath_ + "/ESP.es", std::ifstream::binary);\r
-  }\r
-\r
- public:\r
-  CodecExtraDataPtr GetExtraData() {\r
-    std::string path = dirpath_ + "/ESP.codec_extradata";\r
-    auto stream = std::ifstream(path, std::ifstream::binary);\r
-    auto extradata = CodecExtraDataPtr(new CodecExtraData);\r
-    stream.read(reinterpret_cast<char *>(&extradata->size),\r
-                sizeof extradata->size);\r
-    using DataPtr = std::shared_ptr<char>;\r
-    extradata->data = DataPtr(new char[extradata->size]);\r
-    stream.read(reinterpret_cast<char *>(extradata->data.get()),\r
-                extradata->size);\r
-    stream.close();\r
-    return extradata;\r
-  }\r
-\r
-  PacketPtr ReadNextPacket() {\r
-    if (stream_.eof()) {\r
-      return nullptr;\r
-    }\r
-    auto pkt = PacketPtr(new Packet);\r
-    stream_.read(reinterpret_cast<char *>(&pkt->pts), sizeof pkt->pts);\r
-    stream_.read(reinterpret_cast<char *>(&pkt->duration),\r
-                 sizeof pkt->duration);\r
-    stream_.read(reinterpret_cast<char *>(&pkt->size), sizeof pkt->size);\r
-    using DataPtr = std::unique_ptr<char>;\r
-    pkt->data = DataPtr(new char[pkt->size]);\r
-    stream_.read(reinterpret_cast<char *>(pkt->data.get()), pkt->size);\r
-    return pkt;\r
-  }\r
-\r
-  template <typename T>\r
-  T GetMediaInfo() {\r
-    std::string path = dirpath_ + "/ESP.info";\r
-    T media;\r
-    auto stream = std::ifstream(path, std::ifstream::in);\r
-    media.ExtractMediaInfoFrom(stream);\r
-    stream.close();\r
-    return media;\r
-  }\r
-\r
-  TRACKTYPE GetTrackType() { return type_; }\r
-\r
- private:\r
-  std::string dirpath_;\r
-  std::ifstream stream_;\r
-  TRACKTYPE type_;\r
-};\r
-\r
-}  // namespace es\r
+//
+// @ Copyright [2018] <S/W Platform, Visual Display, Samsung Electronics>
+//
+
+#ifndef __PLUSPLAYER_UT_INCLUDE_ESCOMMON_H__
+#define __PLUSPLAYER_UT_INCLUDE_ESCOMMON_H__
+
+#include <chrono>
+#include <cstdlib>
+#include <fstream>
+#include <memory>
+#include <string>
+#include <thread>
+#include <vector>
+
+#include "gtest/gtest.h"
+
+#include "plusplayer/espacket.h"
+#include "ut/include/appwindow.h"
+
+namespace pp = plusplayer;
+
+namespace utils {
+inline bool Exists(const std::string &path) {
+  std::ifstream ifile(path);
+  return static_cast<bool>(ifile);
+}
+}  // namespace utils
+
+namespace {
+class Environment {
+ public:
+  Environment() {
+    appwindow_.reset(new plusplayer_ut::AppWindow(0, 0, 1920, 1080));
+  }
+  void *Window() { return appwindow_->GetWindow().obj; }
+  void *EcoreWindow() { return appwindow_->GetEcoreWL2Window(); }
+
+ private:
+  std::shared_ptr<plusplayer_ut::AppWindow> appwindow_;
+};
+
+class ESPacketDownloader {
+ public:
+  static void Init() {
+    // if (utils::Exists("/tmp/esdata")) {
+    //   return;
+    // }
+    // std::cout << "Download ESData via http - path : /tmp/esdata" << std::endl;
+    // int ret = std::system(
+    //     "wget "
+    //     "--recursive --directory-prefix=/tmp/esdata --force-directories "
+    //     "--no-host-directories --cut-dirs=2 --no-parent --reject=index.html "
+    //     "http://10.88.105.104/WebAPITest/esdata/");
+    // assert(ret == 0 && "wget is failed, please retry");
+  }
+};
+}  // namespace
+
+namespace es {
+inline std::uint64_t ConvertNsToMs(std::uint64_t ms) {
+  constexpr std::uint64_t ns_unit = 1000000;
+  return ms / ns_unit;
+}
+struct Packet {
+  std::uint64_t pts;
+  std::uint64_t duration;
+  std::uint64_t size;
+  std::shared_ptr<char> data;
+
+  pp::EsPacketPtr MakeEsPacket(pp::StreamType type) {
+    return std::move(
+        pp::EsPacket::Create(type, data, static_cast<std::uint32_t>(size),
+                             //        pts/1000000,duration/1000000));
+                             ConvertNsToMs(pts), ConvertNsToMs(duration)));
+  }
+
+  static pp::EsPacketPtr MakeEosPacket(pp::StreamType type) {
+    return std::move(pp::EsPacket::CreateEos(type));
+  }
+};
+
+struct CodecExtraData {
+  std::uint32_t size;
+  std::shared_ptr<char> data;
+};
+using PacketPtr = std::shared_ptr<Packet>;
+using CodecExtraDataPtr = std::shared_ptr<CodecExtraData>;
+
+template <typename TRACK, typename TRACKTYPE>
+struct VideoInfo {
+  std::string mimetype;
+  int width, height;
+  int maxwidth, maxheight;
+  int framerate_num, framerate_den;
+
+  void ExtractMediaInfoFrom(std::ifstream &stream) {
+    stream >> mimetype >> width >> height >> maxwidth >> maxheight >>
+        framerate_num >> framerate_den;
+  }
+
+  TRACK GetTrack() {
+    TRACK t;
+    t.active = true;
+    t.index = 0;
+    t.type = TRACKTYPE::kTrackTypeVideo;
+    t.mimetype = mimetype;
+    t.width = width;
+    t.height = height;
+    t.maxwidth = maxwidth;
+    t.maxheight = maxheight;
+    t.framerate_num = framerate_num;
+    t.framerate_den = framerate_den;
+    return t;
+  }
+};
+
+template <typename TRACK, typename TRACKTYPE>
+struct AudioInfo {
+  std::string mimetype;
+  int samplerate;
+  int channels;
+  int version;
+
+  void ExtractMediaInfoFrom(std::ifstream &stream) {
+    stream >> mimetype >> samplerate >> channels >> version;
+  }
+  TRACK GetTrack() {
+    TRACK t;
+    t.active = true;
+    t.index = 0;
+    t.type = TRACKTYPE::kTrackTypeAudio;
+    t.mimetype = mimetype;
+    t.sample_rate = samplerate;
+    t.channels = channels;
+    t.version = version;
+    return t;
+  }
+};
+
+template <typename TRACKTYPE>
+class StreamReader {
+ public:
+  using Ptr = std::shared_ptr<StreamReader<TRACKTYPE>>;
+  friend Ptr;
+  static Ptr Create(const std::string &dirpath, const TRACKTYPE &type) {
+    return Ptr(new StreamReader(dirpath, type));
+  }
+  virtual ~StreamReader() {
+    if (stream_.is_open()) {
+      stream_.close();
+    }
+  }
+
+ private:
+  explicit StreamReader(const std::string dirpath, const TRACKTYPE &type)
+      : type_(type) {
+    dirpath_ = "/tmp/esdata/" + dirpath;
+    if (utils::Exists(dirpath_) == false) {
+      throw std::runtime_error(dirpath_ + "doesn't exist");
+    }
+    stream_ = std::ifstream(dirpath_ + "/ESP.es", std::ifstream::binary);
+  }
+
+ public:
+  CodecExtraDataPtr GetExtraData() {
+    std::string path = dirpath_ + "/ESP.codec_extradata";
+    auto stream = std::ifstream(path, std::ifstream::binary);
+    auto extradata = CodecExtraDataPtr(new CodecExtraData);
+    stream.read(reinterpret_cast<char *>(&extradata->size),
+                sizeof extradata->size);
+    using DataPtr = std::shared_ptr<char>;
+    extradata->data = DataPtr(new char[extradata->size]);
+    stream.read(reinterpret_cast<char *>(extradata->data.get()),
+                extradata->size);
+    stream.close();
+    return extradata;
+  }
+
+  PacketPtr ReadNextPacket() {
+    if (stream_.eof()) {
+      return nullptr;
+    }
+    auto pkt = PacketPtr(new Packet);
+    stream_.read(reinterpret_cast<char *>(&pkt->pts), sizeof pkt->pts);
+    stream_.read(reinterpret_cast<char *>(&pkt->duration),
+                 sizeof pkt->duration);
+    stream_.read(reinterpret_cast<char *>(&pkt->size), sizeof pkt->size);
+    using DataPtr = std::unique_ptr<char>;
+    pkt->data = DataPtr(new char[pkt->size]);
+    stream_.read(reinterpret_cast<char *>(pkt->data.get()), pkt->size);
+    return pkt;
+  }
+
+  template <typename T>
+  T GetMediaInfo() {
+    std::string path = dirpath_ + "/ESP.info";
+    T media;
+    auto stream = std::ifstream(path, std::ifstream::in);
+    media.ExtractMediaInfoFrom(stream);
+    stream.close();
+    return media;
+  }
+
+  TRACKTYPE GetTrackType() { return type_; }
+
+ private:
+  std::string dirpath_;
+  std::ifstream stream_;
+  TRACKTYPE type_;
+};
+
+}  // namespace es
 #endif  // __PLUSPLAYER_UT_INCLUDE_ESCOMMON_H__
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index 5eea648..bd6d6fa
 #include <string>
 #include <thread>
 
-#include "esplusplayer_capi/esplusplayer_capi.h"
 #include "gmock/gmock.h"
 #include "gst/gst.h"
 #include "gtest/gtest.h"
+
+#include "esplusplayer_capi/esplusplayer_capi.h"
 #include "ut/include/appwindow.h"
 #include "ut/include/esplusplayer/eseventlistener.hpp"
 #include "ut/include/esplusplayer/esreader.hpp"
@@ -138,16 +139,6 @@ TEST_F(EsTest, vdapi_basic_esplusplayer_get_error_string_p_1) {
   ASSERT_EQ(esplusplayer_destroy(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
 }
 
-TEST_F(EsTest, vdapi_basic_esplusplayer_set_tz_use_p_1) {
-  esplusplayer_handle esplayer = esplusplayer_create();
-  ASSERT_NE(nullptr, esplayer);
-  ASSERT_EQ(esplusplayer_open(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  ASSERT_EQ(esplusplayer_set_tz_use(esplayer, true),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  ASSERT_EQ(esplusplayer_close(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  ASSERT_EQ(esplusplayer_destroy(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
 TEST_F(EsTest, vdapi_basic_esplusplayer_set_video_frame_buffer_type_p_1) {
   esplusplayer_handle esplayer = esplusplayer_create();
   ASSERT_NE(nullptr, esplayer);
@@ -169,17 +160,13 @@ TEST_F(EsTest, vdapi_basic_esplusplayer_set_buffer_size_p_1) {
   ASSERT_EQ(esplusplayer_destroy(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
 }
 
+#ifdef PRODUCT_TEST
 TEST_F(EsTest, vdapi_basic_esplusplayer_submit_encrypted_packet_p_1) {
   esplusplayer_handle esplayer = NULL;
   ASSERT_EQ(esplusplayer_submit_encrypted_packet(esplayer, NULL, NULL),
             ESPLUSPLAYER_SUBMIT_STATUS_NOT_PREPARED);
 }
-
-TEST_F(EsTest, vdapi_basic_esplusplayer_submit_trust_zone_packet_p_1) {
-  esplusplayer_handle esplayer = NULL;
-  ASSERT_EQ(esplusplayer_submit_trust_zone_packet(esplayer, NULL, 0),
-            ESPLUSPLAYER_SUBMIT_STATUS_NOT_PREPARED);
-}
+#endif
 
 TEST_F(EsTest, vdapi_basic_esplusplayer_submit_eos_packet_p_1) {
   esplusplayer_handle esplayer = NULL;
@@ -213,6 +200,7 @@ TEST_F(EsTest, vdapi_basic_esplusplayer_get_state_p_1) {
   ASSERT_EQ(esplusplayer_destroy(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
 }
 
+#ifdef PRODUCT_TEST
 TEST_F(EsTest, vdapi_basic_esplusplayer_set_low_latency_mode_p_1) {
   esplusplayer_handle esplayer = esplusplayer_create();
   ASSERT_NE(nullptr, esplayer);
@@ -232,6 +220,7 @@ TEST_F(EsTest,
   ASSERT_EQ(esplusplayer_close(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
   ASSERT_EQ(esplusplayer_destroy(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
 }
+#endif
 
 TEST_P(EsBasicTest, vdapi_basic_esplusplayer_set_audio_mute_p_1) {
   ASSERT_EQ(esplusplayer_open(esplayer_), ESPLUSPLAYER_ERROR_TYPE_NONE);
@@ -250,6 +239,7 @@ TEST_P(EsBasicTest, vdapi_basic_esplusplayer_set_audio_mute_p_1) {
   std::this_thread::sleep_for(std::chrono::seconds(10));
 }
 
+#ifdef PRODUCT_TEST
 TEST_F(EsTest, vdapi_basic_esplusplayer_set_app_info_p_1) {
   esplusplayer_handle esplayer = esplusplayer_create();
   ASSERT_NE(nullptr, esplayer);
@@ -272,6 +262,7 @@ TEST_F(EsTest, vdapi_basic_esplusplayer_set_app_info_p_1) {
   ASSERT_EQ(esplusplayer_close(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
   ASSERT_EQ(esplusplayer_destroy(esplayer), ESPLUSPLAYER_ERROR_TYPE_NONE);
 }
+#endif
 
 TEST_P(EsBasicTest, vdapi_basic_esplusplayer_close_p_2) {
   ASSERT_EQ(esplusplayer_open(esplayer_), ESPLUSPLAYER_ERROR_TYPE_NONE);
@@ -596,6 +587,7 @@ TEST_P(EsBasicTest, vdapi_basic_esplusplayer_set_submit_data_type_p_1) {
   std::this_thread::sleep_for(std::chrono::seconds(3));
 }
 
+#ifdef PRODUCT_TEST
 TEST_P(EsBasicTest, vdapi_basic_esplusplayer_render_video_frame_p_1) {
   ASSERT_EQ(esplusplayer_open(esplayer_), ESPLUSPLAYER_ERROR_TYPE_NONE);
 
@@ -987,6 +979,7 @@ TEST_P(EsBasicTest, vdapi_basic_esplusplayer_stop_audio_easing_n_1) {
   ASSERT_EQ(esplusplayer_stop_audio_easing(esplayer_),
             ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION);
 }
+#endif
 
 INSTANTIATE_TEST_CASE_P(ESPlusplayer, EsBasicTest,
                         ::testing::ValuesIn(es_tc::tc_list));
diff --git a/ut/src/mixer/constant.cpp b/ut/src/mixer/constant.cpp
deleted file mode 100755 (executable)
index 4b86443..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "mixer/constant.h"
-
-namespace plusplayer_ut {
-
-VideoPlaneManipulableInfo GetVideoPlaneManipulableInfo(
-    BufferHandleType handle, const PlaneComponent& comp,
-    const std::uint32_t& linesize, const Geometry& geom) {
-  VideoPlaneManipulableInfo ret;
-  ret.handle = handle;
-  ret.component = comp;
-  ret.linesize = linesize;
-  ret.rect = geom;
-  return ret;
-}
-
-Geometry GetGeometry(const int& x, const int& y, const int& w, const int& h) {
-  Geometry geom;
-  geom.x = x;
-  geom.y = y;
-  geom.w = w;
-  geom.h = h;
-  return geom;
-}
-
-CropArea GetCropArea(const double& x, const double& y, const double& w,
-                     const double& h) {
-  CropArea croparea;
-  croparea.scale_x = x;
-  croparea.scale_y = y;
-  croparea.scale_w = w;
-  croparea.scale_h = h;
-  return croparea;
-}
-
-Mixer::ResolutionInfo GetResolutionInfo(int width, int height, int fnum,
-                                        int fden) {
-  Mixer::ResolutionInfo rinfo;
-  rinfo.width = width;
-  rinfo.height = height;
-  rinfo.framerate_num = fnum;
-  rinfo.framerate_den = fden;
-  return rinfo;
-}
-
-static std::uint32_t _kDefaultBuffer = 0;
-BufferDefaultType kDefaultBuffer =
-    reinterpret_cast<BufferDefaultType>(&_kDefaultBuffer);
-
-BufferUnionHandleType kDefaultMappedHandle = {.u32 = kDefaultBufferHandle};
-
-}  // namespace plusplayer_ut
\ No newline at end of file
diff --git a/ut/src/mixer/matcher.cpp b/ut/src/mixer/matcher.cpp
deleted file mode 100755 (executable)
index 83f503c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "mixer/matcher.h"
-
-namespace plusplayer_ut {
-
-Matcher<const VideoPlaneManipulableInfo&> IsSameVideoPlaneManipulableInfo(
-    const VideoPlaneManipulableInfo& comparer) {
-  return MakeMatcher(new IsSameVideoPlaneManipulableInfoMatcher(comparer));
-}
-
-}  // namespace plusplayer_ut
\ No newline at end of file
diff --git a/ut/src/mixer/ut_espp_mixerscenario.cpp b/ut/src/mixer/ut_espp_mixerscenario.cpp
deleted file mode 100755 (executable)
index 9121b83..0000000
+++ /dev/null
@@ -1,597 +0,0 @@
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-#include <gtest/gtest.h>
-
-#include <iostream>
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer_capi/mixer_capi.h"
-#include "ut/include/plusplayer/utility.h"
-#include "ut/include/streamreader.hpp"
-
-using namespace plusplayer;
-using namespace plusplayer_ut;
-using namespace utils;
-using namespace std;
-
-using utils::Utility;
-std::string es_uri_1 = "youtube/";
-std::string es_uri_2 = "bunny/";
-std::string es_vp8_uri = "es_vp8_vorbis/";
-
-//max playing duration : 10 sec => see EsStreamReader::ReadNextPacket()
-constexpr int kPlayingTime = 2;  // (sec)
-
-//------------------------------------------------------------
-class MixerEsppScenarioTestF : public ::testing::Test {
- public:
-  explicit MixerEsppScenarioTestF(void)
-      : util_(Utility::Instance()),
-        mixer_(nullptr),
-        player1_(nullptr),
-        player2_(nullptr),
-        player3_(nullptr),
-        player4_(nullptr){};
-  ~MixerEsppScenarioTestF(void){};
-
-  static void SetUpTestCase() {
-    ESPacketDownloader::Init();
-    std::cout << "SetUpTestCase()" << std::endl;
-  }
-
-  static void TearDownTestCase() {}
-
-  virtual void SetUp(void) override {
-    LOG_ERROR("%s", util_.GetCurrentTestName());
-    mixer_ = mixer_create();
-    mixer_set_display(mixer_, MIXER_DISPLAY_TYPE_OVERLAY, util_.GetWindow());
-#if 1
-    roi1_.x = 20;
-    roi1_.y = 20;
-    roi1_.w = 720;
-    roi1_.h = 480;
-
-    roi2_.x = 1000;
-    roi2_.y = 20;
-    roi2_.w = 720;
-    roi2_.h = 480;
-
-    roi3_.x = 1000;
-    roi3_.y = 520;
-    roi3_.w = 720;
-    roi3_.h = 480;
-
-    roi4_.x = 20;
-    roi4_.y = 520;
-    roi4_.w = 720;
-    roi4_.h = 480;
-#else
-    roi1_.x = 20;
-    roi1_.y = 20;
-    roi1_.w = 1180;
-    roi1_.h = 720;
-
-    roi2_.x = 1220;
-    roi2_.y = 20;
-    roi2_.w = 640;
-    roi2_.h = 480;
-
-    roi3_.x = 1220;
-    roi3_.y = 520;
-    roi3_.w = 640;
-    roi3_.h = 480;
-#endif
-  }
-
-  virtual void TearDown(void) override {
-    util_.DestroyESPP(player1_);
-    util_.DestroyESPP(player2_);
-    util_.DestroyESPP(player3_);
-    util_.DestroyESPP(player4_);       
-    mixer_destroy(mixer_);
-    player1_ = nullptr;
-    player2_ = nullptr;
-    player3_ = nullptr;
-    player4_ = nullptr;        
-    mixer_ = nullptr;
-    LOG_ERROR("%s", util_.GetCurrentTestName());
-  }
-
- public:
-  Utility& util_;
-  mixer_handle mixer_;
-  esplusplayer_handle player1_;
-  esplusplayer_handle player2_;
-  esplusplayer_handle player3_;
-  esplusplayer_handle player4_;  
-  Geometry roi1_;
-  Geometry roi2_;
-  Geometry roi3_;
-  Geometry roi4_;
-};
-
-#if 1  // normal mixer test
-TEST_F(MixerEsppScenarioTestF, Basic) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-  player3_ = util_.GetOpenedMixESPP(mixer_, roi3_);
-  ASSERT_NE(player3_, nullptr);
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer_, player1_), MIXER_ERROR_TYPE_NONE);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player3_, es_uri_1));
-
-  EXPECT_EQ(esplusplayer_start(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, DetachAttach) {
-  player1_ = util_.GetStartedMixESPP(es_uri_1, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetStartedMixESPP(es_uri_2, mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  player3_ = util_.GetStartedMixESPP(es_uri_1, mixer_, roi3_);
-  ASSERT_NE(player3_, nullptr);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, DetachAttach1) {
-  player1_ = util_.GetStartedMixESPP(es_uri_1, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetStartedMixESPP(es_uri_1, mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  player3_ = util_.GetStartedMixESPP(es_uri_2, mixer_, roi1_);
-  ASSERT_NE(player3_, nullptr);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, SetROI) {
-  player1_ = util_.GetStartedMixESPP(es_uri_1, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetStartedMixESPP(es_uri_2, mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(esplusplayer_set_display_roi(player1_, roi2_.x, roi2_.y, roi2_.w,
-                                         roi2_.h),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_set_display_roi(player2_, roi1_.x, roi1_.y, roi1_.w,
-                                         roi1_.h),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(mixer_commit(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, SetROI1) {
-  player1_ = util_.GetStartedMixESPP(es_uri_1, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetStartedMixESPP(es_uri_2, mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(esplusplayer_set_display_roi(player1_, roi2_.x, roi2_.y, roi2_.w,
-                                         roi2_.h),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_set_display_roi(player2_, roi3_.x, roi3_.y, roi3_.w,
-                                         roi3_.h),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(mixer_commit(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, CheckMaxMixedPlayer) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-  player3_ = util_.GetOpenedMixESPP(mixer_, roi3_);
-  ASSERT_NE(player3_, nullptr);
-  esplusplayer_handle player4 = util_.GetOpenedMixESPP(mixer_, roi3_);
-  ASSERT_NE(player4, nullptr);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player3_, es_uri_1));
-
-  EXPECT_FALSE(util_.PrepareESPP(player4, es_uri_1));
-
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  util_.DestroyESPP(player4);
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, SetAudioFocus) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer_, player1_), MIXER_ERROR_TYPE_NONE);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_uri_2));
-
-  EXPECT_EQ(esplusplayer_start(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer_, player2_), MIXER_ERROR_TYPE_NONE);
-  util_.FeedingEsPacket(player2_, ESPLUSPLAYER_STREAM_TYPE_AUDIO, es_uri_2);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, MultiAudioTest) {
-  EXPECT_EQ(mixer_disable_audio_focus_setting(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  player3_ = util_.GetOpenedMixESPP(mixer_, roi3_);
-  ASSERT_NE(player3_, nullptr);
-
-  EXPECT_EQ(esplusplayer_set_audio_codec_type(player2_,
-                                              ESPLUSPLAYER_AUDIO_CODEC_TYPE_SW),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_set_audio_codec_type(player3_,
-                                              ESPLUSPLAYER_AUDIO_CODEC_TYPE_SW),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_uri_2));
-  EXPECT_TRUE(util_.PrepareESPP(player3_, es_uri_1));
-
-  EXPECT_EQ(esplusplayer_start(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, MultiAudioTest2) {
-  EXPECT_EQ(mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_DISABLE),
-            MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(mixer_disable_audio_focus_setting(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  player3_ = util_.GetOpenedMixESPP(mixer_, roi3_);
-  ASSERT_NE(player3_, nullptr);
-
-  EXPECT_EQ(esplusplayer_set_alternative_video_resource(player2_, 1),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_set_video_codec_type(player3_,
-                                              ESPLUSPLAYER_VIDEO_CODEC_TYPE_SW),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_set_audio_codec_type(player2_,
-                                              ESPLUSPLAYER_AUDIO_CODEC_TYPE_SW),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_set_audio_codec_type(player3_,
-                                              ESPLUSPLAYER_AUDIO_CODEC_TYPE_SW),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_uri_2));
-  EXPECT_TRUE(util_.PrepareESPP(player3_, es_uri_1));
-
-  /* audio hw decoder + mmaudiosink */
-  EXPECT_EQ(esplusplayer_start(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  /* audio sw decoder + pulsesink */
-  EXPECT_EQ(esplusplayer_start(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  /* audio sw decoder + pulsesink */
-  EXPECT_EQ(esplusplayer_start(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(esplusplayer_deactivate(player1_, ESPLUSPLAYER_STREAM_TYPE_AUDIO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_deactivate(player3_, ESPLUSPLAYER_STREAM_TYPE_AUDIO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  /* audio hw decoder + mmaudiosink */
-  EXPECT_EQ(esplusplayer_set_audio_codec_type(player3_,
-                                              ESPLUSPLAYER_AUDIO_CODEC_TYPE_HW),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_activate(player3_, ESPLUSPLAYER_STREAM_TYPE_AUDIO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  util_.FeedingEsPacket(player3_, ESPLUSPLAYER_STREAM_TYPE_AUDIO, es_uri_1);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(esplusplayer_deactivate(player2_, ESPLUSPLAYER_STREAM_TYPE_AUDIO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_deactivate(player3_, ESPLUSPLAYER_STREAM_TYPE_AUDIO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  /* audio sw decoder + alsasink */
-  EXPECT_EQ(esplusplayer_activate(player2_, ESPLUSPLAYER_STREAM_TYPE_AUDIO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  util_.FeedingEsPacket(player2_, ESPLUSPLAYER_STREAM_TYPE_AUDIO, es_uri_2);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, SetAudioFocus1) {
-  player1_ = util_.GetStartedMixESPP(es_uri_1, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetStartedMixESPP(es_uri_2, mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, SetAudioFocus2) {
-  player1_ = util_.GetStartedMixESPP(es_uri_1, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer_, nullptr),
-            MIXER_ERROR_TYPE_INVALID_OPERATION);
-
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, MixerNPlayer) {
-  mixer_set_display_mode(mixer_, MIXER_DISPLAY_MODE_DST_ROI);
-  mixer_set_display_roi(mixer_, roi2_.x, roi2_.y, roi2_.w, roi2_.h);
-  mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_DISABLE);
-  mixer_disable_audio_focus_setting(mixer_);
-  mixer_set_alternative_video_scaler(mixer_);
-
-  player1_ = util_.GetOpenedESPP(roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  Geometry roi3;
-  roi3.x = 0;
-  roi3.y = 0;
-  roi3.w = roi2_.w;
-  roi3.h = roi2_.h;
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi3);
-  ASSERT_NE(player2_, nullptr);
-  esplusplayer_set_alternative_video_resource(player2_, 1);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_uri_1, utils::EsType::kBoth));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_uri_2, utils::EsType::kVideo));
-
-  esplusplayer_start(player1_);
-  esplusplayer_start(player2_);
-
-  mixer_start(mixer_);
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_EQ(esplusplayer_deactivate(player1_, ESPLUSPLAYER_STREAM_TYPE_VIDEO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_deactivate(player2_, ESPLUSPLAYER_STREAM_TYPE_VIDEO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(esplusplayer_set_display(player1_, ESPLUSPLAYER_DISPLAY_TYPE_MIXER,
-                                     mixer_),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_set_display(
-                player2_, ESPLUSPLAYER_DISPLAY_TYPE_OVERLAY, util_.GetWindow()),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  esplusplayer_set_alternative_video_resource(player1_, 1);
-  EXPECT_EQ(esplusplayer_activate(player1_, ESPLUSPLAYER_STREAM_TYPE_VIDEO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  esplusplayer_set_display_roi(player1_, roi3.x, roi3.y, roi3.w, roi3.h);
-  mixer_commit(mixer_);
-  util_.FeedingEsPacket(player1_, ESPLUSPLAYER_STREAM_TYPE_VIDEO, es_uri_1);
-
-  esplusplayer_set_alternative_video_resource(player2_, 0);
-  EXPECT_EQ(esplusplayer_activate(player2_, ESPLUSPLAYER_STREAM_TYPE_VIDEO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  esplusplayer_set_display_mode(player2_, ESPLUSPLAYER_DISPLAY_MODE_DST_ROI);
-  esplusplayer_set_display_roi(player2_, roi1_.x, roi1_.y, roi1_.w, roi1_.h);
-  util_.FeedingEsPacket(player2_, ESPLUSPLAYER_STREAM_TYPE_VIDEO, es_uri_2);
-  
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  esplusplayer_stop(player1_);
-  esplusplayer_stop(player2_);
-  mixer_stop(mixer_);
-}
-
-TEST_F(MixerEsppScenarioTestF, NDecH264PlayerX2) {
-  mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_NDECODER);
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer_, player1_), MIXER_ERROR_TYPE_NONE);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_uri_1));
-
-  EXPECT_EQ(esplusplayer_start(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(10));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, NDecH264PlayerX4) {
-  mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_NDECODER);
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-  player3_ = util_.GetOpenedMixESPP(mixer_, roi3_);
-  ASSERT_NE(player3_, nullptr);
-  player4_ = util_.GetOpenedMixESPP(mixer_, roi4_);
-  ASSERT_NE(player4_, nullptr);
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer_, player1_), MIXER_ERROR_TYPE_NONE);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player3_, es_uri_1));
-  EXPECT_TRUE(util_.PrepareESPP(player4_, es_uri_1));  
-
-  EXPECT_EQ(esplusplayer_start(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player4_), ESPLUSPLAYER_ERROR_TYPE_NONE);  
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(10));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player4_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, NDecVp8PlayerX2) {
-  mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_NDECODER);
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer_, player1_), MIXER_ERROR_TYPE_NONE);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_vp8_uri));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_vp8_uri));
-
-  EXPECT_EQ(esplusplayer_start(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(10));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(MixerEsppScenarioTestF, NDecVp8PlayerX4) {
-  mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_NDECODER);
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetOpenedMixESPP(mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-  player3_ = util_.GetOpenedMixESPP(mixer_, roi3_);
-  ASSERT_NE(player3_, nullptr);
-  player4_ = util_.GetOpenedMixESPP(mixer_, roi4_);
-  ASSERT_NE(player4_, nullptr);
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer_, player1_), MIXER_ERROR_TYPE_NONE);
-
-  EXPECT_TRUE(util_.PrepareESPP(player1_, es_vp8_uri));
-  EXPECT_TRUE(util_.PrepareESPP(player2_, es_vp8_uri));
-  EXPECT_TRUE(util_.PrepareESPP(player3_, es_vp8_uri));
-  EXPECT_TRUE(util_.PrepareESPP(player4_, es_vp8_uri));  
-
-  EXPECT_EQ(esplusplayer_start(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player4_), ESPLUSPLAYER_ERROR_TYPE_NONE);  
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(10));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player3_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player4_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-#endif
diff --git a/ut/src/mixer/ut_mixedframe.cpp b/ut/src/mixer/ut_mixedframe.cpp
deleted file mode 100755 (executable)
index eb32864..0000000
+++ /dev/null
@@ -1,355 +0,0 @@
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-
-#include <iostream>
-#include <memory>
-
-#include "mixer/constant.h"
-#include "mixer/matcher.h"
-#include "mixer/mixedframe.h"
-#include "mixer/mock/fakebuffer.h"
-#include "mixer/mock/mock_bufferobject.h"
-#include "mixer/mock/mock_memallocator.h"
-#include "mixer/mock/mock_phyaddraccessor.h"
-#include "mixer/mock/mock_vpmanipulator.h"
-#include "mixer/mock/movable.h"
-#include "mixer/mock/moveobj_wrapper.h"
-
-using namespace plusplayer;
-using namespace plusplayer_ut;
-
-using ::testing::_;
-using ::testing::AllOf;
-using ::testing::AtLeast;
-using ::testing::ByRef;
-using ::testing::DoAll;
-using ::testing::ElementsAre;
-using ::testing::Field;
-using ::testing::Invoke;
-using ::testing::NotNull;
-using ::testing::Return;
-using ::testing::SaveArg;
-using ::testing::SizeIs;
-
-/********************************************************************************************
- * [DEFAULT CLASS] DefaultMixedFrameTestOption
- */
-
-class DefaultMixedFrameTestOption {
- public:
-  explicit DefaultMixedFrameTestOption() = default;
-  virtual ~DefaultMixedFrameTestOption() = default;
-
- protected:
-  virtual void Init_() {
-    ON_CALL(GetMemoryAllocator_(), Allocate(_))
-        .WillByDefault(DoAll(
-            SaveArg<0>(&allocated_size_), CreateFakeBuffer(fakebuffer_),
-            Invoke(
-                this,
-                &DefaultMixedFrameTestOption::DelegateDefaultForBufferObject_),
-            Return(RelaseBufferObject_())));
-  }
-
- protected:
-  MockMemoryAllocator& GetMemoryAllocator_() { return memalloc_; }
-  MockAccessibleBufferObject& GetBufferObject_() { return bufferobj_.Get(); }
-  MockAccessibleBufferObject* RelaseBufferObject_() {
-    return bufferobj_.Move();
-  }
-  MockPhyAddrAccessor& GetReadablePhyAddrAccessor_() {
-    return r_phyaddraccessor_.Get();
-  }
-  MockPhyAddrAccessor& GetWritablePhyAddrAccessor_() {
-    return w_phyaddraccessor_.Get();
-  }
-  MockAccessibleBufferObject::PhyAddrAccessorPtr
-  MoveReadablePhyAddrAccessor_() {
-    return MockAccessibleBufferObject::PhyAddrAccessorPtr(
-        r_phyaddraccessor_.Move());
-  }
-  MockAccessibleBufferObject::PhyAddrAccessorPtr
-  MoveWritablePhyAddrAccessor_() {
-    return MockAccessibleBufferObject::PhyAddrAccessorPtr(
-        w_phyaddraccessor_.Move());
-  }
-
- private:
-  virtual void DelegateDefaultForBufferObject_(const std::uint32_t size) {
-    ON_CALL(GetBufferObject_(), GetReadableAddress_())
-        .WillByDefault(
-            Return(Movable(MockAccessibleBufferObject::PhyAddrAccessorPtr(
-                MoveReadablePhyAddrAccessor_()))));
-    ON_CALL(GetBufferObject_(), GetWritableAddress_())
-        .WillByDefault(
-            Return(Movable(MockAccessibleBufferObject::PhyAddrAccessorPtr(
-                MoveWritablePhyAddrAccessor_()))));
-    ON_CALL(GetBufferObject_(), GetBufferHandle())
-        .WillByDefault(Return(kDefaultBufferHandle));
-    ON_CALL(GetBufferObject_(), Export())
-        .WillByDefault(Return(kDefaultBufferKey));
-    ON_CALL(GetBufferObject_(), GetSize())
-        .WillByDefault(Return(allocated_size_));
-
-    ON_CALL(GetReadablePhyAddrAccessor_(), GetAddress())
-        .WillByDefault(Return(fakebuffer_->ptr.get()));
-    ON_CALL(GetWritablePhyAddrAccessor_(), GetAddress())
-        .WillByDefault(Return(fakebuffer_->ptr.get()));
-  }
-
- private:
-  std::uint32_t allocated_size_;
-  FakeBufferPtr fakebuffer_;
-
-  MoveObjectWrapper<MockPhyAddrAccessor> r_phyaddraccessor_{
-      new MockPhyAddrAccessor()};
-  MoveObjectWrapper<MockPhyAddrAccessor> w_phyaddraccessor_{
-      new MockPhyAddrAccessor()};
-  MoveObjectWrapper<MockAccessibleBufferObject> bufferobj_{
-      new MockAccessibleBufferObject()};
-  MockMemoryAllocator memalloc_;
-};
-
-/********************************************************************************************
- * InvalidMixedFrameTest
- */
-
-class InvalidMixedFrameTest : public ::testing::Test {
- public:
-  virtual void SetUp() override {
-    mixed_frame_ = MixedFrame::Create(nullptr, kInvalidWidth, kInvalidHeight);
-    ASSERT_FALSE(mixed_frame_->IsValid());
-  }
-  virtual void TearDown() override {}
-
- protected:
-  MixedFramePtr& GetMixedFrame() { return mixed_frame_; }
-  const MockVideoPlaneManipulator& GetVideoPlaneManipulator_() const {
-    return vieoplane_manip_;
-  }
-
- private:
-  MixedFramePtr mixed_frame_;
-  MockVideoPlaneManipulator vieoplane_manip_;
-};
-
-TEST_F(InvalidMixedFrameTest, GetVideoPlaneManipInfo) {
-  EXPECT_EQ(0, GetMixedFrame()->GetVideoPlaneManipInfo().size());
-}
-
-TEST_F(InvalidMixedFrameTest, GetSize) {
-  EXPECT_EQ(0, GetMixedFrame()->GetSize());
-}
-
-TEST_F(InvalidMixedFrameTest, Render) {
-  EXPECT_FALSE(GetMixedFrame()->Render(
-      &GetVideoPlaneManipulator_(),
-      {kYComponentSrcVMInfo, kUVComponentSrcVMInfo},
-      GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH)));
-}
-
-TEST_F(InvalidMixedFrameTest, Export) {
-  BufferKeyType key;
-  EXPECT_FALSE(GetMixedFrame()->Export(key));
-}
-
-/********************************************************************************************
- * MixedFrameConstructionTest
- */
-class MixedFrameConstructionTest : public ::testing::Test,
-                                   public DefaultMixedFrameTestOption {
- public:
-  using MockBufferObjectPtr = std::unique_ptr<MockBufferObject>;
-  virtual ~MixedFrameConstructionTest() {}
-
-  virtual void SetUp() override { Init_(); }
-  virtual void TearDown() override {}
-};
-
-TEST_F(MixedFrameConstructionTest, IsValid_WithInvalidAllocator) {
-  EXPECT_FALSE(
-      MixedFrame::Create(nullptr, kDefaultWidth, kDefaultHeight)->IsValid());
-}
-
-TEST_F(MixedFrameConstructionTest, IsValid_WithInvalidResolution) {
-  EXPECT_FALSE(
-      MixedFrame::Create(&GetMemoryAllocator_(), kInvalidWidth, kInvalidHeight)
-          ->IsValid());
-}
-
-TEST_F(MixedFrameConstructionTest, IsValid_WithAllocateNullPtr) {
-  EXPECT_CALL(GetMemoryAllocator_(), Allocate(kExpectedDefaultByteSize))
-      .WillOnce(Return(nullptr));
-
-  EXPECT_FALSE(
-      MixedFrame::Create(&GetMemoryAllocator_(), kDefaultWidth, kDefaultHeight)
-          ->IsValid());
-}
-
-TEST_F(MixedFrameConstructionTest, IsValid_WithZeroSizeAllocated) {
-  EXPECT_CALL(GetMemoryAllocator_(), Allocate(kExpectedDefaultByteSize))
-      .Times(1);
-  EXPECT_CALL(GetBufferObject_(), GetSize()).WillOnce(Return(0));
-
-  EXPECT_FALSE(
-      MixedFrame::Create(&GetMemoryAllocator_(), kDefaultWidth, kDefaultHeight)
-          ->IsValid());
-}
-
-TEST_F(MixedFrameConstructionTest, IsValid_WithReturnWritableNullPtr) {
-  EXPECT_CALL(GetMemoryAllocator_(), Allocate(kExpectedDefaultByteSize))
-      .Times(1);
-  EXPECT_CALL(GetBufferObject_(), GetSize()).Times(1);
-  EXPECT_CALL(GetBufferObject_(), GetWritableAddress_())
-      .WillOnce(Return(Movable(AccessibleBuffer::PhyAddrAccessorPtr(nullptr))));
-
-  EXPECT_TRUE(
-      MixedFrame::Create(&GetMemoryAllocator_(), kDefaultWidth, kDefaultHeight)
-          ->IsValid());
-}
-
-TEST_F(MixedFrameConstructionTest, IsValid) {
-  EXPECT_CALL(GetMemoryAllocator_(), Allocate(kExpectedDefaultByteSize))
-      .Times(1);
-  EXPECT_CALL(GetBufferObject_(), GetSize()).Times(1);
-  EXPECT_CALL(GetBufferObject_(), GetWritableAddress_()).Times(1);
-  EXPECT_CALL(GetWritablePhyAddrAccessor_(), GetAddress()).Times(2);
-
-  EXPECT_TRUE(
-      MixedFrame::Create(&GetMemoryAllocator_(), kDefaultWidth, kDefaultHeight)
-          ->IsValid());
-}
-
-/********************************************************************************************
- * MixedFrameTest
- */
-
-class MixedFrameTest : public ::testing::Test,
-                       public DefaultMixedFrameTestOption {
- public:
-  explicit MixedFrameTest() = default;
-  virtual ~MixedFrameTest() = default;
-
-  virtual void SetUp() override {
-    Init_();
-
-    ON_CALL(GetVideoPlaneManipulator_(), Do(_, _)).WillByDefault(Return(true));
-
-    EXPECT_CALL(GetMemoryAllocator_(), Allocate(_)).Times(1);
-
-    EXPECT_CALL(GetBufferObject_(), GetSize()).Times(AtLeast(1));
-    EXPECT_CALL(GetBufferObject_(), GetWritableAddress_()).Times(AtLeast(1));
-
-    EXPECT_CALL(GetWritablePhyAddrAccessor_(), GetAddress()).Times(2);
-
-    mixed_frame_ = MixedFrame::Create(&GetMemoryAllocator_(), kDefaultWidth,
-                                      kDefaultHeight);
-    ASSERT_TRUE(mixed_frame_->IsValid());
-  }
-  virtual void TearDown() override {}
-
- protected:
-  MockVideoPlaneManipulator& GetVideoPlaneManipulator_() {
-    return vieoplane_manip_;
-  }
-  MixedFramePtr& GetMixedFrame() { return mixed_frame_; }
-
- private:
-  MixedFramePtr mixed_frame_;
-  MockVideoPlaneManipulator vieoplane_manip_;
-};
-
-TEST_F(MixedFrameTest, GetVideoPlaneManipInfo) {
-  EXPECT_CALL(GetBufferObject_(), GetBufferHandle());
-  EXPECT_THAT(
-      GetMixedFrame()->GetVideoPlaneManipInfo(),
-      AllOf(SizeIs(2),
-            ElementsAre(
-                IsSameVideoPlaneManipulableInfo(kYComponentDestVMInfo),
-                IsSameVideoPlaneManipulableInfo(kUVComponentDestVMInfo))));
-}
-
-TEST_F(MixedFrameTest, GetWidth) {
-  EXPECT_EQ(kDefaultWidth, GetMixedFrame()->GetWidth());
-}
-
-TEST_F(MixedFrameTest, GetHeight) {
-  EXPECT_EQ(kDefaultHeight, GetMixedFrame()->GetHeight());
-}
-
-TEST_F(MixedFrameTest, GetSize) {
-  EXPECT_EQ(kExpectedDefaultByteSize, GetMixedFrame()->GetSize());
-}
-
-TEST_F(MixedFrameTest, Render) {
-  ::testing::Sequence s1;
-  EXPECT_CALL(GetBufferObject_(), GetBufferHandle()).Times(2);
-
-  EXPECT_CALL(GetVideoPlaneManipulator_(),
-              Do(IsSameVideoPlaneManipulableInfo(kYComponentSrcVMInfo),
-                 IsSameVideoPlaneManipulableInfo(kCroppedYComponentDestVMInfo)))
-      .InSequence(s1);
-  EXPECT_CALL(
-      GetVideoPlaneManipulator_(),
-      Do(IsSameVideoPlaneManipulableInfo(kUVComponentSrcVMInfo),
-         IsSameVideoPlaneManipulableInfo(kCroppedUVComponentDestVMInfo)))
-      .InSequence(s1);
-
-  EXPECT_TRUE(GetMixedFrame()->Render(
-      &GetVideoPlaneManipulator_(),
-      {kYComponentSrcVMInfo, kUVComponentSrcVMInfo},
-      GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH)));
-}
-
-TEST_F(MixedFrameTest, Render_WithNullOperator) {
-  EXPECT_FALSE(GetMixedFrame()->Render(
-      nullptr, {kYComponentSrcVMInfo, kUVComponentSrcVMInfo},
-      GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH)));
-}
-
-TEST_F(MixedFrameTest, Render_WithFirstOpFailed) {
-  EXPECT_CALL(GetBufferObject_(), GetBufferHandle()).Times(2);
-
-  EXPECT_CALL(GetVideoPlaneManipulator_(),
-              Do(Field(&VideoPlaneManipulableInfo::component,
-                       PlaneComponent::kYComponent),
-                 _))
-      .WillOnce(Return(false));
-  EXPECT_CALL(GetVideoPlaneManipulator_(),
-              Do(Field(&VideoPlaneManipulableInfo::component,
-                       PlaneComponent::kUVComponent),
-                 _))
-      .Times(1);
-
-  EXPECT_FALSE(GetMixedFrame()->Render(
-      &GetVideoPlaneManipulator_(),
-      {kYComponentSrcVMInfo, kUVComponentSrcVMInfo},
-      GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH)));
-}
-
-TEST_F(MixedFrameTest, Render_WithSecondOpFailed) {
-  EXPECT_CALL(GetBufferObject_(), GetBufferHandle()).Times(2);
-
-  EXPECT_CALL(GetVideoPlaneManipulator_(),
-              Do(Field(&VideoPlaneManipulableInfo::component,
-                       PlaneComponent::kYComponent),
-                 _))
-      .Times(1);
-  EXPECT_CALL(GetVideoPlaneManipulator_(),
-              Do(Field(&VideoPlaneManipulableInfo::component,
-                       PlaneComponent::kUVComponent),
-                 _))
-      .WillOnce(Return(false));
-
-  EXPECT_FALSE(GetMixedFrame()->Render(
-      &GetVideoPlaneManipulator_(),
-      {kYComponentSrcVMInfo, kUVComponentSrcVMInfo},
-      GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH)));
-}
-
-TEST_F(MixedFrameTest, Export) {
-  EXPECT_CALL(GetBufferObject_(), Export());
-  BufferKeyType key;
-  EXPECT_TRUE(GetMixedFrame()->Export(key));
-  EXPECT_EQ(kDefaultBufferKey, key);
-}
\ No newline at end of file
diff --git a/ut/src/mixer/ut_mixer.cpp b/ut/src/mixer/ut_mixer.cpp
deleted file mode 100755 (executable)
index 9dbf976..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-#include <gtest/gtest.h>
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/mixer.h"
-#include "mixer/mixer_eventlistener.h"
-#include "mixer/mixerticket.h"
-#include "mixer/mixerticket_eventlistener.h"
-#include "ut/include/appwindow.h"
-#include "ut/include/plusplayer/utility.h"
-
-using namespace plusplayer;
-using namespace plusplayer_ut;
-using namespace utils;
-
-class MixerMockPlayer {
- public:
-  MixerMockPlayer() { listener_ = new MyTicketListener(this); }
-  MixerMockPlayer(int x, int y, int w, int h) {
-    listener_ = new MyTicketListener(this);
-    display_info_.geometry.x = x;
-    display_info_.geometry.y = y;
-    display_info_.geometry.w = w;
-    display_info_.geometry.h = h;
-  }
-  ~MixerMockPlayer() { delete listener_; }
-
-  class MyTicketListener : public MixerTicketEventListener {
-   public:
-    explicit MyTicketListener(MixerMockPlayer* handler) : handler_(handler){};
-    bool OnAudioFocusChanged(bool active) {
-      LOG_INFO("My OnAudioFocusChanged [%d] player [%p]", active, handler_);
-      return true;
-    }
-
-    bool OnUpdateDisplayInfo(const DisplayInfo& cur_info,
-                             DisplayInfo* new_info) {
-      *new_info = handler_->display_info_;
-      LOG_INFO("OnUpdateDisplayInfo x[%d] y[%d]",
-               handler_->display_info_.geometry.x,
-               handler_->display_info_.geometry.y);
-      return true;
-    }
-    MixerMockPlayer* handler_ = nullptr;
-  };
-
- public:
-  MixerTicketEventListener* listener_ = nullptr;
-  DisplayInfo display_info_;
-};
-
-class MixerMockListener : public MixerEventListener {
- public:
-  MixerMockListener() {}
-  ~MixerMockListener() {}
-  void OnError() {
-    LOG_INFO(" listener [%p]", this);
-  }
-  void OnResourceConflicted() {
-    LOG_INFO("MyOnResourceConflicted listener[%p]", this);
-  }
-};
-
-TEST(MixerTest, MixerCreate) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  ASSERT_NE(mixer, nullptr);
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerTicketCreate) {
-  MixerMockPlayer p1;
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ASSERT_NE(ticket, nullptr);
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerDisableAutoRscAlloc_1) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  EXPECT_TRUE(mixer->SetRscAllocMode(RscAllocMode::kDisable));
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerDisableAutoRscAlloc_2) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerMockPlayer p1;
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_FALSE(mixer->SetRscAllocMode(RscAllocMode::kDisable));
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerDisableAudioFocusSetting_1) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  EXPECT_TRUE(mixer->DisableAudioFocusSetting());
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerDisableAudioFocusSetting_2) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerMockPlayer p1;
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_FALSE(mixer->DisableAudioFocusSetting());
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerSetAudioFocus_1) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerMockPlayer p1;
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_TRUE(mixer->SetAudioFocus(&p1));
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerSetAudioFocus_2) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerMockPlayer p1, p2;
-
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  MixerTicket* ticket2 = mixer->CreateTicket(&p2);
-
-  ticket->RegisterListener(p1.listener_);
-  ticket2->RegisterListener(p2.listener_);
-
-  EXPECT_TRUE(mixer->SetAudioFocus(&p2));
-
-  delete ticket;
-  delete ticket2;
-
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerSetAudioFocus_3) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-       mixer->DisableAudioFocusSetting();
-  MixerMockPlayer p1;
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_FALSE(mixer->SetAudioFocus(&p1));
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerSetDisplay) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  EXPECT_TRUE(mixer->SetDisplay(DisplayType::kOverlay,
-                                Utility::Instance().GetWindow()));
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerCommit) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerMockPlayer p1(1, 1, 1, 1);
-  MixerMockPlayer p2(2, 2, 2, 2);
-
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  MixerTicket* ticket2 = mixer->CreateTicket(&p2);
-
-  ticket->RegisterListener(p1.listener_);
-  ticket2->RegisterListener(p2.listener_);
-
-  EXPECT_TRUE(mixer->Commit());
-
-  delete ticket;
-  delete ticket2;
-
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerSetDisplayRoi) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerMockPlayer p1;
-
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-
-  ticket->RegisterListener(p1.listener_);
-  Geometry geometry;
-  geometry.x = 11;
-  geometry.y = 11;
-  geometry.w = 22;
-  geometry.h = 22;
-  EXPECT_TRUE(mixer->SetDisplayRoi(geometry));
-
-  delete ticket;
-
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerSetDisplayMode) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerMockPlayer p1;
-
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_TRUE(mixer->SetDisplayMode(DisplayMode::kDstRoi));
-
-  delete ticket;
-
-  mixer.reset();
-}
-
-TEST(MixerTest, MixerRegisterListener) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerMockListener* listener = new MixerMockListener;
-  EXPECT_TRUE(mixer->RegisterListener(listener));
-  mixer.reset();
-  delete listener;
-}
-
-TEST(MixerTest, MixerStart) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  EXPECT_TRUE(mixer->SetDisplay(DisplayType::kOverlay,
-                                Utility::Instance().GetWindow()));
-  Geometry geometry;
-  geometry.x = 0;
-  geometry.y = 0;
-  geometry.w = 1920;
-  geometry.h = 1080;
-  EXPECT_TRUE(mixer->SetDisplayRoi(geometry));
-  MixerMockListener* listener = new MixerMockListener;
-  EXPECT_TRUE(mixer->RegisterListener(listener));
-  EXPECT_TRUE(mixer->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(3));
-  EXPECT_TRUE(mixer->Stop());
-  mixer.reset();
-  delete listener;
-}
-
-TEST(MixerTest, MixerSetAlternativeVideoScaler) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-       EXPECT_TRUE(mixer->SetAlternativeVideoScaler());
-  EXPECT_TRUE(mixer->SetDisplay(DisplayType::kOverlay,
-                                Utility::Instance().GetWindow()));
-  Geometry geometry;
-  geometry.x = 0;
-  geometry.y = 0;
-  geometry.w = 1920;
-  geometry.h = 1080;
-  EXPECT_TRUE(mixer->SetDisplayRoi(geometry));
-  MixerMockListener* listener = new MixerMockListener;
-  EXPECT_TRUE(mixer->RegisterListener(listener));
-  EXPECT_TRUE(mixer->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(3));
-  EXPECT_TRUE(mixer->Stop());
-  mixer.reset();
-  delete listener;
-}
\ No newline at end of file
diff --git a/ut/src/mixer/ut_mixer_capi.cpp b/ut/src/mixer/ut_mixer_capi.cpp
deleted file mode 100755 (executable)
index 663a36a..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-
-
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-#include <gtest/gtest.h>
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer_capi/mixer_capi.h"
-#include "ut/include/appwindow.h"
-#include "ut/include/plusplayer/utility.h"
-
-using namespace plusplayer;
-using namespace plusplayer_ut;
-using namespace utils;
-
-class CMixerMockPlayer {
- public:
-  CMixerMockPlayer() { listener_ = new MyTicketListener(this); }
-  CMixerMockPlayer(int x, int y, int w, int h) {
-    listener_ = new MyTicketListener(this);
-    display_info_.geometry.x = x;
-    display_info_.geometry.y = y;
-    display_info_.geometry.w = w;
-    display_info_.geometry.h = h;
-  }
-  ~CMixerMockPlayer() { delete listener_; }
-
-  class MyTicketListener : public MixerTicketEventListener {
-   public:
-    explicit MyTicketListener(CMixerMockPlayer* handler) : handler_(handler){};
-    bool OnAudioFocusChanged(bool active) {
-      LOG_INFO("My OnAudioFocusChanged [%d] player [%p]", active, handler_);
-      return true;
-    }
-
-    bool OnUpdateDisplayInfo(const DisplayInfo& cur_info,
-                             DisplayInfo* new_info) {
-      *new_info = handler_->display_info_;
-      LOG_INFO("OnUpdateDisplayInfo x[%d] y[%d]",
-               handler_->display_info_.geometry.x,
-               handler_->display_info_.geometry.y);
-      return true;
-    }
-    CMixerMockPlayer* handler_ = nullptr;
-  };
-
- public:
-  MixerTicketEventListener* listener_ = nullptr;
-  DisplayInfo display_info_;
-};
-
-TEST(CMixerTest, vdapi_mixer_create_p_1) {
-  mixer_handle mixer = mixer_create();
-  ASSERT_NE(mixer, nullptr);
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_create_ticket_p_1) {
-  CMixerMockPlayer p1;
-  mixer_handle mixer = mixer_create();
-  MixerTicket* ticket = (MixerTicket*)mixer_create_ticket(mixer, &p1);
-  ASSERT_NE(ticket, nullptr);
-  delete ticket;
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_rsc_alloc_mode_p_1) {
-  mixer_handle mixer = mixer_create();
-  EXPECT_EQ(mixer_set_rsc_alloc_mode(mixer, MIXER_RSC_ALLOC_MODE_DISABLE),
-            MIXER_ERROR_TYPE_NONE);
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_rsc_alloc_mode_n_1) {
-  mixer_handle mixer = mixer_create();
-  CMixerMockPlayer p1;
-  MixerTicket* ticket = (MixerTicket*)mixer_create_ticket(mixer, &p1);
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_EQ(mixer_set_rsc_alloc_mode(mixer, MIXER_RSC_ALLOC_MODE_DISABLE),
-            MIXER_ERROR_TYPE_INVALID_OPERATION);
-  delete ticket;
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_disable_audio_focus_setting_p_1) {
-  mixer_handle mixer = mixer_create();
-  EXPECT_EQ(mixer_disable_audio_focus_setting(mixer), MIXER_ERROR_TYPE_NONE);
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_disable_audio_focus_setting_n_1) {
-  mixer_handle mixer = mixer_create();
-  CMixerMockPlayer p1;
-  MixerTicket* ticket = (MixerTicket*)mixer_create_ticket(mixer, &p1);
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_EQ(mixer_disable_audio_focus_setting(mixer),
-            MIXER_ERROR_TYPE_INVALID_OPERATION);
-  delete ticket;
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_audio_focus_p_1) {
-  mixer_handle mixer = mixer_create();
-  CMixerMockPlayer p1;
-  MixerTicket* ticket = (MixerTicket*)mixer_create_ticket(mixer, &p1);
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_EQ(mixer_set_audio_focus(mixer, &p1), MIXER_ERROR_TYPE_NONE);
-  delete ticket;
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_audio_focus_p_2) {
-  mixer_handle mixer = mixer_create();
-  CMixerMockPlayer p1, p2;
-
-  MixerTicket* ticket = (MixerTicket*)mixer_create_ticket(mixer, &p1);
-  MixerTicket* ticket2 = (MixerTicket*)mixer_create_ticket(mixer, &p2);
-
-  ticket->RegisterListener(p1.listener_);
-  ticket2->RegisterListener(p2.listener_);
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer, &p2), MIXER_ERROR_TYPE_NONE);
-
-  delete ticket;
-  delete ticket2;
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_audio_focus_n_2) {
-  mixer_handle mixer = mixer_create();
-  mixer_disable_audio_focus_setting(mixer);
-  CMixerMockPlayer p1;
-  MixerTicket* ticket = (MixerTicket*)mixer_create_ticket(mixer, &p1);
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_EQ(mixer_set_audio_focus(mixer, &p1),
-            MIXER_ERROR_TYPE_INVALID_OPERATION);
-  delete ticket;
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_display_p_1) {
-  mixer_handle mixer = mixer_create();
-  EXPECT_EQ(mixer_set_display(mixer, MIXER_DISPLAY_TYPE_OVERLAY,
-                              Utility::Instance().GetWindow()),
-            MIXER_ERROR_TYPE_NONE);
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_commit_p_1) {
-  mixer_handle mixer = mixer_create();
-  CMixerMockPlayer p1(1, 1, 1, 1);
-  CMixerMockPlayer p2(2, 2, 2, 2);
-
-  MixerTicket* ticket = (MixerTicket*)mixer_create_ticket(mixer, &p1);
-  MixerTicket* ticket2 = (MixerTicket*)mixer_create_ticket(mixer, &p2);
-
-  ticket->RegisterListener(p1.listener_);
-  ticket2->RegisterListener(p2.listener_);
-
-  EXPECT_EQ(mixer_commit(mixer), MIXER_ERROR_TYPE_NONE);
-
-  delete ticket;
-  delete ticket2;
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_display_roi_p_1) {
-  mixer_handle mixer = mixer_create();
-  CMixerMockPlayer p1;
-
-  MixerTicket* ticket = (MixerTicket*)mixer_create_ticket(mixer, &p1);
-
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_EQ(mixer_set_display_roi(mixer, 11, 11, 22, 22),
-            MIXER_ERROR_TYPE_NONE);
-
-  delete ticket;
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_display_mode_p_1) {
-  mixer_handle mixer = mixer_create();
-  CMixerMockPlayer p1;
-
-  MixerTicket* ticket = (MixerTicket*)mixer_create_ticket(mixer, &p1);
-
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_EQ(mixer_set_display_mode(mixer, MIXER_DISPLAY_MODE_DST_ROI),
-            MIXER_ERROR_TYPE_NONE);
-
-  delete ticket;
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_start_p_1) {
-  mixer_handle mixer = mixer_create();
-  mixer_set_display(mixer, MIXER_DISPLAY_TYPE_OVERLAY,
-                    Utility::Instance().GetWindow());
-  mixer_set_display_roi(mixer, 0, 0, 1920, 1080);
-  EXPECT_EQ(mixer_start(mixer), MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(3));
-  EXPECT_EQ(mixer_stop(mixer), MIXER_ERROR_TYPE_NONE);
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_alternative_video_scaler_p_1) {
-  mixer_handle mixer = mixer_create();
-  EXPECT_EQ(mixer_set_alternative_video_scaler(mixer), MIXER_ERROR_TYPE_NONE);
-  mixer_set_display(mixer, MIXER_DISPLAY_TYPE_OVERLAY,
-                    Utility::Instance().GetWindow());
-  mixer_set_display_roi(mixer, 0, 0, 1920, 1080);
-
-  EXPECT_EQ(mixer_start(mixer), MIXER_ERROR_TYPE_NONE);
-  std::this_thread::sleep_for(std::chrono::seconds(3));
-  EXPECT_EQ(mixer_stop(mixer), MIXER_ERROR_TYPE_NONE);
-  mixer_destroy(mixer);
-}
-
-TEST(CMixerTest, vdapi_mixer_set_on_resource_conflict_cb_p_1) {
-  mixer_handle mixer = mixer_create();
-  EXPECT_EQ(mixer_set_resource_conflicted_cb(mixer, nullptr, nullptr),
-            MIXER_ERROR_TYPE_NONE);
-  mixer_destroy(mixer);
-}
-
diff --git a/ut/src/mixer/ut_mixer_espp_capi.cpp b/ut/src/mixer/ut_mixer_espp_capi.cpp
deleted file mode 100755 (executable)
index 244b025..0000000
+++ /dev/null
@@ -1,351 +0,0 @@
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-#include <gtest/gtest.h>
-
-#include "esplusplayer_capi/esplusplayer_capi.h"
-#include "mixer_capi/mixer_capi.h"
-#include "ut/include/plusplayer/utility.h"
-#include "ut/include/streamreader.hpp"
-
-using namespace plusplayer;
-using namespace plusplayer_ut;
-using namespace utils;
-using namespace std;
-
-using utils::Utility;
-std::string uri_1 = "youtube/";
-std::string uri_2 = "bunny/";
-
-// max playing duration : 10 sec => see EsStreamReader::ReadNextPacket()
-constexpr int kEsPlayingTime = 1;  // (sec)
-
-class CMixerEsppTestF : public ::testing::Test {
- public:
-  explicit CMixerEsppTestF(void)
-      : util_(Utility::Instance()),
-        mixer_(nullptr),
-        player1_(nullptr),
-        player2_(nullptr),
-        player3_(nullptr),
-        player4_(nullptr){};
-  ~CMixerEsppTestF(void){};
-
-  static void SetUpTestCase() {
-    ESPacketDownloader::Init();
-    std::cout << "SetUpTestCase()" << std::endl;
-  }
-
-  static void TearDownTestCase() {}
-
-  virtual void SetUp(void) override {
-    LOG_ERROR("%s", util_.GetCurrentTestName());
-    mixer_ = mixer_create();
-    mixer_set_display(mixer_, MIXER_DISPLAY_TYPE_OVERLAY, util_.GetWindow());
-
-    roi1_.x = 20;
-    roi1_.y = 20;
-    roi1_.w = 960;
-    roi1_.h = 540;
-
-    roi2_.x = 1000;
-    roi2_.y = 20;
-    roi2_.w = 720;
-    roi2_.h = 480;
-
-    roi3_.x = 20;
-    roi3_.y = 520;
-    roi3_.w = 720;
-    roi3_.h = 480;
-
-    roi4_.x = 1000;
-    roi4_.y = 520;
-    roi4_.w = 720;
-    roi4_.h = 480;
-  }
-
-  virtual void TearDown(void) override {
-    util_.DestroyESPP(player1_);
-    util_.DestroyESPP(player2_);
-    util_.DestroyESPP(player3_);
-    util_.DestroyESPP(player4_);
-    mixer_destroy(mixer_);
-    player1_ = nullptr;
-    player2_ = nullptr;
-    player3_ = nullptr;
-    player4_ = nullptr;
-    mixer_ = nullptr;
-    LOG_ERROR("%s", util_.GetCurrentTestName());
-  }
-
- public:
-  Utility& util_;
-  mixer_handle mixer_;
-  esplusplayer_handle player1_;
-  esplusplayer_handle player2_;
-  esplusplayer_handle player3_;
-  esplusplayer_handle player4_;
-  Geometry roi1_;
-  Geometry roi2_;
-  Geometry roi3_;
-  Geometry roi4_;
-};
-
-TEST(CMixerEsppTest, vdapi_mixer_create_destroy_p_1) {
-  mixer_handle mixer = mixer_create();
-  ASSERT_NE(mixer, nullptr);
-  EXPECT_EQ(mixer_destroy(mixer), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_start_stop_p_1) {
-  player1_ = util_.GetPreparedMixESPP(uri_2, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetPreparedMixESPP(uri_2, mixer_, roi2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_EQ(esplusplayer_start(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_start(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(mixer_start(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kEsPlayingTime));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player2_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_get_max_allowed_number_of_player_p_1) {
-  int max_num = mixer_get_max_allowed_number_of_player(mixer_);
-  constexpr int MAX_NUM = 3;
-  EXPECT_EQ(MAX_NUM, max_num);
-}
-
-TEST(CMixerEsppTest, vdapi_mixer_set_display_p_1) {
-  mixer_handle mixer = mixer_create();
-  ASSERT_NE(mixer, nullptr);
-  Utility& util = Utility::Instance();
-  EXPECT_EQ(
-      mixer_set_display(mixer, MIXER_DISPLAY_TYPE_OVERLAY, util.GetWindow()),
-      MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(mixer_destroy(mixer), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_set_display_mode_p_1) {
-  EXPECT_EQ(mixer_set_display_mode(mixer_, MIXER_DISPLAY_MODE_DST_ROI),
-            MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_set_display_roi_p_1) {
-  EXPECT_EQ(mixer_set_display_mode(mixer_, MIXER_DISPLAY_MODE_DST_ROI),
-            MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(mixer_set_display_roi(mixer_, 0, 0, 1920, 1080),
-            MIXER_ERROR_TYPE_NONE);
-  
-  player1_ = util_.GetStartedMixESPP(uri_2, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  mixer_start(mixer_);
-  std::this_thread::sleep_for(std::chrono::seconds(kEsPlayingTime));
-  
-  EXPECT_EQ(mixer_set_display_roi(mixer_, roi2_.x, roi2_.y, roi2_.w, roi2_.h),
-            MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kEsPlayingTime));
-
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_set_rsc_alloc_mode_p_1) {
-  EXPECT_EQ(mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_DISABLE),
-            MIXER_ERROR_TYPE_NONE);
-  mixer_stop(mixer_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_set_rsc_alloc_mode_n_1) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_DISABLE),
-            MIXER_ERROR_TYPE_INVALID_OPERATION);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_esplusplayer_set_video_codec_type_p_1) {
-  EXPECT_EQ(mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_DISABLE),
-            MIXER_ERROR_TYPE_NONE);
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(esplusplayer_set_video_codec_type(
-                player1_, ESPLUSPLAYER_VIDEO_CODEC_TYPE_HW_N_DECODING),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  mixer_stop(mixer_);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_esplusplayer_set_video_codec_type_p_2) {
-  EXPECT_EQ(mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_DISABLE),
-            MIXER_ERROR_TYPE_NONE);
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(esplusplayer_set_video_codec_type(player1_,
-                                              ESPLUSPLAYER_VIDEO_CODEC_TYPE_HW),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  mixer_stop(mixer_);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_esplusplayer_set_video_codec_type_n_1) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(esplusplayer_set_video_codec_type(
-                player1_, ESPLUSPLAYER_VIDEO_CODEC_TYPE_HW_N_DECODING),
-            ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION);
-  mixer_stop(mixer_);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_esplusplayer_set_video_codec_type_n_2) {
-  player1_ = util_.GetOpenedESPP(roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(esplusplayer_set_video_codec_type(
-                player1_, ESPLUSPLAYER_VIDEO_CODEC_TYPE_HW_N_DECODING),
-            ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION);
-  mixer_stop(mixer_);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_esplusplayer_set_video_codec_type_n_3) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(esplusplayer_set_video_codec_type(player1_,
-                                              ESPLUSPLAYER_VIDEO_CODEC_TYPE_HW),
-            ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION);
-  mixer_stop(mixer_);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_esplusplayer_set_alternative_video_resource_p_1) {
-  EXPECT_EQ(mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_DISABLE),
-            MIXER_ERROR_TYPE_NONE);
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(esplusplayer_set_alternative_video_resource(player1_, 0),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_esplusplayer_set_alternative_video_resource_n_1) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(esplusplayer_set_alternative_video_resource(player1_, 0),
-            ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_esplusplayer_set_alternative_video_resource_n_2) {
-  EXPECT_EQ(mixer_set_rsc_alloc_mode(mixer_, MIXER_RSC_ALLOC_MODE_DEFAULT),
-            MIXER_ERROR_TYPE_NONE);
-  player1_ = util_.GetPreparedMixESPP(uri_2, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  EXPECT_EQ(esplusplayer_deactivate(player1_, ESPLUSPLAYER_STREAM_TYPE_VIDEO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_set_alternative_video_resource(player1_, 0),
-            ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION);
-
-  mixer_stop(mixer_);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_disable_audio_focus_setting_p_1) {
-  EXPECT_EQ(mixer_disable_audio_focus_setting(mixer_), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_disable_audio_focus_setting_p_2) {
-  EXPECT_EQ(mixer_disable_audio_focus_setting(mixer_), MIXER_ERROR_TYPE_NONE);
-  player1_ = util_.GetPreparedMixESPP(uri_2, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  mixer_start(mixer_);
-
-  EXPECT_EQ(esplusplayer_deactivate(player1_, ESPLUSPLAYER_STREAM_TYPE_AUDIO),
-            MIXER_ERROR_TYPE_NONE);
-
-  mixer_stop(mixer_);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_disable_audio_focus_setting_n_1) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  EXPECT_EQ(mixer_disable_audio_focus_setting(mixer_),
-            MIXER_ERROR_TYPE_INVALID_OPERATION);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_esplusplayer_deactivate_p_1) {
-  EXPECT_EQ(mixer_disable_audio_focus_setting(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  player1_ = util_.GetPreparedMixESPP(uri_2, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(esplusplayer_deactivate(player1_, ESPLUSPLAYER_STREAM_TYPE_AUDIO),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_esplusplayer_deactivate_n_1) {
-  player1_ = util_.GetPreparedMixESPP(uri_2, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_EQ(esplusplayer_deactivate(player1_, ESPLUSPLAYER_STREAM_TYPE_AUDIO),
-            ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_set_alternative_video_scaler_p_1) {
-  EXPECT_EQ(mixer_set_alternative_video_scaler(mixer_),
-            MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_set_audio_focus_p_1) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-
-  EXPECT_EQ(mixer_set_audio_focus(mixer_, player1_), MIXER_ERROR_TYPE_NONE);
-
-  EXPECT_EQ(esplusplayer_close(player1_), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(mixer_stop(mixer_), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_commit_p_1) {
-  player1_ = util_.GetStartedMixESPP(uri_2, mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);
-  mixer_start(mixer_);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kEsPlayingTime));
-
-  esplusplayer_set_display_roi(player1_, roi3_.x, roi3_.y, roi3_.w, roi3_.h);
-  EXPECT_EQ(mixer_commit(mixer_), MIXER_ERROR_TYPE_NONE);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kEsPlayingTime));
-
-  mixer_stop(mixer_);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_set_resolution_p_1) {
-  EXPECT_EQ(mixer_set_resolution(mixer_, 1920, 1080, 30, 1), MIXER_ERROR_TYPE_NONE);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_create_ticket_p_1) {
-  player1_ = util_.GetOpenedMixESPP(mixer_, roi1_);
-  ASSERT_NE(player1_, nullptr);        
-  void* ticket = mixer_create_ticket(mixer_, player1_);
-  ASSERT_NE(ticket, nullptr);
-  esplusplayer_close(player1_);
-}
-
-TEST_F(CMixerEsppTestF, vdapi_mixer_set_resource_conflicted_cb_p_1) {
-  EXPECT_EQ(mixer_set_resource_conflicted_cb(mixer_, nullptr, nullptr),
-            MIXER_ERROR_TYPE_NONE);
-}
-
diff --git a/ut/src/mixer/ut_mixerscenario.cpp b/ut/src/mixer/ut_mixerscenario.cpp
deleted file mode 100755 (executable)
index 9be8e0f..0000000
+++ /dev/null
@@ -1,628 +0,0 @@
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-#include <gtest/gtest.h>
-
-#include <iostream>
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/mixer.h"
-#include "mixer/mixer_eventlistener.h"
-#include "mixer/mixerticket.h"
-#include "mixer/mixerticket_eventlistener.h"
-#include "ut/include/plusplayer/utility.h"
-
-using namespace plusplayer;
-using namespace plusplayer_ut;
-using namespace utils;
-using namespace std;
-
-using utils::Utility;
-std::string dashuri =
-    "";
-std::string httpuri = "";
-std::string hlsuri = "";
-std::string fhd1 =
-    "";
-std::string fhd2 =
-    "";
-std::string fhd3 =
-    "";
-constexpr int kPlayingTime = 5;  // sec
-
-//------------------------------------------------------------
-class MixerScenarioTestF : public ::testing::Test {
- public:
-  explicit MixerScenarioTestF(void)
-      : util_(Utility::Instance()),
-        mixer_(nullptr),
-        player1_(nullptr),
-        player2_(nullptr),
-        player3_(nullptr){};
-  ~MixerScenarioTestF(void){};
-
-  virtual void SetUp(void) override {
-    LOG_ERROR("%s", util_.GetCurrentTestName());
-    mixer_ = Mixer::Create();
-    mixer_->SetDisplay(DisplayType::kOverlay, util_.GetWindow());
-#if 1
-    geometry1_.x = 20;
-    geometry1_.y = 20;
-    geometry1_.w = 960;
-    geometry1_.h = 540;
-
-    geometry2_.x = 1000;
-    geometry2_.y = 20;
-    geometry2_.w = 720;
-    geometry2_.h = 480;
-
-    geometry3_.x = 20;
-    geometry3_.y = 520;
-    geometry3_.w = 720;
-    geometry3_.h = 480;
-
-    geometry4_.x = 1000;
-    geometry4_.y = 520;
-    geometry4_.w = 720;
-    geometry4_.h = 480;
-#else
-    geometry1_.x = 20;
-    geometry1_.y = 20;
-    geometry1_.w = 1180;
-    geometry1_.h = 720;
-
-    geometry2_.x = 1220;
-    geometry2_.y = 20;
-    geometry2_.w = 640;
-    geometry2_.h = 480;
-
-    geometry3_.x = 1220;
-    geometry3_.y = 520;
-    geometry3_.w = 640;
-    geometry3_.h = 480;
-#endif
-  }
-
-  virtual void TearDown(void) override {
-    util_.DestroyPlayer(player1_);
-    util_.DestroyPlayer(player2_);
-    util_.DestroyPlayer(player3_);
-    mixer_.reset();
-    LOG_ERROR("%s", util_.GetCurrentTestName());
-  }
-
- public:
-  Utility& util_;
-  std::unique_ptr<Mixer> mixer_;
-  PlusPlayer::Ptr player1_;
-  PlusPlayer::Ptr player2_;
-  PlusPlayer::Ptr player3_;
-  PlusPlayer::Ptr player4_;
-  Geometry geometry1_;
-  Geometry geometry2_;
-  Geometry geometry3_;
-  Geometry geometry4_;
-};
-
-#if 0  // prepare async test
-TEST(MixerScenarioTest, OnePlayer) {
-  AppWindow appwin(0, 0, 1920, 1080);
-  // create player1
-  auto player1 = plusplayer::PlusPlayer::Create();
-
-  shared_ptr<FakeUserData> user_data = std::make_shared<FakeUserData>();
-  shared_ptr<PlusPlayerMockEventListener> mock_eventlistener =
-      std::make_shared<PlusPlayerMockEventListener>();
-  shared_ptr<PlusPlayerFakeEventListener> fake_eventlistener =
-      std::make_shared<PlusPlayerFakeEventListener>();
-  mock_eventlistener->Bind(
-      std::dynamic_pointer_cast<EventListener>(fake_eventlistener));
-
-  ASSERT_NE(player1, nullptr);
-  EXPECT_TRUE(player1->Open(hlsuri.c_str()));
-  player1->RegisterListener(mock_eventlistener.get(), (void*)user_data.get());
-  // set mixer mode
-  EXPECT_TRUE(
-      player1->SetDisplay(DisplayType::kOverlay, appwin.GetWindow().obj));
-  Geometry geometry1;
-  geometry1.x = 0;
-  geometry1.y = 0;
-  geometry1.w = 1920;
-  geometry1.h = 1080;
-  EXPECT_TRUE(player1->SetDisplayMode(DisplayMode::kDstRoi));
-  EXPECT_TRUE(player1->SetDisplayRoi(geometry1));
-  EXPECT_TRUE(player1->PrepareAsync());
-  ASSERT_EQ(
-      user_data->onPrepareDone
-          .WaitForChange(PrepareStatus::kSuccess, DEFAULT_TIMEOUT_FOR_PREPARING)
-          .get(),
-      WatcherStatus::kSuccess);
-  EXPECT_TRUE(player1->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-  EXPECT_TRUE(player1->Stop());
-  EXPECT_TRUE(player1->Close());
-  player1.reset();
-}
-
-TEST(MixerScenarioTest, Basic) {
-  shared_ptr<FakeUserData> user_data1 = std::make_shared<FakeUserData>();
-  shared_ptr<PlusPlayerMockEventListener> mock_eventlistener1 =
-      std::make_shared<PlusPlayerMockEventListener>();
-  shared_ptr<PlusPlayerFakeEventListener> fake_eventlistener1 =
-      std::make_shared<PlusPlayerFakeEventListener>();
-  mock_eventlistener1->Bind(
-      std::dynamic_pointer_cast<EventListener>(fake_eventlistener1));
-
-  shared_ptr<FakeUserData> user_data2 = std::make_shared<FakeUserData>();
-  shared_ptr<PlusPlayerMockEventListener> mock_eventlistener2 =
-      std::make_shared<PlusPlayerMockEventListener>();
-  shared_ptr<PlusPlayerFakeEventListener> fake_eventlistener2 =
-      std::make_shared<PlusPlayerFakeEventListener>();
-  mock_eventlistener2->Bind(
-      std::dynamic_pointer_cast<EventListener>(fake_eventlistener2));
-
-  shared_ptr<FakeUserData> user_data3 = std::make_shared<FakeUserData>();
-  shared_ptr<PlusPlayerMockEventListener> mock_eventlistener3 =
-      std::make_shared<PlusPlayerMockEventListener>();
-  shared_ptr<PlusPlayerFakeEventListener> fake_eventlistener3 =
-      std::make_shared<PlusPlayerFakeEventListener>();
-  mock_eventlistener3->Bind(
-      std::dynamic_pointer_cast<EventListener>(fake_eventlistener3));
-
-  AppWindow appwin(0, 0, 1920, 1080);
-
-  // create mixer
-  auto mixer = Mixer::Create();
-  ASSERT_NE(mixer, nullptr);
-  EXPECT_TRUE(mixer->SetDisplay(DisplayType::kOverlay, appwin.GetWindow().obj));
-
-  // create player1
-  auto player1 = plusplayer::PlusPlayer::Create();
-  ASSERT_NE(player1, nullptr);
-  EXPECT_TRUE(player1->Open(hlsuri.c_str()));
-  player1->RegisterListener(mock_eventlistener1.get(), (void*)user_data1.get());
-  // set mixer mode
-  EXPECT_TRUE(player1->SetDisplay(DisplayType::kMixer, mixer.get()));
-  Geometry geometry1;
-  geometry1.x = 20;
-  geometry1.y = 20;
-  geometry1.w = 1180;
-  geometry1.h = 720;
-  EXPECT_TRUE(player1->SetDisplayRoi(geometry1));
-  // set audio focus
-  EXPECT_TRUE(mixer->SetAudioFocus(player1.get()));
-  EXPECT_TRUE(player1->PrepareAsync());
-
-  // create player2
-  auto player2 = plusplayer::PlusPlayer::Create();
-  EXPECT_NE(player2, nullptr);
-  EXPECT_TRUE(player2->Open(hlsuri.c_str()));
-  player2->RegisterListener(mock_eventlistener2.get(), (void*)user_data2.get());
-  // set mixer mode
-  EXPECT_TRUE(player2->SetDisplay(DisplayType::kMixer, mixer.get()));
-  Geometry geometry2;
-  geometry2.x = 1220;
-  geometry2.y = 20;
-  geometry2.w = 640;
-  geometry2.h = 480;
-  EXPECT_TRUE(player2->SetDisplayRoi(geometry2));
-  EXPECT_TRUE(player2->PrepareAsync());
-
-  // create player3
-  auto player3 = plusplayer::PlusPlayer::Create();
-  EXPECT_NE(player3, nullptr);
-  EXPECT_TRUE(player3->Open(hlsuri.c_str()));
-  player3->RegisterListener(mock_eventlistener3.get(), (void*)user_data3.get());
-  // set mixer mode
-  EXPECT_TRUE(player3->SetDisplay(DisplayType::kMixer, mixer.get()));
-  Geometry geometry3;
-  geometry3.x = 1220;
-  geometry3.y = 520;
-  geometry3.w = 640;
-  geometry3.h = 480;
-  EXPECT_TRUE(player3->SetDisplayRoi(geometry3));
-  EXPECT_TRUE(player3->PrepareAsync());
-
-  ASSERT_EQ(
-      user_data1->onPrepareDone
-          .WaitForChange(PrepareStatus::kSuccess, DEFAULT_TIMEOUT_FOR_PREPARING)
-          .get(),
-      WatcherStatus::kSuccess);
-  
-  ASSERT_EQ(
-      user_data2->onPrepareDone
-          .WaitForChange(PrepareStatus::kSuccess, DEFAULT_TIMEOUT_FOR_PREPARING)
-          .get(),
-      WatcherStatus::kSuccess);
-
-  ASSERT_EQ(
-      user_data3->onPrepareDone
-          .WaitForChange(PrepareStatus::kSuccess, DEFAULT_TIMEOUT_FOR_PREPARING)
-          .get(),
-      WatcherStatus::kSuccess);
-
-  EXPECT_TRUE(player1->Start());
-  EXPECT_TRUE(player2->Start());
-  EXPECT_TRUE(player3->Start());
-
-  EXPECT_TRUE(mixer->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer->Stop());
-  EXPECT_TRUE(player1->Stop());
-  EXPECT_TRUE(player2->Stop());
-  EXPECT_TRUE(player3->Stop());
-
-  EXPECT_TRUE(player1->Close());
-  EXPECT_TRUE(player2->Close());
-  EXPECT_TRUE(player3->Close());
-
-  player1.reset();
-  player2.reset();
-  player3.reset();
-  mixer.reset();
-}
-#endif
-#if 0  // memory check TC
-class MixerScenarioMemTestF : public ::testing::Test {
- public:
-  explicit MixerScenarioMemTestF(void) : util_(Utility::Instance()){};
-  ~MixerScenarioMemTestF(void){};
-
-  virtual void SetUp(void) override {
-    LOG_ERROR("%s", util_.GetCurrentTestName());
-    geometry1_.x = 20;
-    geometry1_.y = 20;
-    geometry1_.w = 960;
-    geometry1_.h = 540;
-
-    geometry2_.x = 1000;
-    geometry2_.y = 20;
-    geometry2_.w = 720;
-    geometry2_.h = 480;
-
-    geometry3_.x = 1000;
-    geometry3_.y = 520;
-    geometry3_.w = 720;
-    geometry3_.h = 480;
-  }
-
-  virtual void TearDown(void) override {
-    LOG_ERROR("%s", util_.GetCurrentTestName());
-  }
-
- public:
-  Utility& util_;
-  Geometry geometry1_;
-  Geometry geometry2_;
-  Geometry geometry3_;
-};
-
-TEST(MixerScenarioMemTestF, RealNothing) {
-  std::this_thread::sleep_for(std::chrono::seconds(20));
-}
-
-TEST_F(MixerScenarioMemTestF, OnlyWindow) {
-  std::this_thread::sleep_for(std::chrono::seconds(20));
-}
-
-TEST_F(MixerScenarioMemTestF, OnePlayer) {
-  // create player1
-  auto player1_ = util_.GetOpenedPlusPlayer(hlsuri);
-  ASSERT_NE(player1_, nullptr);
-  EXPECT_TRUE(player1_->Prepare());
-  EXPECT_TRUE(player1_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(40));
-  EXPECT_TRUE(player1_->Stop());
-  EXPECT_TRUE(player1_->Close());
-  player1_.reset();
-}
-
-TEST_F(MixerScenarioMemTestF, MixerThreePlayer) {
-  auto mixer_ = Mixer::Create();
-  mixer_->SetDisplay(DisplayType::kOverlay, util_.GetWindow());
-  auto player1_ =
-      util_.GetOpenedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-  auto player2_ =
-      util_.GetOpenedMixPlusPlayer(hlsuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-  auto player3_ =
-      util_.GetOpenedMixPlusPlayer(hlsuri, mixer_.get(), geometry3_);
-  ASSERT_NE(player3_, nullptr);
-
-  EXPECT_TRUE(mixer_->SetAudioFocus(player1_.get()));
-
-  EXPECT_TRUE(player1_->Prepare());
-  EXPECT_TRUE(player2_->Prepare());
-  EXPECT_TRUE(player3_->Prepare());
-
-  EXPECT_TRUE(player1_->Start());
-  EXPECT_TRUE(player2_->Start());
-  EXPECT_TRUE(player3_->Start());
-
-  EXPECT_TRUE(mixer_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(40));
-
-  EXPECT_TRUE(mixer_->Stop());
-  EXPECT_TRUE(player1_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-  EXPECT_TRUE(player3_->Stop());
-
-  EXPECT_TRUE(player1_->Close());
-  EXPECT_TRUE(player2_->Close());
-  EXPECT_TRUE(player3_->Close());
-
-  player1_.reset();
-  player2_.reset();
-  player3_.reset();
-
-  mixer_.reset();
-}
-
-TEST_F(MixerScenarioMemTestF, MixerOnePlayer) {
-  auto mixer_ = Mixer::Create();
-  mixer_->SetDisplay(DisplayType::kOverlay, util_.GetWindow());
-  auto player1_ =
-      util_.GetOpenedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-
-  EXPECT_TRUE(mixer_->SetAudioFocus(player1_.get()));
-
-  EXPECT_TRUE(player1_->Prepare());
-
-  EXPECT_TRUE(player1_->Start());
-
-  EXPECT_TRUE(mixer_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(40));
-
-  EXPECT_TRUE(mixer_->Stop());
-  EXPECT_TRUE(player1_->Stop());
-
-  EXPECT_TRUE(player1_->Close());
-
-  player1_.reset();
-  mixer_.reset();
-}
-#endif
-
-#if 1  // normal mixer test
-TEST_F(MixerScenarioTestF, Basic) {
-  player1_ = util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_TRUE(mixer_->SetAudioFocus(player1_.get()));
-
-  EXPECT_TRUE(player1_->Prepare());
-  EXPECT_TRUE(player2_->Prepare());
-
-  EXPECT_TRUE(player1_->Start());
-  EXPECT_TRUE(player2_->Start());
-
-  EXPECT_TRUE(mixer_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer_->Stop());
-  EXPECT_TRUE(player1_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-}
-
-TEST_F(MixerScenarioTestF, SinglePlay) {
-  player1_ = util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-
-  EXPECT_TRUE(mixer_->SetAudioFocus(player1_.get()));
-
-  EXPECT_TRUE(player1_->Prepare());
-
-  EXPECT_TRUE(player1_->Start());
-
-  EXPECT_TRUE(mixer_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer_->Stop());
-  EXPECT_TRUE(player1_->Stop());
-}
-
-#if 0 // n-decoding test ut : need to call n-decoding mode set api of player
-TEST_F(MixerScenarioTestF, MaxPlay) {
-  player1_ = util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-  player3_ = util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player3_, nullptr);
-  player4_ = util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player4_, nullptr);
-
-  EXPECT_TRUE(mixer_->SetAudioFocus(player1_.get()));
-
-  EXPECT_TRUE(player1_->Prepare());
-  EXPECT_TRUE(player2_->Prepare());
-  EXPECT_TRUE(player3_->Prepare());
-  EXPECT_TRUE(player4_->Prepare());
-
-  EXPECT_TRUE(player1_->Start());
-  EXPECT_TRUE(player2_->Start());
-  EXPECT_TRUE(player3_->Start());
-  EXPECT_TRUE(player4_->Start());
-
-  EXPECT_TRUE(mixer_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer_->Stop());
-  EXPECT_TRUE(player1_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-  EXPECT_TRUE(player3_->Stop());
-  EXPECT_TRUE(player4_->Stop());
-}
-#endif
-
-TEST_F(MixerScenarioTestF, DetachAttach) {
-  player1_ = util_.GetStartedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetStartedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_TRUE(mixer_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-  EXPECT_TRUE(player1_->Stop());
-
-  player3_ = util_.GetStartedMixPlusPlayer(dashuri, mixer_.get(), geometry3_);
-  ASSERT_NE(player3_, nullptr);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-  EXPECT_TRUE(player3_->Stop());
-}
-
-TEST_F(MixerScenarioTestF, DetachAttach1) {
-  player1_ = util_.GetStartedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetStartedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_TRUE(mixer_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-  EXPECT_TRUE(player1_->Stop());
-
-  player3_ = util_.GetStartedMixPlusPlayer(dashuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player3_, nullptr);
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-  EXPECT_TRUE(player3_->Stop());
-}
-
-TEST_F(MixerScenarioTestF, SetROI) {
-  player1_ = util_.GetStartedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetStartedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_TRUE(mixer_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(player1_->SetDisplayRoi(geometry2_));
-  EXPECT_TRUE(player2_->SetDisplayRoi(geometry1_));
-  EXPECT_TRUE(mixer_->Commit());
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer_->Stop());
-  EXPECT_TRUE(player1_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-}
-
-TEST_F(MixerScenarioTestF, SetROI1) {
-  player1_ = util_.GetStartedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetStartedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_TRUE(mixer_->Start());
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(player1_->SetDisplayRoi(geometry2_));
-  EXPECT_TRUE(player2_->SetDisplayRoi(geometry3_));
-  EXPECT_TRUE(mixer_->Commit());
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer_->Stop());
-  EXPECT_TRUE(player1_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-}
-
-TEST_F(MixerScenarioTestF, CheckMaxMixedPlayer) {
-  player1_ = util_.GetOpenedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-  player2_ = util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-  player3_ = util_.GetOpenedMixPlusPlayer(dashuri, mixer_.get(), geometry3_);
-  ASSERT_NE(player3_, nullptr);
-  auto player4 =
-      util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry3_);
-  ASSERT_NE(player4, nullptr);
-
-  EXPECT_TRUE(player1_->Prepare());
-  EXPECT_TRUE(player2_->Prepare());
-  EXPECT_TRUE(player3_->Prepare());
-
-  EXPECT_FALSE(player4->Prepare());
-
-  EXPECT_TRUE(player4->Close());
-  EXPECT_TRUE(mixer_->Stop());
-}
-
-TEST_F(MixerScenarioTestF, SetAudioFocus) {
-  player1_ = util_.GetOpenedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetOpenedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_TRUE(mixer_->SetAudioFocus(player1_.get()));
-
-  EXPECT_TRUE(player1_->Prepare());
-  EXPECT_TRUE(player2_->Prepare());
-
-  EXPECT_TRUE(player1_->Start());
-  EXPECT_TRUE(player2_->Start());
-
-  EXPECT_TRUE(mixer_->Start());
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer_->SetAudioFocus(player2_.get()));
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(mixer_->SetAudioFocus(player1_.get()));
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(player1_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-  EXPECT_TRUE(mixer_->Stop());
-}
-
-TEST_F(MixerScenarioTestF, SetAudioFocus1) {
-  player1_ = util_.GetStartedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-
-  player2_ = util_.GetStartedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_TRUE(mixer_->Start());
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(player1_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-  EXPECT_TRUE(mixer_->Stop());
-}
-
-TEST_F(MixerScenarioTestF, SetAudioFocus2) {
-  player1_ = util_.GetStartedMixPlusPlayer(hlsuri, mixer_.get(), geometry1_);
-  ASSERT_NE(player1_, nullptr);
-
-  EXPECT_FALSE(mixer_->SetAudioFocus(nullptr));
-  player2_ = util_.GetStartedMixPlusPlayer(httpuri, mixer_.get(), geometry2_);
-  ASSERT_NE(player2_, nullptr);
-
-  EXPECT_TRUE(mixer_->Start());
-
-  std::this_thread::sleep_for(std::chrono::seconds(kPlayingTime));
-
-  EXPECT_TRUE(player1_->Stop());
-  EXPECT_TRUE(player2_->Stop());
-  EXPECT_TRUE(mixer_->Stop());
-}
-#endif
\ No newline at end of file
diff --git a/ut/src/mixer/ut_mixerticket.cpp b/ut/src/mixer/ut_mixerticket.cpp
deleted file mode 100755 (executable)
index 440135d..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-//
-// @ Copyright [2020] <S/W Platform, Visual Display, Samsung Electronics>
-//
-#include <gtest/gtest.h>
-
-#include "core/utils/plusplayer_log.h"
-#include "mixer/mixer.h"
-#include "mixer/mixer_eventlistener.h"
-#include "mixer/mixerticket.h"
-#include "mixer/mixerticket_eventlistener.h"
-#include "ut/include/appwindow.h"
-
-using namespace plusplayer;
-using namespace plusplayer_ut;
-
-class MixerTicketMockPlayer {
- public:
-  MixerTicketMockPlayer() { listener_ = new MyTicketListener(this); }
-  MixerTicketMockPlayer(int x, int y, int w, int h) {
-    listener_ = new MyTicketListener(this);
-    display_info_.geometry.x = x;
-    display_info_.geometry.y = y;
-    display_info_.geometry.w = w;
-    display_info_.geometry.h = h;
-  }
-  ~MixerTicketMockPlayer() { delete listener_; }
-
-  class MyTicketListener : public MixerTicketEventListener {
-   public:
-    explicit MyTicketListener(MixerTicketMockPlayer* handler)
-        : handler_(handler){};
-    bool OnAudioFocusChanged(bool active) {
-      LOG_INFO("My OnAudioFocusChanged [%d] player [%p]", active, handler_);
-      return true;
-    }
-
-    bool OnUpdateDisplayInfo(const DisplayInfo& cur_info,
-                             DisplayInfo* new_info) {
-      *new_info = handler_->display_info_;
-      LOG_INFO("OnUpdateDisplayInfo x[%d] y[%d]",
-               handler_->display_info_.geometry.x,
-               handler_->display_info_.geometry.y);
-      return true;
-    }
-    MixerTicketMockPlayer* handler_ = nullptr;
-  };
-
- public:
-  MixerTicketEventListener* listener_ = nullptr;
-  DisplayInfo display_info_;
-};
-
-class MyMixerListener : public MixerEventListener {
- public:
-  MyMixerListener() {}
-  ~MyMixerListener() {}
-  void OnError() {
-    LOG_INFO(" listener [%p]", this);
-  }
-  void OnResourceConflicted() {
-    LOG_INFO("MyOnResourceConflicted listener[%p]", this);
-  }
-};
-
-TEST(MixerticketTest, MixerTicketRenderBasic) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1, p2;
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  MixerTicket* ticket2 = mixer->CreateTicket(&p2);
-  // EXPECT_TRUE(ticket->Render());
-  // EXPECT_TRUE(ticket2->Render());
-  delete ticket;
-  delete ticket2;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTicketRegisterListener) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1;
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  EXPECT_TRUE(ticket->RegisterListener(p1.listener_));
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTicketPrepare) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1;
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ticket->RegisterListener(p1.listener_);
-  EXPECT_TRUE(ticket->Prepare());
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTiecketGetAvailableResourceType_1) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1;
-
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-
-  ticket->RegisterListener(p1.listener_);
-  ResourceType type;
-  EXPECT_TRUE(
-      ticket->GetAvailableResourceType(ResourceCategory::kVideoDecoder, &type));
-
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTiecketGetAvailableResourceType_2) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1;
-
-  mixer->SetRscAllocMode(RscAllocMode::kDisable);
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-
-  ticket->RegisterListener(p1.listener_);
-  ResourceType type;
-  EXPECT_FALSE(
-      ticket->GetAvailableResourceType(ResourceCategory::kVideoDecoder, &type));
-
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTiecketAlloc) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1;
-
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-
-  ticket->RegisterListener(p1.listener_);
-  ResourceType type;
-  EXPECT_TRUE(
-      ticket->GetAvailableResourceType(ResourceCategory::kVideoDecoder, &type));
-  EXPECT_TRUE(ticket->Alloc(ResourceCategory::kVideoDecoder, type));
-
-  EXPECT_TRUE(
-      ticket->GetAvailableResourceType(ResourceCategory::kVideoDecoder, &type));
-  EXPECT_TRUE(ticket->Alloc(ResourceCategory::kVideoDecoder, type));
-
-  EXPECT_TRUE(
-      ticket->GetAvailableResourceType(ResourceCategory::kVideoDecoder, &type));
-  EXPECT_TRUE(ticket->Alloc(ResourceCategory::kVideoDecoder, type));
-
-  EXPECT_FALSE(
-      ticket->GetAvailableResourceType(ResourceCategory::kVideoDecoder, &type));
-  EXPECT_FALSE(ticket->Alloc(ResourceCategory::kVideoDecoder, type));
-
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTiecketDeallocResource) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1, p2, p3;
-
-  MixerTicket* ticket1 = mixer->CreateTicket(&p1);
-
-  ResourceType type;
-  EXPECT_TRUE(ticket1->GetAvailableResourceType(ResourceCategory::kVideoDecoder,
-                                                &type));
-  EXPECT_TRUE(ticket1->Alloc(ResourceCategory::kVideoDecoder, type));
-
-  delete ticket1;
-
-  MixerTicket* ticket2 = mixer->CreateTicket(&p2);
-  EXPECT_TRUE(ticket2->GetAvailableResourceType(ResourceCategory::kVideoDecoder,
-                                                &type));
-  EXPECT_TRUE(ticket2->Alloc(ResourceCategory::kVideoDecoder, type));
-
-  MixerTicket* ticket3 = mixer->CreateTicket(&p3);
-  EXPECT_TRUE(ticket3->GetAvailableResourceType(ResourceCategory::kVideoDecoder,
-                                                &type));
-  EXPECT_TRUE(ticket3->Alloc(ResourceCategory::kVideoDecoder, type));
-
-  delete ticket2;
-  delete ticket3;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTiecketIsAudioFocusHandler_1) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1;
-
-  mixer->DisableAudioFocusSetting();
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ticket->RegisterListener(p1.listener_);
-
-  EXPECT_FALSE(ticket->IsAudioFocusHandler());
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTiecketIsAudioFocusHandler_2) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1;
-
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ticket->RegisterListener(p1.listener_);
-
-  EXPECT_TRUE(ticket->IsAudioFocusHandler());
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTiecketIsRscAllocHandler_1) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1;
-
-  mixer->SetRscAllocMode(RscAllocMode::kDisable);
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ticket->RegisterListener(p1.listener_);
-
-  EXPECT_FALSE(ticket->IsRscAllocHandler());
-  delete ticket;
-  mixer.reset();
-}
-
-TEST(MixerticketTest, MixerTiecketIsRscAllocHandler_2) {
-  std::unique_ptr<Mixer> mixer = Mixer::Create();
-  MixerTicketMockPlayer p1;
-
-  MixerTicket* ticket = mixer->CreateTicket(&p1);
-  ticket->RegisterListener(p1.listener_);
-
-  EXPECT_TRUE(ticket->IsRscAllocHandler());
-  delete ticket;
-  mixer.reset();
-}
\ No newline at end of file
diff --git a/ut/src/mixer/ut_renderer.cpp b/ut/src/mixer/ut_renderer.cpp
deleted file mode 100755 (executable)
index 95cd291..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-
-#include "mixer/constant.h"
-#include "mixer/matcher.h"
-#include "mixer/mock/mock_memallocator.h"
-#include "mixer/mock/mock_renderableobj.h"
-#include "mixer/mock/mock_renderableobj_factory.h"
-#include "mixer/mock/mock_renderer_evtlistener.h"
-#include "mixer/mock/mock_vpcollection.h"
-#include "mixer/mock/mock_vpmanipulator.h"
-#include "mixer/mock/mock_vpscaler.h"
-#include "mixer/renderer.h"
-
-using namespace plusplayer;
-using namespace plusplayer_ut;
-
-using ::testing::_;
-using ::testing::AllOf;
-using ::testing::AtLeast;
-using ::testing::DoAll;
-using ::testing::Eq;
-using ::testing::Field;
-using ::testing::Return;
-using ::testing::ReturnPointee;
-using ::testing::SetArgReferee;
-using ::testing::SizeIs;
-
-/********************************************************************************************
- * InvalidRendererTest
- */
-class InvalidRendererTest : public ::testing::Test {
- public:
-  virtual void SetUp() override {
-    ON_CALL(GetRenderableObjectFactory(), CreateRenderableObject(_, _))
-        .WillByDefault(Return(nullptr));
-
-    EXPECT_CALL(GetRenderableObjectFactory(),
-                CreateRenderableObject(kInvalidWidth, kInvalidHeight));
-
-    renderer_ = std::unique_ptr<Renderer>(new Renderer(
-        GetRenderableObjectFactory(),
-        GetResolutionInfo(kInvalidWidth, kInvalidHeight, kInvalidFramerateNum,
-                          kInvalidFramerateDen),
-        nullptr));
-
-    ASSERT_FALSE(renderer_->IsValid());
-  }
-  virtual void TearDown() override {}
-
- protected:
-  Renderer& GetRenderer() { return *renderer_; }
-
-  const MockRenderableObjectFactory& GetRenderableObjectFactory() const {
-    return mock_mixed_frame_factory_;
-  }
-  const MockVideoPlaneScaler& GetVideoPlaneScaler() const {
-    return mock_vpscaler_;
-  }
-  const MockVideoPlaneCollection* GetVideoPlaneCollection() const {
-    return &videoplanecollection_;
-  }
-
- private:
-  std::unique_ptr<Renderer> renderer_;
-  MockRenderableObjectFactory mock_mixed_frame_factory_;
-  MockVideoPlaneScaler mock_vpscaler_;
-  MockVideoPlaneCollection videoplanecollection_;
-};
-
-TEST_F(InvalidRendererTest, Start) { EXPECT_FALSE(GetRenderer().Start()); }
-
-TEST_F(InvalidRendererTest, Stop) { EXPECT_FALSE(GetRenderer().Stop()); }
-
-TEST_F(InvalidRendererTest, ChangeRenderingSpeed) {
-  EXPECT_FALSE(
-      GetRenderer().ChangeRenderingSpeed(kFastFramerateNum, kFastFramerateDen));
-}
-
-TEST_F(InvalidRendererTest, Render) {
-  EXPECT_FALSE(GetRenderer().Render(
-      &GetVideoPlaneScaler(), GetVideoPlaneCollection(),
-      GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH)));
-}
-
-/********************************************************************************************
- * RendererConstructionTest
- */
-class RendererConstructionTest : public ::testing::Test {
- public:
-  explicit RendererConstructionTest() {}
-  virtual ~RendererConstructionTest() {}
-  virtual void SetUp() override {
-    mock_mixed_frame_ = new MockRenderableObject();
-
-    ON_CALL(GetRenderableObject(), IsValid()).WillByDefault(Return(true));
-
-    ON_CALL(GetRenderableObjectFactory(), CreateRenderableObject(_, _))
-        .WillByDefault(Return(mock_mixed_frame_));
-  }
-  virtual void TearDown() override {}
-
- protected:
-  MockRenderableObject& GetRenderableObject() { return *mock_mixed_frame_; }
-  const MockRenderableObjectFactory& GetRenderableObjectFactory() const {
-    return mock_mixed_frame_factory_;
-  }
-  MockRendererEventListener* GetListener() { return nullptr; }
-
- private:
-  MockRenderableObject* mock_mixed_frame_;
-  MockRenderableObjectFactory mock_mixed_frame_factory_;
-};
-
-TEST_F(RendererConstructionTest, IsValid) {
-  EXPECT_CALL(GetRenderableObject(), IsValid()).Times(AtLeast(1));
-  EXPECT_CALL(GetRenderableObjectFactory(),
-              CreateRenderableObject(kDefaultWidth, kDefaultHeight))
-      .Times(1);
-
-  Renderer renderer(
-      GetRenderableObjectFactory(),
-      GetResolutionInfo(kDefaultWidth, kDefaultHeight, kDefaultFramerateNum,
-                        kDefaultFramerateDen),
-      GetListener());
-
-  EXPECT_TRUE(renderer.IsValid());
-}
-
-TEST_F(RendererConstructionTest, IsValid_WithReturnNullMixedFrame) {
-  // FIXME(bayle.park): memleak will occur by mock_mixed_frame_
-  EXPECT_CALL(GetRenderableObjectFactory(),
-              CreateRenderableObject(kDefaultWidth, kDefaultHeight))
-      .WillOnce(Return(nullptr));
-
-  Renderer renderer(
-      GetRenderableObjectFactory(),
-      GetResolutionInfo(kDefaultWidth, kDefaultHeight, kDefaultFramerateNum,
-                        kDefaultFramerateDen),
-      GetListener());
-
-  EXPECT_FALSE(renderer.IsValid());
-}
-
-TEST_F(RendererConstructionTest, IsValid_WithInvalidMixedFrame) {
-  EXPECT_CALL(GetRenderableObject(), IsValid()).WillRepeatedly(Return(false));
-  EXPECT_CALL(GetRenderableObjectFactory(),
-              CreateRenderableObject(kDefaultWidth, kDefaultHeight))
-      .Times(1);
-
-  Renderer renderer(
-      GetRenderableObjectFactory(),
-      GetResolutionInfo(kDefaultWidth, kDefaultHeight, kDefaultFramerateNum,
-                        kDefaultFramerateDen),
-      GetListener());
-
-  EXPECT_FALSE(renderer.IsValid());
-}
-
-/********************************************************************************************
- * RendererTest
- */
-class RendererTest : public ::testing::Test {
- public:
-  explicit RendererTest() {}
-  virtual ~RendererTest() {}
-  virtual void SetUp() override {
-    mock_mixed_frame_ = new MockRenderableObject();
-
-    ON_CALL(GetRenderableObject(), GetVideoPlaneManipInfo())
-        .WillByDefault(Return(std::vector<VideoPlaneManipulableInfo>(
-            {kYComponentDestVMInfo, kUVComponentDestVMInfo})));
-    ON_CALL(GetRenderableObject(), IsValid()).WillByDefault(Return(true));
-    ON_CALL(GetRenderableObject(), GetWidth())
-        .WillByDefault(Return(kDefaultWidth));
-    ON_CALL(GetRenderableObject(), GetHeight())
-        .WillByDefault(Return(kDefaultHeight));
-    ON_CALL(GetRenderableObject(), GetSize())
-        .WillByDefault(Return(kExpectedDefaultByteSize));
-    ON_CALL(GetRenderableObject(), Render(_, _, _)).WillByDefault(Return(true));
-    ON_CALL(GetRenderableObject(), Export(_))
-        .WillByDefault(
-            DoAll(SetArgReferee<0>(kDefaultBufferKey), Return(true)));
-
-    ON_CALL(*GetVideoPlaneCollection(), GetVideoPlaneManipInfo())
-        .WillByDefault(Return(std::vector<VideoPlaneManipulableInfo>(
-            {kYComponentDestVMInfo, kUVComponentDestVMInfo})));
-
-    ON_CALL(GetRenderableObjectFactory(), CreateRenderableObject(_, _))
-        .WillByDefault(Return(mock_mixed_frame_));
-
-    ON_CALL(GetVideoPlaneScaler(), GetScaleManipulator())
-        .WillByDefault(Return(&GetScaler()));
-
-    ON_CALL(GetScaler(), Do(_, _)).WillByDefault(Return(true));
-
-    ON_CALL(*GetListener(), OnRenderingRelease(_)).WillByDefault(Return(true));
-
-    EXPECT_CALL(GetRenderableObjectFactory(),
-                CreateRenderableObject(kDefaultWidth, kDefaultHeight));
-
-    renderer_ = std::unique_ptr<Renderer>(new Renderer(
-        GetRenderableObjectFactory(),
-        GetResolutionInfo(kDefaultWidth, kDefaultHeight, kDefaultFramerateNum,
-                          kDefaultFramerateDen),
-        GetListener()));
-
-    EXPECT_CALL(GetRenderableObject(), IsValid());
-    ASSERT_TRUE(renderer_->IsValid());
-  }
-  virtual void TearDown() override {}
-
- protected:
-  Renderer& GetRenderer() { return *renderer_; }
-
-  MockRenderableObject& GetRenderableObject() { return *mock_mixed_frame_; }
-  const MockVideoPlaneScaler& GetVideoPlaneScaler() const {
-    return mock_vpscaler_;
-  }
-  const MockVideoPlaneManipulator& GetScaler() const { return scaler_; }
-  const MockRenderableObjectFactory& GetRenderableObjectFactory() const {
-    return mock_mixed_frame_factory_;
-  }
-  MockRendererEventListener* GetListener() { return &listener_; }
-  const MockVideoPlaneCollection* GetVideoPlaneCollection() const {
-    return &videoplanecollection_;
-  }
-
- private:
-  std::unique_ptr<Renderer> renderer_;
-  MockVideoPlaneScaler mock_vpscaler_;
-  MockVideoPlaneManipulator scaler_;
-  MockRenderableObject* mock_mixed_frame_;
-  MockRenderableObjectFactory mock_mixed_frame_factory_;
-  MockRendererEventListener listener_;
-  MockVideoPlaneCollection videoplanecollection_;
-};
-
-TEST_F(RendererTest, Start) {
-  EXPECT_CALL(GetRenderableObject(), IsValid()).Times(AtLeast(1));
-
-  EXPECT_TRUE(GetRenderer().Start());
-}
-
-TEST_F(RendererTest, Start_WithTwiceCall) {
-  EXPECT_CALL(GetRenderableObject(), IsValid()).Times(AtLeast(1));
-
-  EXPECT_TRUE(GetRenderer().Start());
-  EXPECT_FALSE(GetRenderer().Start());
-}
-
-TEST_F(RendererTest, Stop) {
-  EXPECT_CALL(GetRenderableObject(), IsValid()).Times(AtLeast(1));
-
-  EXPECT_FALSE(GetRenderer().Stop());
-}
-
-TEST_F(RendererTest, Stop_AfterStart) {
-  EXPECT_CALL(GetRenderableObject(), IsValid()).Times(AtLeast(1));
-
-  EXPECT_TRUE(GetRenderer().Start());
-  EXPECT_TRUE(GetRenderer().Stop());
-}
-
-TEST_F(RendererTest, ChangeResolution) {
-  auto* new_frame = new MockRenderableObject();
-  EXPECT_CALL(*new_frame, IsValid()).WillOnce(Return(true));
-  EXPECT_CALL(GetRenderableObjectFactory(),
-              CreateRenderableObject(kSmallWidth, kSmallHeight))
-      .WillOnce(Return(new_frame));
-
-  EXPECT_TRUE(GetRenderer().ChangeResolution(GetRenderableObjectFactory(),
-                                             kSmallWidth, kSmallHeight));
-}
-
-TEST_F(RendererTest, ChangeResolution_WithInvalidResolution) {
-  EXPECT_FALSE(GetRenderer().ChangeResolution(GetRenderableObjectFactory(),
-                                              kInvalidWidth, kInvalidHeight));
-  EXPECT_FALSE(GetRenderer().ChangeResolution(GetRenderableObjectFactory(),
-                                              kSmallWidth, kInvalidHeight));
-  EXPECT_FALSE(GetRenderer().ChangeResolution(GetRenderableObjectFactory(),
-                                              kInvalidWidth, kSmallHeight));
-}
-
-TEST_F(RendererTest, ChangeResolution_WithSameResolution) {
-  EXPECT_FALSE(GetRenderer().ChangeResolution(GetRenderableObjectFactory(),
-                                              kDefaultWidth, kDefaultHeight));
-}
-
-TEST_F(RendererTest, ChangeResolution_WithReturnNullFrame) {
-  EXPECT_CALL(GetRenderableObjectFactory(),
-              CreateRenderableObject(kSmallWidth, kSmallHeight))
-      .WillOnce(Return(nullptr));
-
-  EXPECT_FALSE(GetRenderer().ChangeResolution(GetRenderableObjectFactory(),
-                                              kSmallWidth, kSmallHeight));
-}
-
-TEST_F(RendererTest, ChangeResolution_WithInvalidNewFrame) {
-  auto* new_frame = new MockRenderableObject();
-  EXPECT_CALL(*new_frame, IsValid()).WillOnce(Return(false));
-  EXPECT_CALL(GetRenderableObjectFactory(),
-              CreateRenderableObject(kSmallWidth, kSmallHeight))
-      .WillOnce(Return(new_frame));
-
-  EXPECT_FALSE(GetRenderer().ChangeResolution(GetRenderableObjectFactory(),
-                                              kSmallWidth, kSmallHeight));
-}
-
-TEST_F(RendererTest, ChangeRenderingSpeed) {
-  EXPECT_CALL(GetRenderableObject(), IsValid()).Times(AtLeast(1));
-
-  EXPECT_TRUE(
-      GetRenderer().ChangeRenderingSpeed(kFastFramerateNum, kFastFramerateDen));
-}
-
-TEST_F(RendererTest, ChangeRenderingSpeed_WithInvalidFramerate) {
-  EXPECT_FALSE(GetRenderer().ChangeRenderingSpeed(kInvalidFramerateNum,
-                                                  kInvalidFramerateDen));
-  EXPECT_FALSE(GetRenderer().ChangeRenderingSpeed(kFastFramerateNum,
-                                                  kInvalidFramerateDen));
-  EXPECT_FALSE(GetRenderer().ChangeRenderingSpeed(kInvalidFramerateNum,
-                                                  kFastFramerateDen));
-}
-
-TEST_F(RendererTest, Render) {
-  EXPECT_CALL(
-      GetRenderableObject(),
-      Render(
-          Eq(&GetScaler()),
-          AllOf(SizeIs(2),
-                ElementsAre(
-                    IsSameVideoPlaneManipulableInfo(kYComponentDestVMInfo),
-                    IsSameVideoPlaneManipulableInfo(kUVComponentDestVMInfo))),
-          AllOf(Field(&Geometry::x, Eq(kDefaultX)),
-                Field(&Geometry::y, Eq(kDefaultY)),
-                Field(&Geometry::w, Eq(kDefaultW)),
-                Field(&Geometry::h, Eq(kDefaultH)))))
-      .Times(1);
-  EXPECT_CALL(*GetVideoPlaneCollection(), GetVideoPlaneManipInfo()).Times(1);
-  EXPECT_CALL(GetRenderableObject(), IsValid()).Times(AtLeast(1));
-  EXPECT_CALL(GetVideoPlaneScaler(), GetScaleManipulator()).Times(1);
-
-  EXPECT_TRUE(GetRenderer().Render(
-      &GetVideoPlaneScaler(), GetVideoPlaneCollection(),
-      GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH)));
-}
-
-TEST_F(RendererTest, Render_WithNullCollection) {
-  EXPECT_FALSE(GetRenderer().Render(
-      &GetVideoPlaneScaler(), nullptr,
-      GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH)));
-}
-
-TEST_F(RendererTest, Render_WithNullScaler) {
-  EXPECT_CALL(GetRenderableObject(), Render(_, _, _)).Times(0);
-
-  EXPECT_FALSE(GetRenderer().Render(
-      nullptr, GetVideoPlaneCollection(),
-      GetGeometry(kDefaultX, kDefaultY, kDefaultW, kDefaultH)));
-}
\ No newline at end of file
diff --git a/ut/src/mixer/ut_tizenbuffermgr.cpp b/ut/src/mixer/ut_tizenbuffermgr.cpp
deleted file mode 100755 (executable)
index 2236a39..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-
-#include "mixer/constant.h"
-#include "mixer/mock/mock_bufferobject.h"
-#include "mixer/tizen/tizenbuffermgr.h"
-
-using ::testing::_;
-using ::testing::AllOf;
-using ::testing::Field;
-using ::testing::NotNull;
-using ::testing::Return;
-
-namespace {
-using namespace plusplayer;
-struct MockTBM {
- public:
-  class Fake {
-   public:
-    MOCK_METHOD3(BoAlloc, BufferDefaultType(tbm_bufmgr, int, int));
-    MOCK_METHOD1(BoUnRef, void(BufferDefaultType));
-    MOCK_METHOD2(BoImport, BufferDefaultType(tbm_bufmgr, BufferKeyType));
-    MOCK_METHOD2(GACopy, int(tbm_bufmgr, GraphicsGABltRopInfo*));
-    MOCK_METHOD2(GAScale, int(tbm_bufmgr, GraphicsGAScaleInfo*));
-    MOCK_METHOD2(GAFill, int(tbm_bufmgr, GraphicsGAFillRectInfo*));
-  };
-
-  static Fake* instance;
-
-  static void BoUnRef(BufferDefaultType bo) { instance->BoUnRef(bo); }
-
-  static BufferDefaultType BoAlloc(tbm_bufmgr bufmgr, int size, int flag) {
-    return instance->BoAlloc(bufmgr, size, flag);
-  }
-  static BufferDefaultType BoImport(tbm_bufmgr bufmgr, BufferKeyType key) {
-    return instance->BoImport(bufmgr, key);
-  }
-
-  static int GAScale(tbm_bufmgr bufmgr, GraphicsGAScaleInfo* info) {
-    return instance->GAScale(bufmgr, info);
-  }
-
-  static int GACopy(tbm_bufmgr bufmgr, GraphicsGABltRopInfo* info) {
-    return instance->GACopy(bufmgr, info);
-  }
-
-  static int GAFill(tbm_bufmgr bufmgr, GraphicsGAFillRectInfo* info) {
-    return instance->GAFill(bufmgr, info);
-  }
-};
-
-MockTBM::Fake* MockTBM::instance = nullptr;
-}  // namespace
-
-namespace plusplayer_ut {
-
-using TizenBufferManager = BufferManagerWithType<MockTBM>;
-
-class TizenBufferManagerTest : public ::testing::Test {
- public:
-  virtual void SetUp() override {
-    MockTBM::instance = &GetTBM();
-
-    ON_CALL(GetTBM(), BoAlloc(_, _, _)).WillByDefault(Return(kDefaultBuffer));
-    ON_CALL(GetTBM(), BoImport(_, _)).WillByDefault(Return(kDefaultBuffer));
-  }
-  virtual void TearDown() override {}
-
- protected:
-  MockTBM::Fake& GetTBM() { return fake_tbm_; }
-  TizenBufferManager& GetBufferManager() { return bufmgr_; }
-
- private:
-  MockTBM::Fake fake_tbm_;
-  TizenBufferManager bufmgr_;
-};
-
-TEST_F(TizenBufferManagerTest, IsValid) {
-  EXPECT_TRUE(GetBufferManager().IsValid());
-}
-
-TEST_F(TizenBufferManagerTest, Allocate) {
-  EXPECT_CALL(GetTBM(), BoAlloc(NotNull(), kExpectedDefaultByteSize,
-                                TBM_BO_SCANOUT | (1 << 17)));
-  EXPECT_CALL(GetTBM(), BoUnRef(NotNull()));
-
-  auto* bufferobj = GetBufferManager().Allocate(kExpectedDefaultByteSize);
-  EXPECT_NE(nullptr, bufferobj);
-  if (bufferobj) delete bufferobj;
-}
-
-TEST_F(TizenBufferManagerTest, Allocate_WithNullBO) {
-  EXPECT_CALL(GetTBM(), BoAlloc(NotNull(), kExpectedDefaultByteSize,
-                                TBM_BO_SCANOUT | (1 << 17)))
-      .WillOnce(Return(nullptr));
-
-  EXPECT_EQ(nullptr, GetBufferManager().Allocate(kExpectedDefaultByteSize));
-}
-
-TEST_F(TizenBufferManagerTest, Allocate_WithInvalidBufferSize) {
-  EXPECT_EQ(nullptr, GetBufferManager().Allocate(kInvalidBufferSize));
-}
-
-TEST_F(TizenBufferManagerTest, Import) {
-  EXPECT_CALL(GetTBM(), BoImport(NotNull(), _));
-  EXPECT_CALL(GetTBM(), BoUnRef(NotNull()));
-
-  EXPECT_NE(nullptr, GetBufferManager().Import(kDefaultBufferHandle));
-}
-
-TEST_F(TizenBufferManagerTest, Import_WithNullBO) {
-  EXPECT_CALL(GetTBM(), BoImport(NotNull(), _)).WillOnce(Return(nullptr));
-
-  EXPECT_EQ(nullptr, GetBufferManager().Import(kDefaultBufferHandle));
-}
-
-TEST_F(TizenBufferManagerTest, GetScaleManipulator) {
-  EXPECT_NE(nullptr, GetBufferManager().GetScaleManipulator());
-}
-
-class TizenBufferManagerScalerTest : public ::testing::Test {
- public:
-  virtual void SetUp() override {
-    MockTBM::instance = &GetTBM();
-    ON_CALL(GetTBM(), GAScale(_, _)).WillByDefault(Return(true));
-  }
-  virtual void TearDown() override {}
-
- protected:
-  MockTBM::Fake& GetTBM() { return fake_tbm_; }
-  const VideoPlaneManipulator& GetScaler() {
-    return *bufmgr_.GetScaleManipulator();
-  }
-
- private:
-  MockTBM::Fake fake_tbm_;
-  TizenBufferManager bufmgr_;
-};
-
-TEST_F(TizenBufferManagerScalerTest, Do) {
-  EXPECT_CALL(
-      GetTBM(),
-      GAScale(
-          NotNull(),
-          AllOf(
-              Field(&GraphicsGAScaleInfo::ga_mode, GRAPHICS_GA_SCALE_MODE),
-              Field(&GraphicsGAScaleInfo::rop_mode, GRAPHICS_GA_ROP_COPY),
-              Field(&GraphicsGAScaleInfo::ga_op_type, GRAPHICS_GA_SCALE),
-              Field(&GraphicsGAScaleInfo::pre_alphamode, 0),
-              Field(&GraphicsGAScaleInfo::ca_value, 0),
-              Field(&GraphicsGAScaleInfo::rop_on_off, 0),
-              Field(&GraphicsGAScaleInfo::src_handle,
-                    kYComponentSrcVMInfo.handle),
-              Field(&GraphicsGAScaleInfo::src_hbytesize,
-                    kYComponentSrcVMInfo.linesize),
-              Field(
-                  &GraphicsGAScaleInfo::src_rect,
-                  AllOf(
-                      Field(&GraphicsRectInfo::x, kYComponentSrcVMInfo.rect.x),
-                      Field(&GraphicsRectInfo::y, kYComponentSrcVMInfo.rect.y),
-                      Field(&GraphicsRectInfo::w, kYComponentSrcVMInfo.rect.w),
-                      Field(&GraphicsRectInfo::h,
-                            kYComponentSrcVMInfo.rect.h))),
-              Field(&GraphicsGAScaleInfo::dst_handle,
-                    kYComponentDestVMInfo.handle),
-              Field(&GraphicsGAScaleInfo::dst_hbytesize,
-                    kYComponentDestVMInfo.linesize),
-              Field(
-                  &GraphicsGAScaleInfo::dst_rect,
-                  AllOf(
-                      Field(&GraphicsRectInfo::x, kYComponentDestVMInfo.rect.x),
-                      Field(&GraphicsRectInfo::y, kYComponentDestVMInfo.rect.y),
-                      Field(&GraphicsRectInfo::w, kYComponentDestVMInfo.rect.w),
-                      Field(&GraphicsRectInfo::h,
-                            kYComponentDestVMInfo.rect.h))))));
-
-  EXPECT_TRUE(GetScaler().Do(kYComponentSrcVMInfo, kYComponentDestVMInfo));
-}
-
-TEST_F(TizenBufferManagerScalerTest, Do_WithDifferentComponent) {
-  EXPECT_FALSE(GetScaler().Do(kYComponentSrcVMInfo, kUVComponentDestVMInfo));
-}
-}  // namespace  plusplayer_ut
diff --git a/ut/src/mixer/ut_tizenbufferobj.cpp b/ut/src/mixer/ut_tizenbufferobj.cpp
deleted file mode 100755 (executable)
index 5eb1cd9..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-
-#include <iostream>
-
-#include "mixer/constant.h"
-#include "mixer/tizen/tizenbufferobj.h"
-
-using ::testing::_;
-using ::testing::Return;
-
-namespace {
-using namespace plusplayer;
-
-struct MockTBM {
- public:
-  class Fake {
-   public:
-    MOCK_METHOD1(BoRef, BufferDefaultType(BufferDefaultType));
-    MOCK_METHOD1(BoUnRef, void(BufferDefaultType));
-    MOCK_METHOD1(BoSize, int(BufferDefaultType));
-    MOCK_METHOD2(BoGetHandle, BufferUnionHandleType(BufferDefaultType, int));
-    MOCK_METHOD1(BoExport, BufferKeyType(BufferDefaultType));
-  };
-
-  static Fake* instance;
-
-  static BufferDefaultType BoRef(BufferDefaultType bo) {
-    return instance->BoRef(bo);
-  }
-
-  static void BoUnRef(BufferDefaultType bo) { instance->BoUnRef(bo); }
-
-  static int BoSize(BufferDefaultType bo) { return instance->BoSize(bo); }
-
-  static BufferUnionHandleType BoGetHandle(BufferDefaultType bo, int device) {
-    return instance->BoGetHandle(bo, device);
-  }
-  static BufferKeyType BoExport(BufferDefaultType bo) {
-    return instance->BoExport(bo);
-  }
-};
-
-MockTBM::Fake* MockTBM::instance = nullptr;
-}  // namespace
-
-namespace plusplayer_ut {
-
-using TizenBufferObject = BufferObjectWithType<MockTBM>;
-
-class InvalidBufferObjectWithTypeTest : public ::testing::Test {
- public:
-  explicit InvalidBufferObjectWithTypeTest() : bufferobj_(nullptr) {}
-  virtual ~InvalidBufferObjectWithTypeTest() = default;
-  virtual void SetUp() override {}
-  virtual void TearDown() override {}
-
- protected:
-  TizenBufferObject& GetBufferObject() { return bufferobj_; }
-
- private:
-  TizenBufferObject bufferobj_;
-};
-
-TEST_F(InvalidBufferObjectWithTypeTest, IsValid) {
-  EXPECT_FALSE(GetBufferObject().IsValid());
-}
-
-TEST_F(InvalidBufferObjectWithTypeTest, GetBufferHandle) {
-  EXPECT_EQ(plusplayer::kInvalidBufferHandle,
-            GetBufferObject().GetBufferHandle());
-}
-
-TEST_F(InvalidBufferObjectWithTypeTest, Export) {
-  EXPECT_EQ(plusplayer::kInvalidBufferKey, GetBufferObject().Export());
-}
-
-TEST_F(InvalidBufferObjectWithTypeTest, GetSize) {
-  EXPECT_EQ(plusplayer::kInvalidBufferSize, GetBufferObject().GetSize());
-}
-
-class BufferObjectWithTypeTest : public ::testing::Test {
- public:
-  virtual void SetUp() override {
-    MockTBM::instance = &GetTBM();
-
-    ON_CALL(GetTBM(), BoRef(_)).WillByDefault(Return(kDefaultBuffer));
-    ON_CALL(GetTBM(), BoSize(_))
-        .WillByDefault(Return(kExpectedDefaultByteSize));
-    ON_CALL(GetTBM(), BoGetHandle(_, _))
-        .WillByDefault(Return(kDefaultMappedHandle));
-    ON_CALL(GetTBM(), BoExport(_)).WillByDefault(Return(kDefaultBufferKey));
-
-    EXPECT_CALL(GetTBM(), BoRef(_)).Times(1);
-    EXPECT_CALL(GetTBM(), BoUnRef(_)).Times(1);
-
-    bufferobj_ = std::unique_ptr<TizenBufferObject>(
-        new TizenBufferObject(kDefaultBuffer));
-  }
-  virtual void TearDown() override {}
-
- protected:
-  MockTBM::Fake& GetTBM() { return fake_tbm_; }
-  TizenBufferObject& GetBufferObject() { return *bufferobj_; }
-
- private:
-  MockTBM::Fake fake_tbm_;
-  std::unique_ptr<TizenBufferObject> bufferobj_;
-};
-
-TEST_F(BufferObjectWithTypeTest, IsValid) {
-  EXPECT_TRUE(GetBufferObject().IsValid());
-}
-
-TEST_F(BufferObjectWithTypeTest, GetBufferHandle) {
-  EXPECT_CALL(GetTBM(), BoGetHandle(_, _)).Times(1);
-  EXPECT_EQ(kDefaultBufferHandle, GetBufferObject().GetBufferHandle());
-}
-
-TEST_F(BufferObjectWithTypeTest, Export) {
-  EXPECT_CALL(GetTBM(), BoExport(_)).Times(1);
-  EXPECT_EQ(kDefaultBufferKey, GetBufferObject().Export());
-}
-
-TEST_F(BufferObjectWithTypeTest, GetSize) {
-  EXPECT_CALL(GetTBM(), BoSize(_)).Times(1);
-  EXPECT_EQ(kExpectedDefaultByteSize, GetBufferObject().GetSize());
-}
-}  // namespace plusplayer_ut
\ No newline at end of file
diff --git a/ut/src/mixer/ut_videoplane.cpp b/ut/src/mixer/ut_videoplane.cpp
deleted file mode 100755 (executable)
index ea22fab..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-
-#include <memory>
-
-#include "mixer/constant.h"
-#include "mixer/matcher.h"
-#include "mixer/mock/mock_bufferobject.h"
-#include "mixer/mock/movable.h"
-#include "mixer/mock/moveobj_wrapper.h"
-#include "mixer/videoplane.h"
-
-using ::testing::AllOf;
-using ::testing::AnyNumber;
-using ::testing::Field;
-using ::testing::Return;
-
-namespace plusplayer_ut {
-
-template <typename PlaneType>
-class DefaultVideoPlaneOptionWithBufferObject {
- public:
-  using BufferObjectPtr = typename PlaneType::BufferObjectPtr;
-  virtual ~DefaultVideoPlaneOptionWithBufferObject() = default;
-
- protected:
-  virtual void Init_() {
-    ON_CALL(GetBufferObject(), GetBufferHandle())
-        .WillByDefault(Return(kDefaultBufferHandle));
-    ON_CALL(GetBufferObject(), Export())
-        .WillByDefault(Return(kDefaultBufferKey));
-    ON_CALL(GetBufferObject(), GetSize())
-        .WillByDefault(Return(kDefaultWidth * kDefaultHeight));
-
-    EXPECT_CALL(GetBufferObject(), GetBufferHandle()).Times(AnyNumber());
-    EXPECT_CALL(GetBufferObject(), GetSize()).Times(AnyNumber());
-
-    ASSERT_TRUE(y_plane_->IsValid());
-  }
-
- protected:
-  PlaneType& GetPlane() { return *y_plane_.get(); }
-  MockBufferObject& GetBufferObject() { return bufferobj_.Get(); }
-  MockBufferObject* MoveBufferObject() { return bufferobj_.Move(); }
-
- private:
-  MoveObjectWrapper<MockBufferObject> bufferobj_{new MockBufferObject()};
-  std::unique_ptr<PlaneType> y_plane_{new PlaneType(
-      BufferObjectPtr(MoveBufferObject()), kDefaultWidth, kDefaultHeight)};
-};
-
-class YComponentVideoPlaneTest
-    : public ::testing::Test,
-      public DefaultVideoPlaneOptionWithBufferObject<YComponentVideoPlane> {
- public:
-  virtual void SetUp() override { Init_(); }
-  virtual void TearDown() override {}
-};
-
-TEST_F(YComponentVideoPlaneTest, GetVideoPlaneManipulableInfo) {
-  EXPECT_THAT(
-      GetPlane().GetVideoPlaneManipulableInfo(),
-      AllOf(Field(&VideoPlaneManipulableInfo::component,
-                  PlaneComponent::kYComponent),
-            Field(&VideoPlaneManipulableInfo::handle, kDefaultBufferHandle),
-            Field(&VideoPlaneManipulableInfo::linesize, kDefaultWidth),
-            Field(&VideoPlaneManipulableInfo::rect,
-                  IsSameGeometry(
-                      GetGeometry(0, 0, kDefaultWidth, kDefaultHeight)))));
-}
-
-TEST_F(YComponentVideoPlaneTest, GetVideoPlaneManipulableInfo_AfterCrop) {
-  GetPlane().SetCropArea(GetCropArea(0.1, 0.1, 0.9, 0.9));
-
-  EXPECT_THAT(
-      GetPlane().GetVideoPlaneManipulableInfo(),
-      AllOf(Field(&VideoPlaneManipulableInfo::component,
-                  PlaneComponent::kYComponent),
-            Field(&VideoPlaneManipulableInfo::handle, kDefaultBufferHandle),
-            Field(&VideoPlaneManipulableInfo::linesize, kDefaultWidth),
-            Field(&VideoPlaneManipulableInfo::rect,
-                  IsSameGeometry(GetGeometry(
-                      kDefaultWidth * 0.1, kDefaultHeight * 0.1,
-                      kDefaultWidth * 0.9, kDefaultHeight * 0.9)))));
-}
-
-class UVComponentVideoPlaneTest
-    : public ::testing::Test,
-      public DefaultVideoPlaneOptionWithBufferObject<UVComponentVideoPlane> {
- public:
-  virtual void SetUp() override {
-    Init_();
-    ON_CALL(GetBufferObject(), GetSize())
-        .WillByDefault(Return(kDefaultWidth * kDefaultHeight / 2));
-  }
-  virtual void TearDown() override {}
-};
-
-TEST_F(UVComponentVideoPlaneTest, GetVideoPlaneManipulableInfo) {
-  EXPECT_THAT(
-      GetPlane().GetVideoPlaneManipulableInfo(),
-      AllOf(Field(&VideoPlaneManipulableInfo::component,
-                  PlaneComponent::kUVComponent),
-            Field(&VideoPlaneManipulableInfo::handle, kDefaultBufferHandle),
-            Field(&VideoPlaneManipulableInfo::linesize, kDefaultWidth),
-            Field(&VideoPlaneManipulableInfo::rect,
-                  IsSameGeometry(GetGeometry(0, 0, kDefaultWidth / 2,
-                                             kDefaultHeight / 2)))));
-}
-
-TEST_F(UVComponentVideoPlaneTest, GetVideoPlaneManipulableInfo_AfterCrop) {
-  GetPlane().SetCropArea(GetCropArea(0.1, 0.1, 0.9, 0.9));
-
-  EXPECT_THAT(
-      GetPlane().GetVideoPlaneManipulableInfo(),
-      AllOf(Field(&VideoPlaneManipulableInfo::component,
-                  PlaneComponent::kUVComponent),
-            Field(&VideoPlaneManipulableInfo::handle, kDefaultBufferHandle),
-            Field(&VideoPlaneManipulableInfo::linesize, kDefaultWidth),
-            Field(&VideoPlaneManipulableInfo::rect,
-                  IsSameGeometry(GetGeometry(
-                      kDefaultWidth / 2 * 0.1, kDefaultHeight / 2 * 0.1,
-                      kDefaultWidth / 2 * 0.9, kDefaultHeight / 2 * 0.9)))));
-}
-
-class YUVComponentVideoPlaneTest : public ::testing::Test {
- public:
-  virtual void SetUp() override {
-    ON_CALL(GetBufferObject(), GetBufferHandle())
-        .WillByDefault(Return(kDefaultBufferHandle));
-    ON_CALL(GetBufferObject(), Export())
-        .WillByDefault(Return(kDefaultBufferKey));
-    ON_CALL(GetBufferObject(), GetSize())
-        .WillByDefault(Return(kDefaultWidth * kDefaultHeight * 1.5));
-
-    EXPECT_CALL(GetBufferObject(), GetBufferHandle()).Times(AnyNumber());
-    EXPECT_CALL(GetBufferObject(), GetSize()).Times(AnyNumber());
-
-    ASSERT_TRUE(GetYPlane().IsValid());
-    ASSERT_TRUE(GetUVPlane().IsValid());
-  }
-  virtual void TearDown() override {}
-
- protected:
-  YComponentVideoPlaneWithSharedMemory& GetYPlane() { return *y_plane_.get(); }
-  UVComponentVideoPlaneWithSharedMemory& GetUVPlane() {
-    return *uv_plane_.get();
-  }
-  MockBufferObject& GetBufferObject() {
-    return dynamic_cast<MockBufferObject&>(*bufferobj_.get());
-  }
-
- private:
-  std::shared_ptr<BufferObject> bufferobj_{new MockBufferObject()};
-  std::unique_ptr<YComponentVideoPlaneWithSharedMemory> y_plane_{
-      new YComponentVideoPlaneWithSharedMemory(bufferobj_, kDefaultWidth,
-                                               kDefaultHeight)};
-  std::unique_ptr<UVComponentVideoPlaneWithSharedMemory> uv_plane_{
-      new UVComponentVideoPlaneWithSharedMemory(bufferobj_, kDefaultWidth,
-                                                kDefaultHeight)};
-};
-
-TEST_F(YUVComponentVideoPlaneTest, GetVideoPlaneManipulableInfo) {
-  EXPECT_THAT(
-      GetYPlane().GetVideoPlaneManipulableInfo(),
-      AllOf(Field(&VideoPlaneManipulableInfo::component,
-                  PlaneComponent::kYComponent),
-            Field(&VideoPlaneManipulableInfo::handle, kDefaultBufferHandle),
-            Field(&VideoPlaneManipulableInfo::linesize, kDefaultWidth),
-            Field(&VideoPlaneManipulableInfo::rect,
-                  IsSameGeometry(
-                      GetGeometry(0, 0, kDefaultWidth, kDefaultHeight)))));
-  EXPECT_THAT(
-      GetUVPlane().GetVideoPlaneManipulableInfo(),
-      AllOf(
-          Field(&VideoPlaneManipulableInfo::component,
-                PlaneComponent::kUVComponent),
-          Field(&VideoPlaneManipulableInfo::handle, kDefaultBufferHandle),
-          Field(&VideoPlaneManipulableInfo::linesize, kDefaultWidth),
-          Field(&VideoPlaneManipulableInfo::rect,
-                IsSameGeometry(GetGeometry(0, kDefaultHeight, kDefaultWidth / 2,
-                                           kDefaultHeight / 2)))));
-}
-
-TEST_F(YUVComponentVideoPlaneTest, GetVideoPlaneManipulableInfo_AfterCrop) {
-  GetYPlane().SetCropArea(GetCropArea(0.1, 0.1, 0.9, 0.9));
-  GetUVPlane().SetCropArea(GetCropArea(0.1, 0.1, 0.9, 0.9));
-
-  EXPECT_THAT(
-      GetYPlane().GetVideoPlaneManipulableInfo(),
-      AllOf(Field(&VideoPlaneManipulableInfo::component,
-                  PlaneComponent::kYComponent),
-            Field(&VideoPlaneManipulableInfo::handle, kDefaultBufferHandle),
-            Field(&VideoPlaneManipulableInfo::linesize, kDefaultWidth),
-            Field(&VideoPlaneManipulableInfo::rect,
-                  IsSameGeometry(GetGeometry(
-                      kDefaultWidth * 0.1, kDefaultHeight * 0.1,
-                      kDefaultWidth * 0.9, kDefaultHeight * 0.9)))));
-  EXPECT_THAT(
-      GetUVPlane().GetVideoPlaneManipulableInfo(),
-      AllOf(Field(&VideoPlaneManipulableInfo::component,
-                  PlaneComponent::kUVComponent),
-            Field(&VideoPlaneManipulableInfo::handle, kDefaultBufferHandle),
-            Field(&VideoPlaneManipulableInfo::linesize, kDefaultWidth),
-            Field(&VideoPlaneManipulableInfo::rect,
-                  IsSameGeometry(GetGeometry(
-                      kDefaultWidth / 2 * 0.1,
-                      kDefaultHeight / 2 * 0.1 + kDefaultHeight,
-                      kDefaultWidth / 2 * 0.9, kDefaultHeight / 2 * 0.9)))));
-}
-
-}  // namespace plusplayer_ut
\ No newline at end of file
diff --git a/ut/src/plusplayer/imagesimilarity.cpp b/ut/src/plusplayer/imagesimilarity.cpp
deleted file mode 100755 (executable)
index 7cf4ff8..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-
-#include <unistd.h>
-#include <iostream> // for standard I/O
-#include <string>   // for strings
-#include <iomanip>  // for controlling float print precision
-#include <sstream>  // string to number conversion
-
-#include <opencv2/core/core.hpp>        // Basic OpenCV structures (cv::Mat, Scalar)
-#include <opencv2/imgproc/imgproc.hpp>  // Gaussian Blur
-#include <opencv2/highgui/highgui.hpp>  // OpenCV window I/O
-
-#include "ut/include/plusplayer/imagesimilarity.h"
-
-using namespace std;
-using namespace cv;
-
-
-double getPSNR(const Mat& I1, const Mat& I2)
-{
-    Mat s1;
-    absdiff(I1, I2, s1);       // |I1 - I2|
-    s1.convertTo(s1, CV_32F);  // cannot make a square on 8 bits
-    s1 = s1.mul(s1);           // |I1 - I2|^2
-
-    Scalar s = sum(s1);        // sum elements per channel
-
-    double sse = s.val[0] + s.val[1] + s.val[2]; // sum channels
-
-    if( sse <= 1e-10) { // for small values return zero
-        return 0;
-    }
-       else {
-        double mse  = sse / (double)(I1.channels() * I1.total());
-        double psnr = 10.0 * log10((255 * 255) / mse);
-        return psnr;
-    }
-}
-
-Scalar getMSSIM( const Mat& i1, const Mat& i2)
-{
-    const double C1 = 6.5025, C2 = 58.5225;
-    
-    int d = CV_32F;
-
-    Mat I1, I2;
-    i1.convertTo(I1, d);            // cannot calculate on one byte large values
-    i2.convertTo(I2, d);
-
-    Mat I2_2   = I2.mul(I2);        // I2^2
-    Mat I1_2   = I1.mul(I1);        // I1^2
-    Mat I1_I2  = I1.mul(I2);        // I1 * I2
-
-
-    Mat mu1, mu2;                   // PRELIMINARY COMPUTING
-    GaussianBlur(I1, mu1, Size(11, 11), 1.5);
-    GaussianBlur(I2, mu2, Size(11, 11), 1.5);
-
-    Mat mu1_2   =   mu1.mul(mu1);
-    Mat mu2_2   =   mu2.mul(mu2);
-    Mat mu1_mu2 =   mu1.mul(mu2);
-
-    Mat sigma1_2, sigma2_2, sigma12;
-
-    GaussianBlur(I1_2, sigma1_2, Size(11, 11), 1.5);
-    sigma1_2 -= mu1_2;
-
-    GaussianBlur(I2_2, sigma2_2, Size(11, 11), 1.5);
-    sigma2_2 -= mu2_2;
-
-    GaussianBlur(I1_I2, sigma12, Size(11, 11), 1.5);
-    sigma12 -= mu1_mu2;
-
-    ///////////////////////////////// FORMULA ////////////////////////////////
-    Mat t1, t2, t3;
-
-    t1 = 2 * mu1_mu2 + C1;
-    t2 = 2 * sigma12 + C2;
-    t3 = t1.mul(t2);                 // t3 = ((2*mu1_mu2 + C1).*(2*sigma12 + C2))
-
-    t1 = mu1_2 + mu2_2 + C1;
-    t2 = sigma1_2 + sigma2_2 + C2;
-    t1 = t1.mul(t2);                 // t1 =((mu1_2 + mu2_2 + C1).*(sigma1_2 + sigma2_2 + C2))
-
-    Mat ssim_map;
-    divide(t3, t1, ssim_map);        // ssim_map =  t3./t1;
-
-    Scalar mssim = mean(ssim_map);   // mssim = average of ssim map
-    return mssim;
-}
-
-double ImageSimilarity::CompareImagesWithPSNR(char *reference_image, char *comparison_image)
-{
-       const string sourceReference(reference_image);
-       const string sourceCompareWith(comparison_image);
-
-       Mat frameReference = imread(sourceReference);
-       Mat frameUnderTest = imread(sourceCompareWith);
-
-    if (frameReference.cols != frameUnderTest.cols || frameReference.rows != frameUnderTest.rows) {
-        return -1;
-    }
-
-    double PSNR_Value = getPSNR(frameReference,frameUnderTest);
-       return PSNR_Value;
-}
-
-double ImageSimilarity::CompareImagesWithMSSIM(char *reference_image, char *comparison_image)
-{
-       const string sourceReference(reference_image);
-       const string sourceCompareWith(comparison_image);
-       
-       Mat frameReference = frameReference = imread(sourceReference);
-       Mat frameUnderTest = frameUnderTest = imread(sourceCompareWith);
-
-       if (frameReference.cols != frameUnderTest.cols || frameReference.rows != frameUnderTest.rows) {
-        return -1;
-    }
-       
-    Scalar mssimV = getMSSIM(frameReference, frameUnderTest);
-
-       double normalized_mean_SSIM = (mssimV.val[2] + mssimV.val[1] + mssimV.val[0])*100/3;
-       return normalized_mean_SSIM;
-}
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index ee9fd01..796d2db
 
 #include <math.h>
 #include <fstream>
-#include <jconfig.h>
-#include <jpeglib.h>
-#include "ivideocapture.hpp"
-#include "capi-video-capture.h"
-#include "iaudio-control.hpp"
-#include "diagnosis-audio-control.hpp"
+//#include <jconfig.h>
+//#include <jpeglib.h>
 
 
 using namespace plusplayer;
@@ -42,8 +38,6 @@ void Utility::ThreadSleep(long ms) {
 
 Utility::Utility() {
   appwindow_.reset(new plusplayer_ut::AppWindow(0, 0, 1920, 1080));
-  audioControl = IAudioControl::getInstance();
-  audioDiagnoser = DiagnosisAudioControl::getInstance();
 }
 
 Utility::~Utility() {}
@@ -52,69 +46,6 @@ const char* Utility::GetCurrentTestName(void) {
   return ::testing::UnitTest::GetInstance()->current_test_info()->name();
 }
 
-#ifndef IS_AUDIO_PRODUCT
-
-#if 0
-plusplayer::PlusPlayer::Ptr Utility::GetOpenedMixPlusPlayer(std::string& uri,
-                                                            Mixer* mixer,
-                                                            Geometry& roi) {
-  auto player = plusplayer::PlusPlayer::Create();
-  EXPECT_TRUE(player->Open(uri.c_str()));
-  EXPECT_TRUE(player->SetDisplay(DisplayType::kMixer, mixer));
-  EXPECT_TRUE(player->SetDisplayRoi(roi));
-  return player;
-}
-
-plusplayer::PlusPlayer::Ptr Utility::GetPreparedMixPlusPlayer(std::string& uri,
-                                                              Mixer* mixer,
-                                                              Geometry& roi) {
-  auto player = this->GetOpenedMixPlusPlayer(uri, mixer, roi);
-  EXPECT_TRUE(player->Prepare());
-  return player;
-}
-
-plusplayer::PlusPlayer::Ptr Utility::GetStartedMixPlusPlayer(std::string& uri,
-                                                             Mixer* mixer,
-                                                             Geometry& roi) {
-  auto player = this->GetPreparedMixPlusPlayer(uri, mixer, roi);
-  EXPECT_TRUE(player->Start());
-  return player;
-}
-#endif
-
-esplusplayer_handle Utility::GetOpenedMixESPP(mixer_handle mixer,
-                                              Geometry& roi) {
-  esplusplayer_handle player = esplusplayer_create();
-  EXPECT_EQ(esplusplayer_open(player), ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(
-      esplusplayer_set_display(player, ESPLUSPLAYER_DISPLAY_TYPE_MIXER, mixer),
-      ESPLUSPLAYER_ERROR_TYPE_NONE);
-  EXPECT_EQ(esplusplayer_set_display_roi(player, roi.x, roi.y, roi.w, roi.h),
-            ESPLUSPLAYER_ERROR_TYPE_NONE);
-  return player;
-}
-
-esplusplayer_handle Utility::GetPreparedMixESPP(std::string& uri,
-                                                mixer_handle mixer,
-                                                Geometry& roi) {
-  esplusplayer_handle player = this->GetOpenedMixESPP(mixer, roi);
-
-  if (!PrepareESPP(player, uri)) return nullptr;
-  return player;
-}
-
-esplusplayer_handle Utility::GetStartedMixESPP(std::string& uri,
-                                               mixer_handle mixer,
-                                               Geometry& roi) {
-  esplusplayer_handle player = this->GetPreparedMixESPP(uri, mixer, roi);
-
-  if (esplusplayer_start(player) == ESPLUSPLAYER_ERROR_TYPE_NONE)
-    return player;
-  else
-    printf("esplusplayer_start failed\n");
-  return nullptr;
-}
-#endif
 
 esplusplayer_handle Utility::GetOpenedESPP(Geometry& roi) {
   esplusplayer_handle player = esplusplayer_create();
@@ -213,279 +144,4 @@ void Utility::DestroyESPP(esplusplayer_handle player) {
 
 evas_h Utility::GetWindow() const { return appwindow_->GetWindow().obj; }
 
-unsigned int Gcd(unsigned int u, unsigned int v) {
-  int shift = 0;
-
-  /* GCD(0,v) == v; GCD(u,0) == u, GCD(0,0) == 0 */
-
-  if (u == 0) {
-    return v;
-  }
-  if (v == 0) {
-    return u;
-  }
-
-  /* Let shift := lg K, where K is the greatest power of 2
-    dividing both u and v. */
-  for (shift = 0; ((u | v) & 1) == 0; ++shift) {
-    u >>= 1;
-    v >>= 1;
-  }
-
-  while ((u & 1) == 0) {
-    u >>= 1;
-  }
-
-  /* From here on, u is always odd. */
-  do {
-    /* remove all factors of 2 in v -- they are not common */
-    /*  note: v is not zero, so while will terminate */
-    while ((v & 1) == 0) {
-      v >>= 1;
-      /* Loop X */
-    }
-    /* Now u and v are both odd. Swap if necessary so u <= v,
-     then set v = v - u (which is even). For bignums, the
-     swapping is just pointer movement, and the subtraction
-     can be done in-place. */
-    if (u > v) {
-      unsigned int t = v;
-      v = u;
-      u = t;
-    }           // Swap u and v.
-    v = v - u;  // Here v >= u.
-  } while (v != 0);
-
-  /* restore common factors of 2 */
-  return u << shift;
-}
-
-void ResizeCopy(unsigned int m_width, unsigned int m_height,
-                unsigned int m_rwidth, unsigned int m_rheight,
-                char* c_ptr, char* y_ptr, unsigned char* dest,
-                unsigned int color_format) {
-  unsigned int omit = 1;
-  unsigned int x = 0;
-  unsigned int y = 0;
-  unsigned char resize = 1;
-
-  if (m_width == m_rwidth) {
-    resize = 0;
-  } else {
-    omit = Gcd(m_width, m_rwidth);
-    omit = m_width / omit;
-  }
-  printf("m_width %u, m_rwidth %u, omit %u\n", m_width, m_rwidth, omit);
-
-  // long int inc = 3 * m_rwidth * m_rheight;
-  long int inc = 0;
-
-  for (y = 0; y < m_height; y++) {
-    if ((y + 1) % omit || !resize) {
-      for (x = 0; x < m_width; x += sizeof(unsigned int)) {
-
-        unsigned int Yplain =
-            *((unsigned int*)((void*)(y_ptr + y * m_width + x)));
-        unsigned int Cplain =
-            *((unsigned int*)((void*)(c_ptr + y * m_width + x)));
-
-        switch (color_format) {
-          case SECVIDEO_CAPTURE_COLOR_YUV444:  // 444
-            break;
-          case SECVIDEO_CAPTURE_COLOR_YUV422:  // 422
-            Cplain = *((unsigned int*)((void*)(c_ptr + y * m_width + x)));
-            break;
-          case SECVIDEO_CAPTURE_COLOR_YUV420:  // 420
-            Cplain = *((unsigned int*)((void*)(c_ptr + (y / 2) * m_width + x)));
-            break;
-          default:
-            break;
-        }
-        if ((x + 4) % omit || !resize) {
-          dest[inc++] = (Yplain) & 0xFF;
-          dest[inc++] = Cplain & 0xFF;
-          dest[inc++] = (Cplain >> 8) & 0xFF;
-        }
-        if ((x + 3) % omit || !resize) {
-          dest[inc++] = (Yplain >> 8) & 0xFF;
-          dest[inc++] = (Cplain) & 0xFF;
-          dest[inc++] = (Cplain >> 8) & 0xFF;
-        }
-
-        if ((x + 2) % omit || !resize) {
-          dest[inc++] = (Yplain >> 16) & 0xFF;
-          dest[inc++] = (Cplain >> 16) & 0xFF;
-          dest[inc++] = (Cplain >> 24) & 0xFF;
-        }
-
-        if ((x + 1) % omit || !resize) {
-          dest[inc++] = (Yplain >> 24) & 0xFF;
-          dest[inc++] = (Cplain >> 16) & 0xFF;
-          dest[inc++] = (Cplain >> 24) & 0xFF;
-        }
-      }
-    }
-  }
-}
-
-int Utility::CaptureYUV(int capture_width, int capture_height,
-                        char* ybuff, char* cbuff, int ysize,
-                        int csize, std::string result_file_path) {
-  // screen capture
-  IVideoCapture* VCObjptr = IVideoCapture::getInstance();
-
-  IVideoCapture::InputParams input_params;
-  
-  input_params.capture_w = capture_width;
-  input_params.capture_h = capture_height;
-
-  IVideoCapture::OutputParams output_params;
-  output_params.p_y_addr = ybuff;
-  output_params.p_c_addr = cbuff;
-  output_params.size_y = ysize;
-  output_params.size_c = csize;
-
-  sleep(1);
-
-  VCObjptr->getVideoPostYUV(input_params, output_params);
-
-  // write
-  FILE* fexpect = NULL;
-
-  while (output_params.p_y_addr) {
-    fexpect = fopen(result_file_path.c_str(), "wb");
-    if (fexpect == NULL) {
-      LOGE("can't open the file");
-      break;
-    }
-    fwrite(output_params.p_y_addr, 1, ysize, fexpect);
-    fclose(fexpect);
-    fexpect = NULL;
-    output_params.p_y_addr = NULL;
-  }
-
-  return 0;
-}
-///TODO:: Modify the API to return the pointer instead of writing it as an image file.
-int Utility::CaptureJPG(const int capture_width, const int capture_height,
-                        char* ybuff, char* cbuff, const int ysize,
-                        const int csize, std::string img_file_path) {
-  IVideoCapture* VCObjptr = IVideoCapture::getInstance();
-  int output_color_format = 0;
-
-  IVideoCapture::InputParams input_params;
-  input_params.capture_w = capture_width;
-  input_params.capture_h = capture_height;
-
-  IVideoCapture::OutputParams output_params;
-  output_params.p_y_addr = ybuff;
-  output_params.p_c_addr = cbuff;
-  output_params.size_y = ysize;
-  output_params.size_c = csize;
-
-  sleep(1);
-
-  VCObjptr->getVideoPostYUV(input_params, output_params);
-  output_color_format = static_cast<int>(output_params.color_format);
-
-  sleep(1);
-
-  unsigned char* rawImage;
-  rawImage = (unsigned char*)malloc(sizeof(unsigned char) * 3 * capture_width *
-                                    capture_height);
-
-  ResizeCopy(capture_width, capture_height, capture_width, capture_height,
-             cbuff, ybuff, rawImage, output_color_format);
-
-  struct jpeg_compress_struct cinfo;
-  struct jpeg_error_mgr jerr;
-  FILE* outfile = NULL; /* target file */
-
-  JSAMPROW row_pointer[1]; /* pointer to JSAMPLE row[s] */
-  int row_stride;          /* physical row width in image buffer */
-
-  cinfo.err = jpeg_std_error(&jerr);
-  jpeg_create_compress(&cinfo);
-
-  outfile = fopen(img_file_path.c_str(), "wb");
-  if (outfile == NULL) {
-    LOGE("can't open the file");
-    if (rawImage != NULL) free(rawImage);
-    return -1;
-  }
-  jpeg_stdio_dest(&cinfo, outfile);
-
-  cinfo.image_width = capture_width;
-  cinfo.image_height = capture_height;
-  cinfo.input_components = 3; /* # of color components per pixel */
-  cinfo.in_color_space = JCS_YCbCr;
-  jpeg_set_defaults(&cinfo);
-  jpeg_set_quality(&cinfo, 70, TRUE);
-  jpeg_start_compress(&cinfo, TRUE);
-
-  row_stride = capture_width * 3; /* JSAMPLEs per row in image_buffer */
-
-  while (cinfo.next_scanline < cinfo.image_height) {
-    row_pointer[0] = &((rawImage)[cinfo.next_scanline * row_stride]);
-    (void)jpeg_write_scanlines(&cinfo, row_pointer, 1);
-  }
-
-  jpeg_finish_compress(&cinfo);
-  jpeg_destroy_compress(&cinfo);
-  if (rawImage != NULL) free(rawImage);
-
-  if (outfile == NULL) {
-    LOGE("Fail to open file");
-    return -1;
-  } else {
-    fclose(outfile);
-  }
-  return 0;
-}
-
-int Utility::CheckYUV(int x, int y) {
-
-  /* screen capture */
-  IVideoCapture* VCObjptr = IVideoCapture::getInstance();
-
-  int CAPTURE_WIDTH = 640;
-  int CAPTURE_HEIGHT = 360;
-  int CAPTURE_BUF_SIZE = CAPTURE_WIDTH * CAPTURE_HEIGHT;
-  char ybuff[CAPTURE_BUF_SIZE] = {0};
-  char cbuff[CAPTURE_BUF_SIZE] = {0};
-  
-  IVideoCapture::InputParams input_params;
-  input_params.capture_w = 640;
-  input_params.capture_h = 360;
-
-  IVideoCapture::OutputParams output_params;
-  output_params.p_y_addr = ybuff;
-  output_params.p_c_addr = cbuff;
-  output_params.size_y = CAPTURE_BUF_SIZE;
-  output_params.size_c = CAPTURE_BUF_SIZE;
-
-  sleep(1);
-
-  VCObjptr->getVideoPostYUV(input_params, output_params);
-
-  /* check YUV value. As the capture size (640 x 360) is mapped with the full screen (1920 x 1080), the position should be resized. */
-  int new_X = x / 3;
-  int new_Y = y / 3;
-  int position = CAPTURE_WIDTH * (new_Y - 1) + new_X;
-  
-  LOGE("Y value : %d", (int)ybuff[position]);
-  return (int)ybuff[position];
-}
-
-bool Utility::IsAudioDisconnected() {
-  TZTVAudioSource src = AUDIO_SOURCE_MAX;
-  EXPECT_EQ(audioControl->getMainOutSourceSelect(&src), 0);
-  return (src != AUDIO_MULTIMEDIA_DEC0);
-}
-
-bool Utility::IsAudioMute() {
-  long audioMute = 0;
-  EXPECT_EQ(audioDiagnoser->Diagnosis_GetBoolean(0, "main out mute", &audioMute), 0);
-  return (audioMute != 0);
-}
 }  // namespace utils
index a852b81..177f819 100755 (executable)
@@ -6,13 +6,13 @@
 #include "gtest/gtest.h"
 
 int main(int argc, char *argv[]) {
-  
+
   ::testing::InitGoogleTest(&argc, argv);
   ::testing::InitGoogleMock(&argc, argv);
 
   auto ret = -1;
   ret = RUN_ALL_TESTS();
 
-  
+
   return ret;
 }