[Multimedia] Added feature tags and fixed errors in doc-comments of MediaVision. 22/157122/1
authorcoderhyme <jhyo.kim@samsung.com>
Mon, 23 Oct 2017 10:47:41 +0000 (19:47 +0900)
committercoderhyme <jhyo.kim@samsung.com>
Mon, 23 Oct 2017 10:49:11 +0000 (19:49 +0900)
Change-Id: Iad669f911deb420680e5083afc0e0d45803b15a3
Signed-off-by: coderhyme <jhyo.kim@samsung.com>
32 files changed:
src/Tizen.Multimedia.Vision/MediaVision/BarcodeGenerator.cs
src/Tizen.Multimedia.Vision/MediaVision/BarcodeImageConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/EngineConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/FaceDetectionConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/FaceDetector.cs
src/Tizen.Multimedia.Vision/MediaVision/FaceRecognitionConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/FaceRecognitionModel.cs
src/Tizen.Multimedia.Vision/MediaVision/FaceRecognizer.cs
src/Tizen.Multimedia.Vision/MediaVision/FaceTracker.cs
src/Tizen.Multimedia.Vision/MediaVision/FaceTrackingModel.cs
src/Tizen.Multimedia.Vision/MediaVision/FaceTrackingResult.cs
src/Tizen.Multimedia.Vision/MediaVision/ImageFillConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/ImageObject.cs
src/Tizen.Multimedia.Vision/MediaVision/ImageRecognitionConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/ImageRecognitionResult.cs
src/Tizen.Multimedia.Vision/MediaVision/ImageRecognizer.cs
src/Tizen.Multimedia.Vision/MediaVision/ImageTracker.cs
src/Tizen.Multimedia.Vision/MediaVision/ImageTrackingConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/ImageTrackingModel.cs
src/Tizen.Multimedia.Vision/MediaVision/MediaVisionSource.cs
src/Tizen.Multimedia.Vision/MediaVision/MovementDetectionConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/MovementDetector.cs
src/Tizen.Multimedia.Vision/MediaVision/PersonAppearanceDetectionConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/PersonAppearanceDetector.cs
src/Tizen.Multimedia.Vision/MediaVision/PersonRecognitionConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/PersonRecognizer.cs
src/Tizen.Multimedia.Vision/MediaVision/QrConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/QrMode.cs
src/Tizen.Multimedia.Vision/MediaVision/Quadrangle.cs
src/Tizen.Multimedia.Vision/MediaVision/SurveillanceConfiguration.cs
src/Tizen.Multimedia.Vision/MediaVision/SurveillanceEngine.cs
src/Tizen.Multimedia.Vision/MediaVision/SurveillanceSource.cs

index 10fe034..8979b25 100755 (executable)
@@ -141,7 +141,7 @@ namespace Tizen.Multimedia.Vision
         ///     -or-<br/>
         ///     <paramref name="type"/> is <see cref="BarcodeType.QR"/>.<br/>
         ///     -or-<br/>
-        ///     <paramref name="type"/> is invalid.
+        ///     <paramref name="type"/> is invalid.<br/>
         ///     -or-<br/>
         ///     <paramref name="message"/> contains illegal characters.
         /// </exception>
@@ -163,9 +163,9 @@ namespace Tizen.Multimedia.Vision
         /// <exception cref="ArgumentException">
         ///     <paramref name="message"/> is too long.<br/>
         ///     -or-<br/>
-        ///     <paramref name="type"/> is <see cref="BarcodeType.QR"/>.
+        ///     <paramref name="type"/> is <see cref="BarcodeType.QR"/>.<br/>
         ///     -or-<br/>
-        ///     <paramref name="type"/> is invalid.
+        ///     <paramref name="type"/> is invalid.<br/>
         ///     -or-<br/>
         ///     <paramref name="message"/> contains illegal characters.
         /// </exception>
