[Media] Create only one AudioContext().
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Fri, 1 Apr 2016 14:25:53 +0000 (16:25 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Fri, 1 Apr 2016 14:28:57 +0000 (16:28 +0200)
Fix for unit tests (expected error code in case of non-existent file).

[Verification] TCT pass rate: 100% (46/46/0/0/0)

Change-Id: Iefe550ade09c0e372d98d5706dbed7d2ae103a8f
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
src/media/cordova_media_api.js

index f9f3931..d7aa46b 100755 (executable)
@@ -23,6 +23,10 @@ cordova.define(plugin_name, function(require, exports, module) {
     var audioObjects = {};
     var recorder = null;
 
+    // creates the audio context
+    var audioContext = window.AudioContext || window.webkitAudioContext;
+    var context = new audioContext();
+
     function Recorder(_filename) {
         var recorder = null;
         var recording = false;
@@ -31,11 +35,6 @@ cordova.define(plugin_name, function(require, exports, module) {
         var audioInput = null;
         var sampleRate = null;
         var filename = _filename;
-
-        // creates the audio context
-        var audioContext = window.AudioContext || window.webkitAudioContext;
-        var context = new audioContext();
-
         var audioBlob = null;
 
         this.rec = function(){
@@ -243,11 +242,16 @@ cordova.define(plugin_name, function(require, exports, module) {
     };
 
     audioObjects[id].onErrorCB = function (event) {
-        console.log('media::onErrorCB() - MEDIA_ERROR -> ' + event.srcElement.error);
+        var err = event.srcElement.error.code === MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED ?
+            { code: MediaError.MEDIA_ERR_ABORTED } :
+            event.srcElement.error;
+        Object.freeze(err);
+
+        console.log('media::onErrorCB() - MEDIA_ERROR -> ' + err);
 
-        Media.onStatus(id, Media.MEDIA_ERROR, event.srcElement.error);
+        Media.onStatus(id, Media.MEDIA_ERROR, err);
         if (errorCallback) {
-            errorCallback(event.srcElement.error);
+            errorCallback(err);
         }
     };