[MediaVision][Non-ACR][Remove dllimport] 42/173242/1
authorTae-Young Chung <ty83.chung@samsung.com>
Tue, 20 Mar 2018 06:39:39 +0000 (15:39 +0900)
committerTae-Young Chung <ty83.chung@samsung.com>
Tue, 20 Mar 2018 06:41:50 +0000 (15:41 +0900)
Remove dllimport which uses native image-util apis directly.
Instead, use JpegDecorder of CSharp's Multimedia.Util.

Change-Id: I6930ddc9e7bc02b69dbe8cfa4c8c0c88eae9a7db
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
19 files changed:
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSBarcodeDetector.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSFaceDetector.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSFaceRecognitionModel.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSFaceRecognitionResult.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSFaceRecognizer.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSFaceTracker.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSFaceTrackingModel.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSFaceTrackingResult.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSImageObject.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSImageRecognitionResult.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSImageRecognizer.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSImageTracker.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSImageTrackingModel.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSMovementDetector.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSPersonAppearanceDetector.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSPersonRecognizer.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSSurveillanceEngine.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/TSSurveillanceSource.cs
tct-suite-vs/Tizen.MediaVision.Tests/testcase/support/TestHelper.cs

index 092d8ef..62cae32 100755 (executable)
@@ -57,7 +57,7 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "barcode/barcode.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "barcode/barcode.jpg"))
             {
                 Point point = new Point(0, 0);
                 Size size = new Size((int)source.Width, (int)source.Height);
@@ -85,7 +85,7 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "barcode/barcode.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "barcode/barcode.jpg"))
             {
                 config.Target = BarcodeDetectionTarget.All;
 
index c3549d3..d3cd097 100755 (executable)
@@ -58,15 +58,13 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            byte[] bytes;
-            int width, height;
-            int ret = TestHelper.GetBytesFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg", out bytes, out width, out height);
-            if (ret != 0)
+            var frame = await TestHelper.GetBitampFrameFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg");
+            if (frame.Buffer == null || frame.Buffer.Length == 0)
             {
                 Assert.IsTrue(false, "Failed to get buffer data from face image");
             }
 
-            using (var source = new MediaVisionSource(bytes, (uint)width, (uint)height, ColorSpace.Rgb888))
+            using (var source = new MediaVisionSource(frame.Buffer, (uint)frame.Size.Width, (uint)frame.Size.Height, ColorSpace.Rgb888))
             {
                 var faceLists = await FaceDetector.DetectAsync(source);
                 Assert.IsInstanceOf<Rectangle[]>(faceLists, "Should be Rectangle[]");
@@ -87,10 +85,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            byte[] bytes;
-            int width, height;
-            int ret = TestHelper.GetBytesFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg", out bytes, out width, out height);
-            if (ret != 0)
+            var frame = await TestHelper.GetBitampFrameFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg");
+            if (frame.Buffer == null || frame.Buffer.Length == 0)
             {
                 Assert.IsTrue(false, "Failed to get buffer data from face image");
             }
@@ -99,7 +95,7 @@ namespace Tizen.Multimedia.Vision.Tests
             config.MinWidth = 10;
             config.Roi = new Rectangle(60, 150, 520, 100);
 
-            using (var source = new MediaVisionSource(bytes, (uint)width, (uint)height, ColorSpace.Rgb888))
+            using (var source = new MediaVisionSource(frame.Buffer, (uint)frame.Size.Width, (uint)frame.Size.Height, ColorSpace.Rgb888))
             {
                 var faceLists = await FaceDetector.DetectAsync(source, config);
                 Assert.IsInstanceOf<Rectangle[]>(faceLists, "Should be Rectangle[]");
index a3f3abd..9e13d62 100755 (executable)
@@ -9,7 +9,7 @@
 using System;
 using System.IO;
 using NUnit.Framework;
-using NUnit.Framework.TUnit;
+using System.Threading.Tasks;
 using Tizen.System;
 
 namespace Tizen.Multimedia.Vision.Tests
@@ -108,12 +108,12 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Save_CHECK_RETURN_VALUE()
+        public static async Task Save_CHECK_RETURN_VALUE()
         {
             string path =  TestHelper.TrustedPath + "face_recognition_model_test";
 
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
             {
                 model.Add(source1, 1);
 
@@ -144,12 +144,12 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MEX")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Save_CHECK_UNAUTHORIZED_ACCESS_EXCEPTION()
+        public static async Task Save_CHECK_UNAUTHORIZED_ACCESS_EXCEPTION()
         {
             string restrictedPath = TestHelper.ResourcePath + "face_recog/unauthorizedPath";
 
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P2/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P2/00.jpg"))
             {
                 model.Add(source1, 1);
 
@@ -167,12 +167,12 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MEX")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Save_CHECK_DIRECTORY_NOT_FOUND_EXCEPTIOn()
+        public static async Task Save_CHECK_DIRECTORY_NOT_FOUND_EXCEPTIOn()
         {
             string fakePath = "/tmp/fake/fake_model";
 
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
             {
                 model.Add(source1, 1);
 
@@ -191,10 +191,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
         [Property("COVPARAM", "MediaVisionSource, int")]
-        public static void Add_CHECK_RETURN_VALUE()
+        public static async Task Add_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
             {
                 model.Add(source1, 1);
 
@@ -226,10 +226,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
         [Property("COVPARAM", "MediaVisionSource, int, Rectangle")]
-        public static void Add_with_Roi_CHECK_RETURN_VALUE()
+        public static async Task Add_with_Roi_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
             {
                 /* Suppose that ROI is a whole image */
                 Rectangle roi = new Rectangle(new Point(0, 0), new Size((int)source1.Width, (int)source1.Height));
@@ -267,10 +267,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MCST")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Reset_CHECK_RETURN_VALUE()
+        public static async Task Reset_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
             {
                 model.Add(source1, 1);
 
@@ -290,10 +290,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Remove_CHECK_RETURN_VALUE()
+        public static async Task Remove_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
             {
                 model.Add(source1, 1);
 
@@ -315,10 +315,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
         [Property("COVPARAM", "")]
-        public static void Learn_CHECK_RETURN_VALUE()
+        public static async Task Learn_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
             {
                 model.Add(source1, 1);
 
@@ -348,10 +348,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
         [Property("COVPARAM", "FaceRecognitionConfiguration")]
-        public static void Learn_with_Configuration_CHECK_RETURN_VALUE()
+        public static async Task Learn_with_Configuration_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
             {
                 model.Add(source1, 1);
 
@@ -387,10 +387,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "PRO")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Labels_READ_ONLY()
+        public static async Task Labels_READ_ONLY()
         {
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
-            using (MediaVisionSource source2 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
+            using (MediaVisionSource source2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/P1/00.jpg"))
             {
 
                 /* Suppose that ROI is a whole image */
index cbc0d0c..32177f6 100755 (executable)
@@ -7,7 +7,6 @@
 // you entered into with Samsung.
 
 using System;
-using System.IO;
 using System.Threading.Tasks;
 using NUnit.Framework;
 using Tizen.System;
@@ -21,6 +20,14 @@ namespace Tizen.Multimedia.Vision.Tests
         private static FaceRecognitionModel model = null;
         private static bool isNotSupportedTC = false;
 
+        private static async Task PrepareModel()
+        {
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+        }
+
         [SetUp]
         public static void Init()
         {
@@ -31,11 +38,6 @@ namespace Tizen.Multimedia.Vision.Tests
             try
             {
                 model = new FaceRecognitionModel();
-
-                TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
-                TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
-
-                model.Learn();
             }
             catch (NotSupportedException)
             {
@@ -63,7 +65,9 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            await PrepareModel();
+
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 var result = await FaceRecognizer.RecognizeAsync(source, model);
                 Assert.IsTrue(result.Success, "Success should be true");
@@ -82,7 +86,9 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            await PrepareModel();
+
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 var result = await FaceRecognizer.RecognizeAsync(source, model);
                 Assert.IsTrue(result.Success, "Success should be true");
@@ -102,9 +108,11 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await PrepareModel();
+
             Rectangle faceArea = new Rectangle(0, 0, 325, 325);
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 var result = await FaceRecognizer.RecognizeAsync(source, model);
 
@@ -125,7 +133,9 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            await PrepareModel();
+
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 var result = await FaceRecognizer.RecognizeAsync(source, model);
                 Assert.IsTrue(result.Success, "Success should be true");
index 3bf6535..8035680 100755 (executable)
@@ -31,11 +31,6 @@ namespace Tizen.Multimedia.Vision.Tests
             try
             {
                 model = new FaceRecognitionModel();
-
-                TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
-                TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
-
-                model.Learn();
             }
             catch (NotSupportedException)
             {
@@ -64,7 +59,12 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 var result = await FaceRecognizer.RecognizeAsync(source, model);
                 Assert.IsTrue(result.Success, "Should be success");
@@ -100,8 +100,13 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             using (var localModel = new FaceRecognitionModel())
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 await AssertHelper.ThrowsAsync<InvalidOperationException>(() => FaceRecognizer.RecognizeAsync(source, localModel));
             }
@@ -120,7 +125,12 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 Rectangle roi = new Rectangle(new Point(0, 0), new Size((int)source.Width, (int)source.Height));
                 var result = await FaceRecognizer.RecognizeAsync(source, model, roi);
@@ -141,6 +151,11 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             Rectangle roi = new Rectangle(new Point(0, 0), new Size(100, 100));
             await AssertHelper.ThrowsAsync<ArgumentNullException>(() => FaceRecognizer.RecognizeAsync(null, null, roi));
         }
@@ -158,8 +173,13 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             using (var localModel = new FaceRecognitionModel())
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 Rectangle roi = new Rectangle(new Point(0, 0), new Size(100, 100));
                 await AssertHelper.ThrowsAsync<InvalidOperationException>(() => FaceRecognizer.RecognizeAsync(source, localModel, roi));
@@ -179,7 +199,12 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 FaceRecognitionConfiguration engineConfig = new FaceRecognitionConfiguration();
 
@@ -201,6 +226,11 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             FaceRecognitionConfiguration engineConfig = new FaceRecognitionConfiguration();
 
             await AssertHelper.ThrowsAsync<ArgumentNullException>( () => FaceRecognizer.RecognizeAsync(null, null, engineConfig));
@@ -219,8 +249,13 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             using (var localModel = new FaceRecognitionModel())
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 FaceRecognitionConfiguration engineConfig = new FaceRecognitionConfiguration();
 
@@ -241,7 +276,12 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 Rectangle roi = new Rectangle(new Point(0, 0), new Size((int)source.Width, (int)source.Height));
 
@@ -266,6 +306,11 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             Rectangle roi = new Rectangle(new Point(0, 0), new Size(100, 100));
             FaceRecognitionConfiguration engineConfig = new FaceRecognitionConfiguration();
 
@@ -285,8 +330,13 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             using (var localModel = new FaceRecognitionModel())
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_recog/p1_09.jpg"))
             {
                 Rectangle roi = new Rectangle(new Point(0, 0), new Size(100, 100));
 
@@ -309,15 +359,18 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            byte[] bytes;
-            int width, height;
-            int ret = TestHelper.GetBytesFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg", out bytes, out width, out height);
-            if (ret != 0)
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
+            var frame = (await TestHelper.GetBitampFrameFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg"));
+            if (frame.Buffer == null || frame.Buffer.Length == 0)
             {
                 Assert.IsTrue(false, "Failed to get buffer data from face image");
             }
 
-            using (MediaVisionSource source = new MediaVisionSource(bytes, (uint)width, (uint)height, ColorSpace.Rgb888))
+            using (MediaVisionSource source = new MediaVisionSource(frame.Buffer, (uint)frame.Size.Width, (uint)frame.Size.Height, ColorSpace.Rgb888))
             {
                 var faceDetectionResult = await FaceDetector.DetectAsync(source);
                 Assert.IsTrue(faceDetectionResult.Length > 0, "No face detected");
@@ -341,6 +394,11 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             await AssertHelper.ThrowsAsync<ArgumentNullException>(() => FaceRecognizer.RecognizeEyeConditionAsync(null, new Rectangle(0, 0, 100, 100)));
         }
 
@@ -357,15 +415,18 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            byte[] bytes;
-            int width, height;
-            int ret = TestHelper.GetBytesFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg", out bytes, out width, out height);
-            if (ret != 0)
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
+            var frame = (await TestHelper.GetBitampFrameFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg"));
+            if (frame.Buffer == null || frame.Buffer.Length == 0)
             {
                 Assert.IsTrue(false, "Failed to get buffer data from face image");
             }
 
-            using (MediaVisionSource source = new MediaVisionSource(bytes, (uint)width, (uint)height, ColorSpace.Rgb888))
+            using (MediaVisionSource source = new MediaVisionSource(frame.Buffer, (uint)frame.Size.Width, (uint)frame.Size.Height, ColorSpace.Rgb888))
             {
                 var faceDetectionResult = await FaceDetector.DetectAsync(source);
                 Assert.IsTrue(faceDetectionResult.Length > 0, "No face detected");
@@ -390,6 +451,11 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             FaceRecognitionConfiguration engineConfig = new FaceRecognitionConfiguration();
 
             Rectangle roi = new Rectangle(new Point(10, 10), new Size(50, 50));
@@ -409,15 +475,18 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            byte[] bytes;
-            int width, height;
-            int ret = TestHelper.GetBytesFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg", out bytes, out width, out height);
-            if (ret != 0)
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
+            var frame = (await TestHelper.GetBitampFrameFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg"));
+            if (frame.Buffer == null || frame.Buffer.Length == 0)
             {
                 Assert.IsTrue(false, "Failed to get buffer data from face image");
             }
 
-            using (MediaVisionSource source = new MediaVisionSource(bytes, (uint)width, (uint)height, ColorSpace.Rgb888))
+            using (MediaVisionSource source = new MediaVisionSource(frame.Buffer, (uint)frame.Size.Width, (uint)frame.Size.Height, ColorSpace.Rgb888))
             {
                 var faceDetectionResult = await FaceDetector.DetectAsync(source);
                 Assert.IsTrue(faceDetectionResult.Length > 0, "No face detected");
@@ -440,6 +509,11 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             await AssertHelper.ThrowsAsync<ArgumentNullException>(() => FaceRecognizer.RecognizeFacialExpressionAsync(null, new Rectangle(0, 0, 100, 100)));
         }
 
@@ -456,15 +530,18 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            byte[] bytes;
-            int width, height;
-            int ret = TestHelper.GetBytesFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg", out bytes, out width, out height);
-            if (ret != 0)
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
+            var frame = (await TestHelper.GetBitampFrameFromImage(TestHelper.ResourcePath + "face_detect/sample_face_det.jpg"));
+            if (frame.Buffer == null || frame.Buffer.Length == 0)
             {
                 Assert.IsTrue(false, "Failed to get buffer data from face image");
             }
 
-            using (MediaVisionSource source = new MediaVisionSource(bytes, (uint)width, (uint)height, ColorSpace.Rgb888))
+            using (MediaVisionSource source = new MediaVisionSource(frame.Buffer, (uint)frame.Size.Width, (uint)frame.Size.Height, ColorSpace.Rgb888))
             {
                 var faceDetectionResult = await FaceDetector.DetectAsync(source);
 
@@ -490,6 +567,11 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P1/", 1);
+            await TestHelper.AddImagesToModel(model, TestHelper.ResourcePath + "face_recog/P2/", 2);
+
+            model.Learn();
+
             Rectangle roi = new Rectangle(new Point(10, 10), new Size(50, 50));
             FaceRecognitionConfiguration engineConfig = new FaceRecognitionConfiguration();
 
index 828f281..9a02515 100755 (executable)
@@ -23,6 +23,11 @@ namespace Tizen.Multimedia.Vision.Tests
 
         private static bool isNotSupportedTC = false;
 
+        private static async Task PrepareMediaVisionSources()
+        {
+            await TestHelper.FillMediaSourceFromImages(sources, TestHelper.ResourcePath + "face_track/");
+        }
+
         [SetUp]
         public static void Init()
         {
@@ -34,7 +39,6 @@ namespace Tizen.Multimedia.Vision.Tests
             {
                 model = new FaceTrackingModel();
                 sources = new List<MediaVisionSource>();
-                TestHelper.FillMediaSourceFromImages(sources, TestHelper.ResourcePath + "face_track/");
             }
             catch (NotSupportedException)
             {
@@ -66,6 +70,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await PrepareMediaVisionSources();
+
             Assert.IsTrue(sources.Count > 1, "Failed to get buffer data from face image");
 
             Point[] faceInitailpoints = {
@@ -114,6 +120,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await PrepareMediaVisionSources();
+
             Assert.IsTrue(sources.Count > 1, "Failed to get buffer data from face image");
 
             foreach (var frame in sources)
index 09c1efb..a80e78d 100755 (executable)
@@ -8,6 +8,7 @@
 
 using System;
 using System.IO;
+using System.Threading.Tasks;
 using NUnit.Framework;
 using Tizen.System;
 
@@ -107,7 +108,7 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Prepare_CHECK_RETURN_VALUE()
+        public static async Task Prepare_CHECK_RETURN_VALUE()
         {
             Point[] faceInitailpoints = {
                 new Point(440, 130),
@@ -117,7 +118,7 @@ namespace Tizen.Multimedia.Vision.Tests
 
             Quadrangle faceLocation = new Quadrangle(faceInitailpoints);
 
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_track/01.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_track/01.jpg"))
             {
                 model.Prepare(source, faceLocation);
             }
@@ -150,7 +151,7 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Save_CHECK_RETURN_VALUE()
+        public static async Task Save_CHECK_RETURN_VALUE()
         {
             Point[] faceInitailpoints = {
                 new Point(440, 130),
@@ -162,7 +163,7 @@ namespace Tizen.Multimedia.Vision.Tests
 
             string path = TestHelper.TrustedPath + "face_tracking_model_test";
 
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_track/01.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_track/01.jpg"))
             {
                 model.Prepare(source, faceLocation);
 
@@ -190,7 +191,7 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MEX")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Save_CHECK_UNAUTHORIZED_ACCESS_EXCEPTION()
+        public static async Task Save_CHECK_UNAUTHORIZED_ACCESS_EXCEPTION()
         {
             Point[] faceInitailpoints = {
                 new Point(440, 130),
@@ -202,7 +203,7 @@ namespace Tizen.Multimedia.Vision.Tests
 
             string restrictedPath = TestHelper.ResourcePath + "face_track/face_track_model";
 
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_track/01.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_track/01.jpg"))
             {
                 model.Prepare(source, faceLocation);
 
@@ -217,7 +218,7 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MEX")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Save_CHECK_DIRECTORY_NOT_FOUND_EXCEPTION()
+        public static async Task Save_CHECK_DIRECTORY_NOT_FOUND_EXCEPTION()
         {
             Point[] faceInitailpoints = {
                 new Point(440, 130),
@@ -229,7 +230,7 @@ namespace Tizen.Multimedia.Vision.Tests
 
             string fakePath = "/tmp/fake/face_fake_model";
 
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_track/01.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "face_track/01.jpg"))
             {
                 model.Prepare(source, faceLocation);
 
index bec68ae..dd70390 100755 (executable)
@@ -22,6 +22,22 @@ namespace Tizen.Multimedia.Vision.Tests
         private static List<MediaVisionSource> sources = null;
         private static bool isNotSupportedTC = false;
 
+        private static async Task PrepareModel()
+        {
+            int ret = await TestHelper.FillMediaSourceFromImages(sources, TestHelper.ResourcePath + "face_track/");
+            Assert.IsFalse(ret != 0, "Failed to get buffer data from face image");
+
+            Point[] faceInitailpoints = {
+                                new Point(440, 130),
+                                new Point(530, 130),
+                                new Point(530, 240),
+                                new Point(440, 240) };
+
+            Quadrangle faceLocation = new Quadrangle(faceInitailpoints);
+
+            model.Prepare(sources[0], faceLocation);
+        }
+
         [SetUp]
         public static void Init()
         {
@@ -32,19 +48,6 @@ namespace Tizen.Multimedia.Vision.Tests
             {
                 model = new FaceTrackingModel();
                 sources = new List<MediaVisionSource>();
-
-                int ret = TestHelper.FillMediaSourceFromImages(sources, TestHelper.ResourcePath + "face_track/");
-                Assert.IsFalse(ret!=0, "Failed to get buffer data from face image");
-
-                Point[] faceInitailpoints = {
-                                new Point(440, 130),
-                                new Point(530, 130),
-                                new Point(530, 240),
-                                new Point(440, 240) };
-
-                Quadrangle faceLocation = new Quadrangle(faceInitailpoints);
-
-                model.Prepare(sources[0], faceLocation);
             }
             catch (NotSupportedException)
             {
@@ -76,6 +79,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await PrepareModel();
+
             Assert.IsTrue(sources.Count > 1, "Failed to get buffer data from face image");
 
             foreach (var frame in sources)
@@ -100,6 +105,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await PrepareModel();
+
             Assert.IsTrue(sources.Count > 1, "Failed to get buffer data from face image");
 
             foreach (var frame in sources)
@@ -125,6 +132,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await PrepareModel();
+
             Assert.IsTrue(sources.Count > 1, "Failed to get buffer data from face image");
 
             foreach (var frame in sources)
index 69c80c0..5fd0af8 100755 (executable)
@@ -8,6 +8,7 @@
 
 using System;
 using System.IO;
+using System.Threading.Tasks;
 using NUnit.Framework;
 using Tizen.System;
 
@@ -135,9 +136,9 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "PRO")]
         [Property("AUTHOR", "Rajeev Ranjan, rajeev.ran@samsung.com")]
-        public static void RecognitionRate_READ_ONLY()
+        public static async Task RecognitionRate_READ_ONLY()
         {
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 Assert.IsNotNull(source, "source should be not null");
 
@@ -156,9 +157,9 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Rajeev Ranjan, rajeev.ran@samsung.com")]
         [Property("COVPARAM", "MediaVisionSource")]
-        public static void Fill_CHECK_RETURN_VALUE()
+        public static async Task Fill_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 obj.Fill(source);
             }
@@ -185,9 +186,9 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Rajeev Ranjan, rajeev.ran@samsung.com")]
         [Property("COVPARAM", "MediaVisionSource, Rectangle")]
-        public static void Fill_with_Roi_CHECK_RETURN_VALUE()
+        public static async Task Fill_with_Roi_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 Rectangle roi = new Rectangle(new Point(0, 0), new Size((int)source.Width, (int)source.Height));
                 obj.Fill(source, roi);
@@ -217,9 +218,9 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Rajeev Ranjan, rajeev.ran@samsung.com")]
         [Property("COVPARAM", "MediaVisionSource, ImageFillConfiguration")]
-        public static void Fill_with_Configuration_CHECK_RETURN_VALUE()
+        public static async Task Fill_with_Configuration_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 ImageFillConfiguration engineCfg = new ImageFillConfiguration();
                 engineCfg.ObjectScaleFactor = 1.5;
@@ -254,9 +255,9 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Rajeev Ranjan, rajeev.ran@samsung.com")]
         [Property("COVPARAM", "MediaVisionSource, ImageFillConfiguration, Rectangle")]
-        public static void Fill_with_Roi_Configuration_CHECK_RETURN_VALUE()
+        public static async Task Fill_with_Roi_Configuration_CHECK_RETURN_VALUE()
         {
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 Rectangle roi = new Rectangle(new Point(0, 0), new Size((int)source.Width, (int)source.Height));
                 ImageFillConfiguration engineCfg = new ImageFillConfiguration();
@@ -292,10 +293,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Rajeev Ranjan, rajeev.ran@samsung.com")]
-        public static void Save_CHECK_RETURN_VALUE()
+        public static async Task Save_CHECK_RETURN_VALUE()
         {
             string path = TestHelper.TrustedPath + "image_ojbect_test";
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 obj.SetLabel(1);
 
@@ -325,10 +326,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MEX")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Save_CHECK_UNAUTHORIZED_ACCESS_EXCEPTION()
+        public static async Task Save_CHECK_UNAUTHORIZED_ACCESS_EXCEPTION()
         {
             string restrictedPath = TestHelper.ResourcePath + "image/unautorized_model";
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 obj.SetLabel(1);
 
@@ -344,10 +345,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MEX")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Save_CHECK_DIRECTORY_NOT_FOUND_EXCEPTION()
+        public static async Task Save_CHECK_DIRECTORY_NOT_FOUND_EXCEPTION()
         {
             string fakePath = "/tmp/fake/fake_model";
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 obj.SetLabel(1);
 
index cae74ae..0f1fcfc 100755 (executable)
@@ -58,8 +58,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (MediaVisionSource sourceTarget = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
-            using (MediaVisionSource sourceScene = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
+            using (MediaVisionSource sourceTarget = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource sourceScene = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
             {
                 obj.Fill(sourceTarget);
 
@@ -88,8 +88,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (MediaVisionSource sourceTarget = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
-            using (MediaVisionSource sourceScene = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
+            using (MediaVisionSource sourceTarget = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource sourceScene = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
             {
                 obj.Fill(sourceTarget);
 
index abd6c36..5d2dff6 100755 (executable)
@@ -58,8 +58,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (MediaVisionSource sourceTarget = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
-            using (MediaVisionSource sourceScene = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
+            using (MediaVisionSource sourceTarget = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource sourceScene = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
             {
                 obj.Fill(sourceTarget);
 
@@ -99,7 +99,7 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (MediaVisionSource sourceScene = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
+            using (MediaVisionSource sourceScene = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
             {
                 ImageObject[] images = new ImageObject[0];
                 await AssertHelper.ThrowsAsync<ArgumentException>(() => ImageRecognizer.RecognizeAsync(sourceScene, images));
@@ -119,8 +119,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (MediaVisionSource sourceTarget = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
-            using (MediaVisionSource sourceScene = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
+            using (MediaVisionSource sourceTarget = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource sourceScene = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
             {
                 obj.Fill(sourceTarget);
 
@@ -166,7 +166,7 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (MediaVisionSource sourceScene = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
+            using (MediaVisionSource sourceScene = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/scene.jpg"))
             {
                 ImageObject[] images = new ImageObject[0];
 
index 1e86acf..b85406e 100755 (executable)
@@ -22,6 +22,11 @@ namespace Tizen.Multimedia.Vision.Tests
         private static List<MediaVisionSource> sources = null;
         private static bool isNotSupportedTC = false;
 
+        private static async Task PrepareMediaVisionSources()
+        {
+            await TestHelper.FillMediaSourceFromImages(sources, TestHelper.ResourcePath + "image_track/");
+        }
+
         [SetUp]
         public static void Init()
         {
@@ -33,7 +38,6 @@ namespace Tizen.Multimedia.Vision.Tests
             {
                 model = new ImageTrackingModel();
                 sources = new List<MediaVisionSource>();
-                TestHelper.FillMediaSourceFromImages(sources, TestHelper.ResourcePath + "image_track/");
             }
             catch (NotSupportedException)
             {
@@ -66,10 +70,12 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await PrepareMediaVisionSources();
+
             Assert.IsTrue(sources.Count > 1, "Failed to get buffer data from images");
 
             using (var Obj = new ImageObject())
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 Obj.Fill(source);
 
@@ -112,7 +118,7 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image_track/frame01.jpg"))
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image_track/frame01.jpg"))
             {
                 await AssertHelper.ThrowsAsync<ArgumentException>(() => ImageTracker.TrackAsync(source, model));
             }
@@ -131,10 +137,12 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await TestHelper.FillMediaSourceFromImages(sources, TestHelper.ResourcePath + "image_track/");
+
             Assert.IsTrue(sources.Count > 1, "Failed to get buffer data from images");
 
             using (var Obj = new ImageObject())
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 Obj.Fill(source);
 
@@ -185,7 +193,7 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
-            using (var source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image_track/frame01.jpg"))
+            using (var source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image_track/frame01.jpg"))
             {
                 ImageTrackingConfiguration engineConfig = new ImageTrackingConfiguration();
                 engineConfig.HistoryAmount = 1;
index a852307..000de82 100755 (executable)
@@ -9,6 +9,7 @@
 using System;
 using System.IO;
 using NUnit.Framework;
+using System.Threading.Tasks;
 using NUnit.Framework.TUnit;
 using Tizen.System;
 
@@ -108,10 +109,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Rajeev Ranjan, rajeev.ran@samsung.com")]
-        public static void SetTarget_CHECK_RETURN_VALUE()
+        public static async Task SetTarget_CHECK_RETURN_VALUE()
         {
             using (var obj = new ImageObject())
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 obj.Fill(source);
 
@@ -138,10 +139,10 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Rajeev Ranjan, rajeev.ran@samsung.com")]
-        public static void Refresh_CHECK_RETURN()
+        public static async Task Refresh_CHECK_RETURN()
         {
             using (var obj = new ImageObject())
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 obj.Fill(source);
 
@@ -158,12 +159,12 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MR")]
         [Property("AUTHOR", "Rajeev Ranjan, rajeev.ran@samsung.com")]
-        public static void Save_CHECK_RETURN_VALUE()
+        public static async Task Save_CHECK_RETURN_VALUE()
         {
             string path = TestHelper.TrustedPath + "image_track_test";
 
             using (var obj = new ImageObject())
-            using (MediaVisionSource source = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
+            using (MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "image/target.jpg"))
             {
                 obj.Fill(source);
 
index 923e27a..ef9738f 100755 (executable)
@@ -24,6 +24,15 @@ namespace Tizen.Multimedia.Vision.Tests
         private static MediaVisionSource source_2 = null;
         private static bool isNotSupportedTC = false;
 
+        private static async Task PrepareMediaVisionSources()
+        {
+            source_1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg");
+            Assert.IsNotNull(source_1, "fail to get mediavisionsource from an image");
+
+            source_2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_2.jpg");
+            Assert.IsNotNull(source_2, "fail to get mediavisionsource from an image");
+        }
+
         [SetUp]
         public static void Init()
         {
@@ -38,12 +47,6 @@ namespace Tizen.Multimedia.Vision.Tests
             try
             {
                 detector = new MovementDetector();
-
-                TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg", out source_1);
-                Assert.IsNotNull(source_1, "fail to get mediavisionsource from an image");
-
-                TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_2.jpg", out source_2);
-                Assert.IsNotNull(source_2, "fail to get mediavisionsource from an image");
             }
             catch (NotSupportedException)
             {
@@ -175,6 +178,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await PrepareMediaVisionSources();
+
             _waitFlag = false;
 
             detector.Detected += EventHandlerMovementDetected;
index 77f735b..c4d110c 100755 (executable)
@@ -24,6 +24,15 @@ namespace Tizen.Multimedia.Vision.Tests
         private static MediaVisionSource source_2 = null;
         private static bool isNotSupportedTC = false;
 
+        private static async Task PrepareMediaVisionSources()
+        {
+            source_1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg");
+            Assert.IsNotNull(source_1, "fail to get mediavisionsource from an image");
+
+            source_2 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/pers_det.jpg");
+            Assert.IsNotNull(source_2, "fail to get mediavisionsource from an image");
+        }
+
         [SetUp]
         public static void Init()
         {
@@ -38,12 +47,6 @@ namespace Tizen.Multimedia.Vision.Tests
             try
             {
                 detector = new PersonAppearanceDetector();
-
-                TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg", out source_1);
-                Assert.IsNotNull(source_1, "fail to get mediavisionsource from an image");
-
-                TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/pers_det.jpg", out source_2);
-                Assert.IsNotNull(source_2, "fail to get mediavisionsource from an image");
             }
             catch (NotSupportedException)
             {
@@ -175,6 +178,8 @@ namespace Tizen.Multimedia.Vision.Tests
             if (isNotSupportedTC)
                 return;
 
+            await PrepareMediaVisionSources();
+
             _waitFlag = false;
 
             detector.Detected += EventHandlerPersonAppearancetDetected;
index 32c24ba..aecd8eb 100755 (executable)
@@ -148,8 +148,7 @@ namespace Tizen.Multimedia.Vision.Tests
             SurveillanceSource recognizerSource = new SurveillanceSource();
             recognizer.AddSource(recognizerSource, config);
 
-            MediaVisionSource source = null;
-            TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/p1_09.jpg", out source);
+            MediaVisionSource source = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/p1_09.jpg");
             Assert.IsNotNull(source, "fail to get mediavisionsource from source");
 
             recognizerSource.Push(source);
index b30a068..fd52c2b 100755 (executable)
@@ -100,7 +100,7 @@ namespace Tizen.Multimedia.Vision.Tests
             SurveillanceSource detectorSource = new SurveillanceSource();
             detector.AddSource(detectorSource);
 
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg"))
             {
                 detectorSource.Push(source1);
                 await Task.Delay(10);
index dd8ef07..29844c8 100755 (executable)
@@ -98,7 +98,7 @@ namespace Tizen.Multimedia.Vision.Tests
             SurveillanceSource detectorSource = new SurveillanceSource();
             detector.AddSource(detectorSource);
 
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg"))
             {
                 detectorSource.Push(source1);
 
@@ -131,14 +131,14 @@ namespace Tizen.Multimedia.Vision.Tests
         [Property("SPEC_URL", "-")]
         [Property("CRITERIA", "MEX")]
         [Property("AUTHOR", "Tae-Young Chung, ty83.chung@samsung.com")]
-        public static void Push_CHECK_INVALID_OPERATIONT_EXCEPTION()
+        public static async Task Push_CHECK_INVALID_OPERATIONT_EXCEPTION()
         {
             if (isNotSupportedTC)
                 return;
 
             SurveillanceSource detectorSource = new SurveillanceSource();
 
-            using (MediaVisionSource source1 = TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg"))
+            using (MediaVisionSource source1 = await TestHelper.GetMediaSourceFromImage(TestHelper.ResourcePath + "surv/move_det_1.jpg"))
             {
                 Assert.Throws<InvalidOperationException>(() => detectorSource.Push(source1));
             }
index 8fd1827..72a8060 100755 (executable)
@@ -9,8 +9,9 @@
 using System;
 using System.Collections.Generic;
 using System.IO;
-using System.Runtime.InteropServices;
-using NUnit.Framework;
+using System.Linq;
+using System.Threading.Tasks;
+using Tizen.Multimedia.Util;
 using NUnit.Framework.TUnit;
 
 namespace Tizen.Multimedia.Vision.Tests
@@ -39,61 +40,29 @@ namespace Tizen.Multimedia.Vision.Tests
             NV61      /**< NV61- planar */
         }
 
-        public class NativeImageUtil
+        internal static async Task<BitmapFrame> GetBitampFrameFromImage(string path)
         {
-            [DllImport("libcapi-media-image-util.so.0", EntryPoint = "image_util_decode_jpeg")]
-            internal static extern int DecodeJpeg(string path, ImageUtilColorspace colorspace, out IntPtr buffer, out int width, out int height, out int size);
+            JpegDecoder jpegDecoder = new JpegDecoder();
 
-            [DllImport("libc.so.6", EntryPoint = "free")]
-            internal static extern void BufferFree(IntPtr userData);
-        }
+            jpegDecoder.SetColorSpace(ColorSpace.Rgb888);
 
-        internal static int GetBytesFromImage(string path, out byte[] buffer, out int width, out int height)
-        {
-            IntPtr byteStrPtr = IntPtr.Zero;
-            int byteStrSize;
-            int ret = NativeImageUtil.DecodeJpeg(path, ImageUtilColorspace.RGB888, out byteStrPtr, out width, out height, out byteStrSize);
-            if (ret != 0)
-            {
-                Log.Info(LogUtils.TAG, "Failed to decode image");
-                buffer = null;
-                return ret;
-            }
+            var frame = (await jpegDecoder.DecodeAsync(path)).FirstOrDefault();
 
-            buffer = new byte[byteStrSize];
-            Marshal.Copy(byteStrPtr, buffer, 0, byteStrSize);
-            NativeImageUtil.BufferFree(byteStrPtr);
-            return ret;
-        }
-        internal static void GetMediaSourceFromImage(string path, out MediaVisionSource source)
-        {
-            byte[] bytes;
-            int width, height;
-            int ret = GetBytesFromImage(path, out bytes, out width, out height);
-            if (ret != 0)
-            {
-                Assert.IsTrue(false, "Failed to get buffer data from face image : " + path);
-            }
+            jpegDecoder.Dispose();
 
-            source = new MediaVisionSource(bytes, (uint)width, (uint)height, ColorSpace.Rgb888);
+            return frame;
         }
 
-        internal static MediaVisionSource GetMediaSourceFromImage(string path)
+        internal static async Task<MediaVisionSource> GetMediaSourceFromImage(string path)
         {
-            byte[] bytes;
-            int width, height;
-            int ret = GetBytesFromImage(path, out bytes, out width, out height);
-            if (ret != 0)
-            {
-                Assert.IsTrue(false, "Failed to get buffer data from face image : " + path);
-            }
+            var frame = (await GetBitampFrameFromImage(path));
 
-            MediaVisionSource source = new MediaVisionSource(bytes, (uint)width, (uint)height, ColorSpace.Rgb888);
+            MediaVisionSource source = new MediaVisionSource(frame.Buffer, (uint)frame.Size.Width, (uint)frame.Size.Height, ColorSpace.Rgb888);
 
             return source;
         }
 
-        internal static int FillMediaSourceFromImages(List<MediaVisionSource> sources, string path)
+        internal static async Task<int> FillMediaSourceFromImages(List<MediaVisionSource> sources, string path)
         {
             DirectoryInfo di = new DirectoryInfo(path);
             FileInfo[] images = di.GetFiles("*.jpg", SearchOption.TopDirectoryOnly);
@@ -104,36 +73,31 @@ namespace Tizen.Multimedia.Vision.Tests
 
             foreach (var image in images)
             {
-                byte[] bytes;
-                int width, height;
-
-                int ret = GetBytesFromImage(image.FullName, out bytes, out width, out height);
-                if (ret == 0)
+                var frame = (await GetBitampFrameFromImage(image.FullName)); ;
+                if (frame.Buffer != null  && frame.Buffer.Length > 0)
                 {
-                    MediaVisionSource source = new MediaVisionSource(bytes, (uint)width, (uint)height, ColorSpace.Rgb888);
+                    MediaVisionSource source = new MediaVisionSource(frame.Buffer, (uint)frame.Size.Width, (uint)frame.Size.Height, ColorSpace.Rgb888);
                     sources.Add(source);
                     Log.Info(LogUtils.TAG, "load buffer from image : " + image.FullName);
                 }
                 else
                 {
                     Log.Info(LogUtils.TAG, "Failed to load buffer from image : " + image.FullName);
-                    return ret;
+                    return 1;
                 }
             }
 
             Log.Info(LogUtils.TAG, "Total loaded iamges : " + sources.Count.ToString());
-
             return 0;
         }
 
-        internal static void AddImagesToModel(FaceRecognitionModel model, string path, int label)
+        internal static async Task AddImagesToModel(FaceRecognitionModel model, string path, int label)
         {
-            MediaVisionSource source = null;
             DirectoryInfo di = new DirectoryInfo(path);
             FileInfo[] images = di.GetFiles("*.jpg");
             foreach (var image in images)
             {
-                source = GetMediaSourceFromImage(image.FullName);
+                var source = await GetMediaSourceFromImage(image.FullName);
                 Rectangle roi = new Rectangle(new Point(0, 0), new Size((int)source.Width, (int)source.Height));
                 model.Add(source, label, roi);
             }