From: Piotr Kosko/Tizen API (PLT) /SRPOL/Engineer/Samsung Electronics
Date: Thu, 9 Sep 2021 12:18:16 +0000 (+0200)
Subject: [Playerutil] Removed dependency to EWK by using XWALK Extension
X-Git-Tag: submit/tizen/20210914.065046^2
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f40fac39fa15ba6860083cf542f18ec70c503ac7;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[Playerutil] Removed dependency to EWK by using XWALK Extension
Related native change:
https://review.tizen.org/gerrit/#/c/platform/framework/web/chromium-efl/+/249379/
Change-Id: Ie1088d64b84b9f2087be20531e6852d62f754f21
---
diff --git a/src/playerutil/playerutil.gyp b/src/playerutil/playerutil.gyp
index e1fe9e81..72ef970e 100644
--- a/src/playerutil/playerutil.gyp
+++ b/src/playerutil/playerutil.gyp
@@ -15,23 +15,10 @@
'playerutil_extension.h',
'playerutil_instance.cc',
'playerutil_instance.h',
- 'playerutil_utils.cc',
- 'playerutil_utils.h',
],
'includes': [
'../common/pkg-config.gypi',
],
- 'conditions': [
- ['tizen == 1', {
- 'variables': {
- 'packages': [
- 'chromium-efl',
- 'eina',
- 'evas'
- ]
- },
- }],
- ],
},
],
}
diff --git a/src/playerutil/playerutil_api.js b/src/playerutil/playerutil_api.js
index c9bc4ced..1fb87c52 100644
--- a/src/playerutil/playerutil_api.js
+++ b/src/playerutil/playerutil_api.js
@@ -25,15 +25,42 @@ var LatencyMode = {
HIGH: 'HIGH'
};
+function toLatencyModeName(codeString) {
+ var code = parseInt(codeString);
+ switch (code) {
+ case 0:
+ return LatencyMode.LOW;
+ case 1:
+ return LatencyMode.MID;
+ case 2:
+ return LatencyMode.HIGH;
+ default:
+ throw new WebAPIException(WebAPIException.ABORT_ERR, 'Unknown latency');
+ }
+}
+
+function toLatencyModeCode(string) {
+ switch (string) {
+ case LatencyMode.LOW:
+ return String(0);
+ case LatencyMode.MID:
+ return String(1);
+ case LatencyMode.HIGH:
+ return String(2);
+ default:
+ throw new WebAPIException(WebAPIException.ABORT_ERR, 'Unknown latency');
+ }
+}
+
function PlayerUtil() {}
PlayerUtil.prototype.getLatencyMode = function() {
- var result = native.callSync('PlayerUtilGetLatencyMode', {});
+ var ret = native.sendRuntimeSyncMessage('tizen://getAudioLatencyMode');
- if (native.isSuccess(result)) {
- return native.getResultObject(result);
+ if (ret === 'error') {
+ throw new WebAPIException(WebAPIException.ABORT_ERR, 'Abort Error');
} else {
- throw native.getErrorObject(result);
+ return toLatencyModeName(ret);
}
};
@@ -46,13 +73,13 @@ PlayerUtil.prototype.setLatencyMode = function() {
}
]);
- var callArgs = {};
- callArgs.latencyMode = args.latencyMode;
-
- var result = native.callSync('PlayerUtilSetLatencyMode', callArgs);
+ var ret = native.sendRuntimeSyncMessage(
+ 'tizen://setAudioLatencyMode',
+ toLatencyModeCode(args.latencyMode)
+ );
- if (native.isFailure(result)) {
- throw native.getErrorObject(result);
+ if (ret === 'error') {
+ throw new WebAPIException(WebAPIException.ABORT_ERR, 'Abort Error');
}
};
diff --git a/src/playerutil/playerutil_instance.cc b/src/playerutil/playerutil_instance.cc
index 955df6a7..37e6b21e 100644
--- a/src/playerutil/playerutil_instance.cc
+++ b/src/playerutil/playerutil_instance.cc
@@ -15,15 +15,7 @@
*/
#include "playerutil/playerutil_instance.h"
-
-#include
-#include
-
#include "common/logger.h"
-#include "common/scope_exit.h"
-#include "common/tools.h"
-
-#include "playerutil/playerutil_utils.h"
namespace extension {
namespace playerutil {
@@ -33,49 +25,11 @@ PlayerUtilInstance::PlayerUtilInstance() {
using std::placeholders::_1;
using std::placeholders::_2;
-
-#define REGISTER_METHOD(M) RegisterSyncHandler(#M, std::bind(&PlayerUtilInstance::M, this, _1))
- REGISTER_METHOD(PlayerUtilGetLatencyMode);
- REGISTER_METHOD(PlayerUtilSetLatencyMode);
-#undef REGISTER_METHOD
}
PlayerUtilInstance::~PlayerUtilInstance() {
ScopeLogger();
}
-common::TizenResult PlayerUtilInstance::PlayerUtilGetLatencyMode(const picojson::object& args) {
- ScopeLogger();
-
- Ewk_Context* context = ewk_context_default_get();
-
- Ewk_Audio_Latency_Mode latency_mode = ewk_context_audio_latency_mode_get(context);
-
- if (EWK_AUDIO_LATENCY_MODE_ERROR == latency_mode) {
- LogAndReturnTizenError(common::AbortError(), ("ewk_context_audio_latency_mode_get() failed"));
- }
-
- return common::TizenSuccess{picojson::value{PlayerUtilUtils::FromLatencyMode(latency_mode)}};
-}
-
-common::TizenResult PlayerUtilInstance::PlayerUtilSetLatencyMode(const picojson::object& args) {
- ScopeLogger();
-
- CHECK_EXIST(args, kLatencyMode);
- auto latency_it = args.find(kLatencyMode)->second;
- if (latency_it.is()) {
- Ewk_Audio_Latency_Mode latency_mode =
- PlayerUtilUtils::ToLatencyMode(latency_it.get());
- Ewk_Context* context = ewk_context_default_get();
-
- auto ret = ewk_context_audio_latency_mode_set(context, latency_mode);
- if (EINA_TRUE != ret) {
- LogAndReturnTizenError(common::AbortError(), ("ewk_context_audio_latency_mode_set() failed"));
- }
- }
-
- return common::TizenSuccess();
-}
-
} // namespace playerutil
} // namespace extension
diff --git a/src/playerutil/playerutil_instance.h b/src/playerutil/playerutil_instance.h
index 2fd69a0b..5b4c7558 100644
--- a/src/playerutil/playerutil_instance.h
+++ b/src/playerutil/playerutil_instance.h
@@ -26,10 +26,6 @@ class PlayerUtilInstance : public common::TizenInstance {
public:
PlayerUtilInstance();
virtual ~PlayerUtilInstance();
-
- private:
- common::TizenResult PlayerUtilGetLatencyMode(const picojson::object& args);
- common::TizenResult PlayerUtilSetLatencyMode(const picojson::object& args);
};
} // namespace playerutil
diff --git a/src/playerutil/playerutil_utils.cc b/src/playerutil/playerutil_utils.cc
deleted file mode 100644
index dd6739cd..00000000
--- a/src/playerutil/playerutil_utils.cc
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "playerutil_utils.h"
-
-#include "common/logger.h"
-
-namespace extension {
-namespace playerutil {
-
-namespace {
-#define PLAYER_UTIL_LATENCY_MODE_E \
- X(EWK_AUDIO_LATENCY_MODE_HIGH, "HIGH") \
- X(EWK_AUDIO_LATENCY_MODE_MID, "MID") \
- X(EWK_AUDIO_LATENCY_MODE_LOW, "LOW") \
- XD(EWK_AUDIO_LATENCY_MODE_LOW, "unknown")
-
-} // namespace
-
-const std::string kLatencyMode = "latencyMode";
-
-#define X(v, s) \
- case v: \
- return s;
-#define XD(v, s) \
- default: \
- LoggerE("Unknown value: %d, returning default: %s", e, s); \
- return s;
-
-std::string PlayerUtilUtils::FromLatencyMode(Ewk_Audio_Latency_Mode e) {
- ScopeLogger();
-
- switch (e) { PLAYER_UTIL_LATENCY_MODE_E }
-}
-
-#undef X
-#undef XD
-
-#define X(v, s) \
- if (e == s) return v;
-#define XD(v, s) \
- LoggerE("Unknown value: %s, returning default: %d", e.c_str(), v); \
- return v;
-
-Ewk_Audio_Latency_Mode PlayerUtilUtils::ToLatencyMode(const std::string& e) {
- ScopeLogger();
-
- PLAYER_UTIL_LATENCY_MODE_E
-}
-#undef X
-#undef XD
-
-} // namespace playerutil
-} // namespace extension
diff --git a/src/playerutil/playerutil_utils.h b/src/playerutil/playerutil_utils.h
deleted file mode 100644
index 612a1d36..00000000
--- a/src/playerutil/playerutil_utils.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef WEBAPI_PLUGINS_PLAYER_UTIL_UTILS_H__
-#define WEBAPI_PLUGINS_PLAYER_UTIL_UTILS_H__
-
-#include
-
-#include
-#include
-
-#include "common/tizen_instance.h"
-#include "common/tizen_result.h"
-
-namespace extension {
-namespace playerutil {
-
-#define CHECK_EXIST(args, name) \
- if (args.end() == args.find(name)) { \
- return common::TypeMismatchError(std::string(name) + " is required argument"); \
- }
-
-extern const std::string kLatencyMode;
-
-class PlayerUtilUtils {
- public:
- static std::string FromLatencyMode(Ewk_Audio_Latency_Mode e);
- static Ewk_Audio_Latency_Mode ToLatencyMode(const std::string& e);
-};
-
-} // namespace playerutil
-} // namespace extension
-
-#endif // WEBAPI_PLUGINS_PLAYER_UTIL_UTILS_H__