[Multimedia] Fixed errors in ImageUtil 82/157282/1
authorcoderhyme <jhyo.kim@samsung.com>
Tue, 24 Oct 2017 05:05:35 +0000 (14:05 +0900)
committercoderhyme <jhyo.kim@samsung.com>
Tue, 24 Oct 2017 05:05:35 +0000 (14:05 +0900)
1. An error destroying image util handle before the run operation completes.
2. An error that the out buffer is not assigned correctly for encoding gif frames.

Change-Id: Ia6f78a991e32590810ae3836d0dcd47bc32934c3
Signed-off-by: coderhyme <jhyo.kim@samsung.com>
src/Tizen.Multimedia.Util/ImageUtil/ImageEncoder.cs
src/Tizen.Multimedia.Util/ImageUtil/ImageTransform.cs

index 2263f2a..55364c9 100644 (file)
@@ -114,13 +114,14 @@ namespace Tizen.Multimedia.Util
         {
             var tcs = new TaskCompletionSource<bool>();
 
-            IntPtr outBuffer = IntPtr.Zero;
-            Unmanaged.SetOutputBuffer(Handle, out outBuffer).ThrowIfFailed("Failed to initialize encoder");
-
             Task.Run(() =>
             {
+                IntPtr outBuffer = IntPtr.Zero;
+
                 try
                 {
+                    Unmanaged.SetOutputBuffer(Handle, out outBuffer).ThrowIfFailed("Failed to initialize encoder");
+
                     ulong size = 0;
                     Unmanaged.Run(Handle, out size).ThrowIfFailed("Failed to encode given image");
 
index 3c08449..889dfc9 100644 (file)
@@ -74,13 +74,13 @@ namespace Tizen.Multimedia.Util
 
         internal abstract void Configure(TransformHandle handle);
 
-        internal virtual Task<MediaPacket> ApplyAsync(MediaPacket source)
+        internal virtual async Task<MediaPacket> ApplyAsync(MediaPacket source)
         {
             using (TransformHandle handle = CreateHandle())
             {
                 Configure(handle);
 
-                return RunAsync(handle, source);
+                return await RunAsync(handle, source);
             }
         }
     }