Fix a SupportedCodecs issue causing application abortion
authorcoderhyme <jhyo.kim@samsung.com>
Thu, 10 Nov 2016 02:35:22 +0000 (11:35 +0900)
committercoderhyme <jhyo.kim@samsung.com>
Thu, 10 Nov 2016 02:35:22 +0000 (11:35 +0900)
Change-Id: Id26698f1f928b5029cbe1e3fc686d1940d41209b
Signed-off-by: coderhyme <jhyo.kim@samsung.com>
packaging/csapi-multimedia.spec
src/Tizen.Multimedia/MediaCodec/MediaCodec.cs

index 5b1820d..9dfbd07 100644 (file)
@@ -8,7 +8,7 @@
 
 Name:       csapi-multimedia
 Summary:    Tizen Multimedia API for C#
-Version:    1.0.13
+Version:    1.0.14
 Release:    0
 Group:      Development/Libraries
 License:    Apache-2.0
index 50db753..03e6f83 100644 (file)
@@ -41,7 +41,7 @@ namespace Tizen.Multimedia.MediaCodec
 
             if (ret == (int)MediaCodecErrorCode.InvalidOperation)
             {
-                throw new InvalidOperationException("Not able to initiate a new media codec.");
+                throw new InvalidOperationException("Not able to initialize a new media codec.");
             }
 
             MediaCodecDebug.AssertNoError(ret);
@@ -128,6 +128,11 @@ namespace Tizen.Multimedia.MediaCodec
 
         private static bool TryGetMimeTypeFromCodecType<T>(int codecType, ref T result)
         {
+            if (codecType == -1)
+            {
+                return false;
+            }
+
             foreach (T value in Enum.GetValues(typeof(T)))
             {
                 if ((Convert.ToInt32(value) & CodecTypeMask) == codecType)
@@ -235,7 +240,7 @@ namespace Tizen.Multimedia.MediaCodec
 
             if (format == null)
             {
-                throw new ArgumentNullException("Format can't be null.");
+                throw new ArgumentNullException(nameof(format));
             }
 
             if (codecType != MediaCodecTypes.Hardware && codecType != MediaCodecTypes.Software)
@@ -344,7 +349,7 @@ namespace Tizen.Multimedia.MediaCodec
 
             if (packet == null)
             {
-                throw new ArgumentNullException("Packet can't be null");
+                throw new ArgumentNullException(nameof(packet));
             }
 
             MediaPacket.Lock packetLock = new MediaPacket.Lock(packet);
@@ -479,9 +484,12 @@ namespace Tizen.Multimedia.MediaCodec
                 catch (Exception)
                 {
                     Interop.MediaPacket.Destroy(packetHandle);
+
+                    // TODO should we throw it to unmanaged code?
                     throw;
                 }
 
+                //TODO dispose if no event handler registered
                 _outputAvailable?.Invoke(this, args);
             };