[MediaCodec] Fix the bug of callback registration (#938)
authorhsgwon <haesu.gwon@samsung.com>
Tue, 23 Jul 2019 08:15:17 +0000 (17:15 +0900)
committerGitHub <noreply@github.com>
Tue, 23 Jul 2019 08:15:17 +0000 (17:15 +0900)
* [MediaCodec] Fix the bug of callback registration

src/Tizen.Multimedia.MediaCodec/Interop/Interop.MediaCodec.cs
src/Tizen.Multimedia.MediaCodec/MediaCodec/MediaCodec.cs

index e7f3f2b..8d75556 100644 (file)
@@ -35,7 +35,7 @@ internal static partial class Interop
         internal delegate void EosCallback(IntPtr arg);
 
         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        internal delegate void BufferStatusCallback(int statusCode, IntPtr arg);
+        internal delegate void BufferStatusCallback(MediaCodecStatus statusCode, IntPtr arg);
 
         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
         internal delegate bool SupportedCodecCallback(int codecType, IntPtr arg);
index 6b2bb83..1e9b3f8 100644 (file)
@@ -47,6 +47,7 @@ namespace Tizen.Multimedia.MediaCodec
 
             RegisterInputProcessed();
             RegisterErrorOccurred();
+            RegisterBufferStatusChanged();
         }
 
         #region IDisposable-support
@@ -620,8 +621,7 @@ namespace Tizen.Multimedia.MediaCodec
                 Debug.Assert(Enum.IsDefined(typeof(MediaCodecStatus), statusCode),
                     $"{ statusCode } is not defined in MediaCodecStatus!");
 
-                BufferStatusChanged?.Invoke(this,
-                    new BufferStatusChangedEventArgs((MediaCodecStatus)statusCode));
+                BufferStatusChanged?.Invoke(this, new BufferStatusChangedEventArgs(statusCode));
             };
 
             Native.SetBufferStatusCb(_handle, _bufferStatusCb).