Release 4.0.0-preview1-00183
[platform/core/csapi/tizenfx.git] / src / Tizen.Multimedia.StreamRecorder / Interop / Interop.StreamRecorder.Capabilities.cs
1 using System;
2 using System.Runtime.InteropServices;
3 using Tizen.Multimedia;
4
5 internal static partial class Interop
6 {
7     internal static partial class StreamRecorder
8     {
9         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
10         internal delegate bool VideoResolutionCallback(int width, int height, IntPtr userData);
11
12         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
13         internal delegate bool FileFormatCallback(StreamRecorderFileFormat format, IntPtr userData);
14
15         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
16         internal delegate bool AudioEncoderCallback(StreamRecorderAudioCodec codec, IntPtr userData);
17
18         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
19         internal delegate bool VideoEncoderCallback(StreamRecorderVideoCodec codec, IntPtr userData);
20
21         [DllImport(Libraries.StreamRecorder, EntryPoint = "streamrecorder_foreach_supported_file_format")]
22         internal static extern StreamRecorderErrorCode FileFormats(StreamRecorderHandle handle,
23             FileFormatCallback callback, IntPtr userData = default(IntPtr));
24
25         [DllImport(Libraries.StreamRecorder, EntryPoint = "streamrecorder_foreach_supported_audio_encoder")]
26         internal static extern StreamRecorderErrorCode AudioEncoders(StreamRecorderHandle handle,
27             AudioEncoderCallback callback, IntPtr userData = default(IntPtr));
28
29         [DllImport(Libraries.StreamRecorder, EntryPoint = "streamrecorder_foreach_supported_video_encoder")]
30         internal static extern StreamRecorderErrorCode VideoEncoders(StreamRecorderHandle handle,
31             VideoEncoderCallback callback, IntPtr userData = default(IntPtr));
32
33         [DllImport(Libraries.StreamRecorder, EntryPoint = "streamrecorder_foreach_supported_video_resolution")]
34         internal static extern StreamRecorderErrorCode VideoResolution(StreamRecorderHandle handle,
35             VideoResolutionCallback callback, IntPtr userData = default(IntPtr));
36     }
37 }