[Playerutil] Removed dependency to EWK by using XWALK Extension
[platform/core/api/webapi-plugins.git] / src / playerutil / playerutil_api.js
index c9bc4ce..1fb87c5 100644 (file)
@@ -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');
     }
 };