@@ -304,9 +304,9 @@ namespace Tizen.Multimedia.Vision
         /// <exception cref="ArgumentException">
         ///     <paramref name="message"/> is too long.<br/>
         ///     -or-<br/>
-        ///     <paramref name="type"/> is <see cref="BarcodeType.QR"/>.
+        ///     <paramref name="type"/> is <see cref="BarcodeType.QR"/>.<br/>
         ///     -or-<br/>
-        ///     <paramref name="type"/> is invalid.
+        ///     <paramref name="type"/> is invalid.<br/>
         ///     -or-<br/>
         ///     <paramref name="message"/> contains illegal characters.
         /// </exception>
@@ -334,9 +334,9 @@ namespace Tizen.Multimedia.Vision
         /// <exception cref="ArgumentException">
         ///     <paramref name="message"/> is too long.<br/>
         ///     -or-<br/>
-        ///     <paramref name="type"/> is <see cref="BarcodeType.QR"/>.
+        ///     <paramref name="type"/> is <see cref="BarcodeType.QR"/>.<br/>
         ///     -or-<br/>
-        ///     <paramref name="type"/> is invalid.
+        ///     <paramref name="type"/> is invalid.<br/>
         ///     -or-<br/>
         ///     <paramref name="message"/> contains illegal characters.
         /// </exception>
index 7fee12d..0785f83 100755 (executable)
@@ -41,9 +41,11 @@ namespace Tizen.Multimedia.Vision
         /// </exception>
         /// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
         /// <exception cref="ArgumentException"><paramref name="imageFormat"/> is invalid.</exception>
+        /// <example>
         /// <code>
-        /// BarcodeImageConfiguration imageConfig = new BarcodeImageConfiguration(new Size(500, 400), "/opt/usr/test-barcode-generate-new", BarcodeImageFormat.JPG);
+        /// var imageConfig = new BarcodeImageConfiguration(new Size(500, 400), "/opt/usr/test-barcode-generate-new", BarcodeImageFormat.JPG);
         /// </code>
+        /// </example>
         /// <since_tizen> 3 </since_tizen>
         public BarcodeImageConfiguration(Size size, string path, BarcodeImageFormat imageFormat)
         {
@@ -89,9 +91,11 @@ namespace Tizen.Multimedia.Vision
         /// </exception>
         /// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
         /// <exception cref="ArgumentException"><paramref name="imageFormat"/> is invalid.</exception>
+        /// <example>
         /// <code>
-        /// BarcodeImageConfiguration imageConfig = new BarcodeImageConfiguration(500, 400, "/opt/usr/test-barcode-generate-new", BarcodeImageFormat.JPG);
+        /// var imageConfig = new BarcodeImageConfiguration(500, 400, "/opt/usr/test-barcode-generate-new", BarcodeImageFormat.JPG);
         /// </code>
+        /// </example>
         /// <since_tizen> 3 </since_tizen>
         public BarcodeImageConfiguration(int width, int height, string path, BarcodeImageFormat imageFormat)
             : this(new Size(width, height), path, imageFormat)
index d2e12be..cb8c57f 100644 (file)
@@ -60,7 +60,6 @@ namespace Tizen.Multimedia.Vision
 
         internal EngineConfiguration(string engineType1, string engineType2)
         {
-
             if (IsSupportedEngineType(engineType1, engineType2) == false)
             {
                 throw new NotSupportedException($"{engineType1} or {engineType2} : Not Supported");
@@ -102,7 +101,6 @@ namespace Tizen.Multimedia.Vision
             EngineConfig.SetInt(Handle, key, value).Validate("Failed to set attribute");
         }
 
-
         internal void Set(string key, bool value)
         {
             EngineConfig.SetBool(Handle, key, value).Validate("Failed to set attribute");
index 2ca0f6b..e8634a4 100755 (executable)
@@ -21,6 +21,7 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents a configuration of <see cref="FaceDetector"/> instances.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class FaceDetectionConfiguration : EngineConfiguration
     {
index b2d74b5..1e0991c 100755 (executable)
@@ -39,6 +39,7 @@ namespace Tizen.Multimedia.Vision
         ///     -or-<br/>
         ///     The format of <paramref name="source"/> is not supported.
         /// </exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<Rectangle[]> DetectAsync(MediaVisionSource source)
         {
@@ -54,6 +55,7 @@ namespace Tizen.Multimedia.Vision
         /// <returns>A task that represents the asynchronous detect operation.</returns>
         /// <exception cref="ArgumentNullException"><paramref name="source"/> is null.</exception>
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<Rectangle[]> DetectAsync(MediaVisionSource source,
             FaceDetectionConfiguration config)
index 87c2618..69cd91d 100755 (executable)
@@ -21,6 +21,7 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents a configuration of <see cref="FaceRecognizer"/> instances.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class FaceRecognitionConfiguration : EngineConfiguration
     {
index 9ccac51..20a97d7 100644 (file)
@@ -24,6 +24,7 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents the face recognition model interface.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class FaceRecognitionModel : IDisposable
     {
@@ -79,6 +80,7 @@ namespace Tizen.Multimedia.Vision
         /// <summary>
         /// Gets labels that had been learned by the model.
         /// </summary>
+        /// <exception cref="ObjectDisposedException">The <see cref="FaceRecognitionModel"/> has already been disposed of.</exception>
         /// <since_tizen> 3</since_tizen>
         public int[] Labels
         {
@@ -87,9 +89,7 @@ namespace Tizen.Multimedia.Vision
                 IntPtr unmangedArray = IntPtr.Zero;
                 try
                 {
-                    uint numOfLabels = 0;
-
-                    InteropModel.QueryLabels(Handle, out unmangedArray, out numOfLabels).
+                    InteropModel.QueryLabels(Handle, out unmangedArray, out var numOfLabels).
                         Validate("Failed to retrieve face labels.");
 
                     int[] labels = new int[numOfLabels];
index 5eed1bf..defe2c7 100755 (executable)
@@ -42,6 +42,7 @@ namespace Tizen.Multimedia.Vision
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
         /// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
         /// <exception cref="InvalidOperationException"><paramref name="recognitionModel"/> is untrained model.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<FaceRecognitionResult> RecognizeAsync(MediaVisionSource source,
             FaceRecognitionModel recognitionModel)
@@ -64,6 +65,7 @@ namespace Tizen.Multimedia.Vision
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
         /// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
         /// <exception cref="InvalidOperationException"><paramref name="recognitionModel"/> is untrained model.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<FaceRecognitionResult> RecognizeAsync(MediaVisionSource source,
             FaceRecognitionModel recognitionModel, Rectangle bound)
@@ -90,6 +92,7 @@ namespace Tizen.Multimedia.Vision
         ///     <paramref name="config"/> has already been disposed of.
         /// </exception>
         /// <exception cref="InvalidOperationException"><paramref name="recognitionModel"/> is untrained model.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<FaceRecognitionResult> RecognizeAsync(MediaVisionSource source,
             FaceRecognitionModel recognitionModel, FaceRecognitionConfiguration config)
@@ -97,7 +100,6 @@ namespace Tizen.Multimedia.Vision
             return await InvokeRecognizeAsync(source, recognitionModel, null, config);
         }
 
-
         /// <summary>
         /// Performs face recognition on the source with <see cref="FaceRecognitionModel"/>, <see cref="FaceRecognitionConfiguration"/>
         /// and a bounding box.
@@ -119,6 +121,7 @@ namespace Tizen.Multimedia.Vision
         ///     <paramref name="config"/> has already been disposed of.
         /// </exception>
         /// <exception cref="InvalidOperationException"><paramref name="recognitionModel"/> is untrained model.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<FaceRecognitionResult> RecognizeAsync(MediaVisionSource source,
             FaceRecognitionModel recognitionModel, Rectangle bound, FaceRecognitionConfiguration config)
@@ -211,6 +214,7 @@ namespace Tizen.Multimedia.Vision
         /// <exception cref="ArgumentNullException"><paramref name="source"/> is null.</exception>
         /// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<EyeCondition> RecognizeEyeConditionAsync(MediaVisionSource source,
             Rectangle bound)
@@ -232,6 +236,7 @@ namespace Tizen.Multimedia.Vision
         ///     <paramref name="config"/> has already been disposed of.
         /// </exception>
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<EyeCondition> RecognizeEyeConditionAsync(MediaVisionSource source,
             Rectangle bound, FaceRecognitionConfiguration config)
@@ -271,6 +276,7 @@ namespace Tizen.Multimedia.Vision
         /// <exception cref="ArgumentNullException"><paramref name="source"/> is null.</exception>
         /// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<FacialExpression> RecognizeFacialExpressionAsync(MediaVisionSource source,
             Rectangle bound)
@@ -292,6 +298,7 @@ namespace Tizen.Multimedia.Vision
         ///     <paramref name="config"/> has already been disposed of.
         /// </exception>
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<FacialExpression> RecognizeFacialExpressionAsync(MediaVisionSource source,
             Rectangle bound, FaceRecognitionConfiguration config)
index 2f7e7c3..22b529f 100755 (executable)
@@ -49,6 +49,7 @@ namespace Tizen.Multimedia.Vision
         /// </exception>
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
         /// <exception cref="InvalidOperationException"><paramref name="trackingModel"/> is not prepared.</exception>
+        /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<FaceTrackingResult> TrackAsync(MediaVisionSource source,
             FaceTrackingModel trackingModel, bool doLearn)
index 55e6c63..09e3148 100644 (file)
@@ -23,6 +23,7 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents the face tracking model.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class FaceTrackingModel : IDisposable
     {
@@ -124,7 +125,7 @@ namespace Tizen.Multimedia.Vision
         /// <param name="path">Path to the file to save the model.</param>
         /// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
         /// <exception cref="UnauthorizedAccessException">No permission to write to the specified path.</exception>
-        /// <exception cref="ObjectDisposedException">The <see cref="FaceRecognitionModel"/> has already been disposed of.</exception>
+        /// <exception cref="ObjectDisposedException">The <see cref="FaceTrackingModel"/> has already been disposed of.</exception>
         /// <exception cref="DirectoryNotFoundException">The directory for <paramref name="path"/> does not exist.</exception>
         /// <since_tizen> 3 </since_tizen>
         public void Save(string path)
index 9c86e94..1d6c260 100755 (executable)
@@ -30,7 +30,7 @@ namespace Tizen.Multimedia.Vision
         }
 
         /// <summary>
-        /// Gets the value indicating the recognition is successful.
+        /// Gets the value indicating the tracking is successful.
         /// </summary>
         /// <since_tizen> 3</since_tizen>
         public bool Success { get; }
index 81ca8dd..c4c888c 100755 (executable)
@@ -21,6 +21,7 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents a configuration of fill operations of <see cref="ImageObject"/> instances.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class ImageFillConfiguration : EngineConfiguration
     {
index 8e252ea..7187aea 100644 (file)
@@ -23,6 +23,7 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents an image object.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class ImageObject : IDisposable
     {
@@ -126,6 +127,7 @@ namespace Tizen.Multimedia.Vision
         /// <summary>
         /// Sets the label for the <see cref="ImageObject"/>.
         /// </summary>
+        /// <param name="label">The label which will be assigned to the image object.</param>
         /// <seealso cref="GetLabel"/>
         /// <since_tizen> 3 </since_tizen>
         public void SetLabel(int label)
@@ -135,7 +137,7 @@ namespace Tizen.Multimedia.Vision
 
         /// <summary>
         /// Fills the image object.<br/>
-        /// Extracts data from @a source image which will be needed for recognition of depicted object in @a location.
+        /// Extracts data from source image which will be needed for recognition of depicted object.
         /// </summary>
         /// <param name="source">The source image where image object is depicted.</param>
         /// <exception cref="ArgumentNullException"><paramref name="source"/> is null.</exception>
@@ -152,7 +154,7 @@ namespace Tizen.Multimedia.Vision
 
         /// <summary>
         /// Fills the image object.<br/>
-        /// Extracts data from @a source image which will be needed for recognition of depicted object in @a location.
+        /// Extracts data from source image which will be needed for recognition of depicted object.
         /// </summary>
         /// <param name="source">The source image where image object is depicted.</param>
         /// <param name="config">The configuration used for extract recognition data from source. This value can be null.</param>
@@ -172,7 +174,8 @@ namespace Tizen.Multimedia.Vision
 
         /// <summary>
         /// Fills the image object.<br/>
-        /// Extracts data from @a source image which will be needed for recognition of depicted object in @a location.
+        /// Extracts data from source image which will be needed for recognition of depicted object
+        /// in location.
         /// </summary>
         /// <param name="source">The source image where image object is depicted.</param>
         /// <param name="rect">Rectangular bound of the image object on the source image.</param>
@@ -190,7 +193,8 @@ namespace Tizen.Multimedia.Vision
 
         /// <summary>
         /// Fills the image object.<br/>
-        /// Extracts data from @a source image which will be needed for recognition of depicted object in @a location.
+        /// Extracts data from source image which will be needed for recognition of depicted object
+        /// in location.
         /// </summary>
         /// <param name="source">The source image where image object is depicted.</param>
         /// <param name="config">The configuration used for extract recognition data from source. This value can be null.</param>
@@ -238,7 +242,7 @@ namespace Tizen.Multimedia.Vision
         /// <param name="path">Path to the file to save the model.</param>
         /// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception>
         /// <exception cref="UnauthorizedAccessException">No permission to write to the specified path.</exception>
-        /// <exception cref="ObjectDisposedException">The <see cref="FaceRecognitionModel"/> has already been disposed of.</exception>
+        /// <exception cref="ObjectDisposedException">The <see cref="ImageObject"/> has already been disposed of.</exception>
         /// <exception cref="DirectoryNotFoundException">The directory for <paramref name="path"/> does not exist.</exception>
         /// <since_tizen> 3 </since_tizen>
         public void Save(string path)
index 77a24a4..60ec4d4 100755 (executable)
@@ -21,6 +21,7 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents a configuration of <see cref="ImageRecognizer"/>.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class ImageRecognitionConfiguration : EngineConfiguration
     {
@@ -32,7 +33,7 @@ namespace Tizen.Multimedia.Vision
         private const string KeyTolerantPartMatchingError = "MV_IMAGE_RECOGNITION_TOLERANT_MATCH_PART_ERR";
 
         /// <summary>
-        /// A read-only field that represents the default value of <see cref="KeySceneScaleFactor"/>.
+        /// A read-only field that represents the default value of <see cref="SceneScaleFactor"/>.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public static readonly double DefaultSceneScaleFactor = 1.2;
index 5e13c46..537407c 100755 (executable)
@@ -32,6 +32,7 @@ namespace Tizen.Multimedia.Vision
         /// <summary>
         /// The region of recognized image object on the source image.
         /// </summary>
+        /// <value>The region of recognized image object if successful, otherwise null.</value>
         /// <since_tizen> 3 </since_tizen>
         public Quadrangle Region { get; }
 
index 423d3d6..a7ecd51 100755 (executable)
@@ -43,6 +43,7 @@ namespace Tizen.Multimedia.Vision
         /// <exception cref="ArgumentException"><paramref name="imageObjects"/> has no elements.(The length is zero.)</exception>
         /// <exception cref="NotSupportedException">The feature is not supported.</exception>
         /// <exception cref="ObjectDisposedException"><paramref name="source"/> has already been disposed of.</exception>
+        /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<IEnumerable<ImageRecognitionResult>> RecognizeAsync(
             MediaVisionSource source, ImageObject[] imageObjects)
@@ -71,6 +72,7 @@ namespace Tizen.Multimedia.Vision
         ///     -or-<br/>
         ///     <paramref name="config"/> has already been disposed of.
         /// </exception>
+        /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<IEnumerable<ImageRecognitionResult>> RecognizeAsync(MediaVisionSource source,
             ImageObject[] imageObjects, ImageRecognitionConfiguration config)
index 0938b50..ef3dae6 100755 (executable)
@@ -46,6 +46,7 @@ namespace Tizen.Multimedia.Vision
         /// </exception>
         /// <exception cref="ArgumentException"><paramref name="trackingModel"/> has no target.</exception>
         /// <seealso cref="ImageTrackingModel.SetTarget(ImageObject)"/>
+        /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<Quadrangle> TrackAsync(MediaVisionSource source,
             ImageTrackingModel trackingModel)
@@ -75,6 +76,7 @@ namespace Tizen.Multimedia.Vision
         /// </exception>
         /// <exception cref="ArgumentException"><paramref name="trackingModel"/> has no target.</exception>
         /// <seealso cref="ImageTrackingModel.SetTarget(ImageObject)"/>
+        /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
         /// <since_tizen> 3 </since_tizen>
         public static async Task<Quadrangle> TrackAsync(MediaVisionSource source,
             ImageTrackingModel trackingModel, ImageTrackingConfiguration config)
index 52426de..3d0d3d6 100755 (executable)
@@ -21,6 +21,7 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents a configuration of <see cref="ImageTracker"/>.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class ImageTrackingConfiguration : ImageRecognitionConfiguration
     {
index 4ec07c9..f68770a 100644 (file)
@@ -23,6 +23,7 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents the image tracking model interface.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class ImageTrackingModel : IDisposable
     {
index edbccda..9712bb6 100644 (file)
@@ -25,6 +25,10 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents the media vision source to keep information on the image or video frame data as raw buffer.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.barcode_detection</feature>
+    /// <feature>http://tizen.org/feature/vision.barcode_generation</feature>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class MediaVisionSource : IBufferOwner, IDisposable
     {
@@ -68,7 +72,7 @@ namespace Tizen.Multimedia.Vision
         /// Initializes a new instance of the <see cref="MediaVisionSource"/> class based on the <see cref="MediaPacket"/>.
         /// </summary>
         /// <param name="mediaPacket">The <see cref="MediaPacket"/> from which the source will be filled.</param>
-        /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <exception cref="NotSupportedException">None of the related features are not supported.</exception>
         /// <exception cref="ArgumentNullException"><paramref name="mediaPacket"/> is null.</exception>
         /// <exception cref="ObjectDisposedException"><paramref name="mediaPacket"/> has already been disposed of.</exception>
         /// <since_tizen> 3 </since_tizen>
@@ -105,7 +109,7 @@ namespace Tizen.Multimedia.Vision
         /// <param name="height">The height of image.</param>
         /// <param name="colorSpace">The image <see cref="ColorSpace"/>.</param>
         /// <exception cref="NotSupportedException">
-        ///     The feature is not supported.<br/>
+        ///     None of the related features are not supported.<br/>
         ///     -or-<br/>
         ///     <paramref name="colorSpace"/> is not supported.
         /// </exception>
index 0f40436..c3db89e 100755 (executable)
@@ -21,6 +21,8 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents a configuration of <see cref="MovementDetector"/>.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class MovementDetectionConfiguration : SurveillanceEngineConfiguration
     {
@@ -32,11 +34,10 @@ namespace Tizen.Multimedia.Vision
         /// <since_tizen> 3 </since_tizen>
         public static readonly int DefaultThreshold = 10;
 
-
         /// <summary>
         /// Initializes a new instance of the <see cref="MovementDetectionConfiguration"/> class.
         /// </summary>
-        /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <exception cref="NotSupportedException">The required features are not supported.</exception>
         /// <since_tizen> 3 </since_tizen>
         public MovementDetectionConfiguration()
         {
index a5d214c..27daf49 100755 (executable)
@@ -22,6 +22,8 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Provides the ability to detect movement on image sources.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <seealso cref="MovementDetectionConfiguration"/>
     /// <since_tizen> 3 </since_tizen>
     public class MovementDetector : SurveillanceEngine
@@ -34,7 +36,7 @@ namespace Tizen.Multimedia.Vision
         /// <summary>
         /// Initializes a new instance of the <see cref="MovementDetector"/> class.
         /// </summary>
-        /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <exception cref="NotSupportedException">The required features are not supported.</exception>
         /// <since_tizen> 3 </since_tizen>
         public MovementDetector() : base(MovementDetectedEventType)
         {
index 1ab3cc2..f6e75cf 100755 (executable)
@@ -21,6 +21,8 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents a configuration of <see cref="PersonAppearanceDetector"/> instances.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class PersonAppearanceDetectionConfiguration : SurveillanceEngineConfiguration
     {
@@ -35,7 +37,7 @@ namespace Tizen.Multimedia.Vision
         /// <summary>
         /// Initializes a new instance of the <see cref="PersonAppearanceDetectionConfiguration"/> class.
         /// </summary>
-        /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <exception cref="NotSupportedException">The required features are not supported.</exception>
         /// <since_tizen> 3 </since_tizen>
         public PersonAppearanceDetectionConfiguration()
         {
index 5bac441..c985543 100755 (executable)
@@ -22,6 +22,8 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Provides the ability to detect person appearance changes on image sources.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <seealso cref="PersonAppearanceDetectionConfiguration"/>
     /// <since_tizen> 3 </since_tizen>
     public class PersonAppearanceDetector : SurveillanceEngine
@@ -38,7 +40,7 @@ namespace Tizen.Multimedia.Vision
         /// <summary>
         /// Initializes a new instance of the <see cref="PersonAppearanceDetector"/> class.
         /// </summary>
-        /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <exception cref="NotSupportedException">The required features are not supported.</exception>
         /// <since_tizen> 3 </since_tizen>
         public PersonAppearanceDetector() : base(PersonAppearanceEventType)
         {
index d817324..4a28603 100755 (executable)
@@ -21,6 +21,8 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Represents a configuration of <see cref="PersonRecognizer"/> instances.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class PersonRecognitionConfiguration : SurveillanceEngineConfiguration
     {
@@ -31,7 +33,7 @@ namespace Tizen.Multimedia.Vision
         /// </summary>
         /// <param name="modelPath">Path to the face recognition model.</param>
         /// <exception cref="ArgumentNullException"><paramref name="modelPath"/> is null.</exception>
-        /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <exception cref="NotSupportedException">The required features are not supported.</exception>
         /// <since_tizen> 3 </since_tizen>
         public PersonRecognitionConfiguration(string modelPath)
         {
index b9f63b2..136aa6d 100755 (executable)
@@ -22,6 +22,8 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// Provides the ability to recognize person on image sources.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <seealso cref="PersonRecognitionConfiguration"/>
     /// <since_tizen> 3 </since_tizen>
     public class PersonRecognizer : SurveillanceEngine
@@ -36,7 +38,7 @@ namespace Tizen.Multimedia.Vision
         /// <summary>
         /// Initializes a new instance of the <see cref="PersonRecognizer"/> class.
         /// </summary>
-        /// <exception cref="NotSupportedException">The feature is not supported.</exception>
+        /// <exception cref="NotSupportedException">The required features are not supported.</exception>
         /// <since_tizen> 3 </since_tizen>
         public PersonRecognizer() : base(PersonRecognizedEventType)
         {
index dc30eb7..19b005d 100755 (executable)
@@ -30,9 +30,6 @@ namespace Tizen.Multimedia.Vision
         /// <param name="qrMode">Encoding mode for the message.</param>
         /// <param name="ecc">Error correction level.</param>
         /// <param name="version">QR code version. From 1 to 40 inclusive.</param>
-        /// <code>
-        /// var obj = new QrConfiguration(QrMode.Numeric, ErrorCorrectionLevel.Medium, 30);
-        /// </code>
         /// <exception cref="ArgumentOutOfRangeException">
         ///     <paramref name="version"/> is less than 1.<br/>
         ///     -or-<br/>
@@ -43,6 +40,11 @@ namespace Tizen.Multimedia.Vision
         ///     -or-<br/>
         ///     <paramref name="ecc"/> is invalid.
         /// </exception>
+        /// <example>
+        /// <code>
+        /// var qrConfig = new QrConfiguration(QrMode.Numeric, ErrorCorrectionLevel.Medium, 30);
+        /// </code>
+        /// </example>
         /// <since_tizen> 3 </since_tizen>
         public QrConfiguration(QrMode qrMode, ErrorCorrectionLevel ecc, int version)
         {
index 14f5477..2054cb0 100755 (executable)
@@ -28,7 +28,7 @@ namespace Tizen.Multimedia.Vision
         /// <since_tizen> 3 </since_tizen>
         Numeric,
         /// <summary>
-        /// Alphanumeric characters, '$', '%', '*', '+', '-', '.', '/' and ':'.
+        /// Alphanumeric characters, '$', '%', '*', '+', '-', '.', '/', and ':'.
         /// </summary>
         /// <since_tizen> 3</since_tizen>
         AlphaNumeric,
index 708621c..c7c3f6a 100755 (executable)
@@ -36,7 +36,7 @@ namespace Tizen.Multimedia.Vision
         {
             if (points.Length != 4)
             {
-                throw new ArgumentException($"{points} must have 4 elements.");
+                throw new ArgumentException($"{nameof(points)} must have 4 elements.");
             }
 
             Points = points;
index 2758314..52af409 100755 (executable)
@@ -19,6 +19,8 @@ namespace Tizen.Multimedia.Vision
     /// <summary>
     /// SurveillanceEngineConfiguration is a base class for surveillance configurations.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <since_tizen> 3 </since_tizen>
     public class SurveillanceEngineConfiguration : EngineConfiguration
     {
index 6b845b3..7d0f2be 100644 (file)
@@ -24,6 +24,8 @@ namespace Tizen.Multimedia.Vision
     /// SurveillanceEngine is a base class for surveillance event triggers.
     /// Media Vision Surveillance provides the functionality which can be utilized for creation of video surveillance systems.
     /// </summary>
+    /// <feature>http://tizen.org/feature/vision.face_recognition</feature>
+    /// <feature>http://tizen.org/feature/vision.image_recognition</feature>
     /// <seealso cref="MovementDetector"/>
     /// <seealso cref="PersonAppearanceDetector"/>
     /// <seealso cref="PersonRecognizer"/>
@@ -132,7 +134,6 @@ namespace Tizen.Multimedia.Vision
             UnsubscribeEventTrigger(Handle, source.StreamId).Validate("Failed to unsubscribe event trigger");
         }
 
-
         /// <summary>
         /// Releases all the resources used by the <see cref="SurveillanceEngine"/> object.
         /// </summary>
index 6f5d6a1..8c2eba1 100755 (executable)
@@ -29,14 +29,18 @@ namespace Tizen.Multimedia.Vision
     public class SurveillanceSource
     {
         private static int _nextStreamId = int.MinValue;
+        private static readonly object _idLock = new object();
 
         private static int GetNextStreamId()
         {
-            if (_nextStreamId == int.MaxValue)
+            lock (_idLock)
             {
-                return _nextStreamId = int.MinValue;
+                if (_nextStreamId == int.MaxValue)
+                {
+                    _nextStreamId = int.MinValue;
+                }
+                return _nextStreamId++;
             }
-            return _nextStreamId++;
         }
 
         /// <summary>