2018-01-29 18:56:49 +00:00
|
|
|
// This file was generated by the Gtk# code generator.
|
|
|
|
// Any changes made will be lost if regenerated.
|
|
|
|
|
|
|
|
namespace Gst.Video {
|
|
|
|
|
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
#region Autogenerated code
|
|
|
|
public partial class Global {
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_add_video_affine_transformation_meta(IntPtr buffer);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoAffineTransformationMeta BufferAddVideoAffineTransformationMeta(Gst.Buffer buffer) {
|
|
|
|
IntPtr raw_ret = gst_buffer_add_video_affine_transformation_meta(buffer == null ? IntPtr.Zero : buffer.Handle);
|
|
|
|
Gst.Video.VideoAffineTransformationMeta ret = Gst.Video.VideoAffineTransformationMeta.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern IntPtr gst_buffer_add_video_caption_meta(IntPtr buffer, int caption_type, byte[] data, UIntPtr size);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoCaptionMeta BufferAddVideoCaptionMeta(Gst.Buffer buffer, Gst.Video.VideoCaptionType caption_type, byte[] data, ulong size) {
|
|
|
|
IntPtr raw_ret = gst_buffer_add_video_caption_meta(buffer == null ? IntPtr.Zero : buffer.Handle, (int) caption_type, data, new UIntPtr (size));
|
|
|
|
Gst.Video.VideoCaptionMeta ret = Gst.Video.VideoCaptionMeta.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_add_video_gl_texture_upload_meta(IntPtr buffer, int texture_orientation, uint n_textures, int texture_type, Gst.VideoSharp.VideoGLTextureUploadNative upload, IntPtr user_data, IntPtr user_data_copy, IntPtr user_data_free);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoGLTextureUploadMeta BufferAddVideoGlTextureUploadMeta(Gst.Buffer buffer, Gst.Video.VideoGLTextureOrientation texture_orientation, uint n_textures, Gst.Video.VideoGLTextureType texture_type, Gst.Video.VideoGLTextureUpload upload, IntPtr user_data_copy, IntPtr user_data_free) {
|
|
|
|
Gst.VideoSharp.VideoGLTextureUploadWrapper upload_wrapper = new Gst.VideoSharp.VideoGLTextureUploadWrapper (upload);
|
|
|
|
IntPtr raw_ret = gst_buffer_add_video_gl_texture_upload_meta(buffer == null ? IntPtr.Zero : buffer.Handle, (int) texture_orientation, n_textures, (int) texture_type, upload_wrapper.NativeDelegate, IntPtr.Zero, user_data_copy, user_data_free);
|
|
|
|
Gst.Video.VideoGLTextureUploadMeta ret = Gst.Video.VideoGLTextureUploadMeta.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_add_video_meta(IntPtr buffer, int flags, int format, uint width, uint height);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoMeta BufferAddVideoMeta(Gst.Buffer buffer, Gst.Video.VideoFrameFlags flags, Gst.Video.VideoFormat format, uint width, uint height) {
|
|
|
|
IntPtr raw_ret = gst_buffer_add_video_meta(buffer == null ? IntPtr.Zero : buffer.Handle, (int) flags, (int) format, width, height);
|
|
|
|
Gst.Video.VideoMeta ret = Gst.Video.VideoMeta.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_add_video_overlay_composition_meta(IntPtr buf, IntPtr comp);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoOverlayCompositionMeta BufferAddVideoOverlayCompositionMeta(Gst.Buffer buf, Gst.Video.VideoOverlayComposition comp) {
|
|
|
|
IntPtr native_comp = GLib.Marshaller.StructureToPtrAlloc (comp);
|
|
|
|
IntPtr raw_ret = gst_buffer_add_video_overlay_composition_meta(buf == null ? IntPtr.Zero : buf.Handle, native_comp);
|
|
|
|
Gst.Video.VideoOverlayCompositionMeta ret = Gst.Video.VideoOverlayCompositionMeta.New (raw_ret);
|
|
|
|
Marshal.FreeHGlobal (native_comp);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static Gst.Video.VideoOverlayCompositionMeta BufferAddVideoOverlayCompositionMeta(Gst.Buffer buf) {
|
|
|
|
return BufferAddVideoOverlayCompositionMeta (buf, Gst.Video.VideoOverlayComposition.Zero);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_add_video_region_of_interest_meta(IntPtr buffer, IntPtr roi_type, uint x, uint y, uint w, uint h);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoRegionOfInterestMeta BufferAddVideoRegionOfInterestMeta(Gst.Buffer buffer, string roi_type, uint x, uint y, uint w, uint h) {
|
|
|
|
IntPtr native_roi_type = GLib.Marshaller.StringToPtrGStrdup (roi_type);
|
|
|
|
IntPtr raw_ret = gst_buffer_add_video_region_of_interest_meta(buffer == null ? IntPtr.Zero : buffer.Handle, native_roi_type, x, y, w, h);
|
|
|
|
Gst.Video.VideoRegionOfInterestMeta ret = Gst.Video.VideoRegionOfInterestMeta.New (raw_ret);
|
|
|
|
GLib.Marshaller.Free (native_roi_type);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_add_video_region_of_interest_meta_id(IntPtr buffer, uint roi_type, uint x, uint y, uint w, uint h);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoRegionOfInterestMeta BufferAddVideoRegionOfInterestMetaId(Gst.Buffer buffer, uint roi_type, uint x, uint y, uint w, uint h) {
|
|
|
|
IntPtr raw_ret = gst_buffer_add_video_region_of_interest_meta_id(buffer == null ? IntPtr.Zero : buffer.Handle, roi_type, x, y, w, h);
|
|
|
|
Gst.Video.VideoRegionOfInterestMeta ret = Gst.Video.VideoRegionOfInterestMeta.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_add_video_time_code_meta(IntPtr buffer, IntPtr tc);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoTimeCodeMeta BufferAddVideoTimeCodeMeta(Gst.Buffer buffer, Gst.Video.VideoTimeCode tc) {
|
|
|
|
IntPtr native_tc = GLib.Marshaller.StructureToPtrAlloc (tc);
|
|
|
|
IntPtr raw_ret = gst_buffer_add_video_time_code_meta(buffer == null ? IntPtr.Zero : buffer.Handle, native_tc);
|
|
|
|
Gst.Video.VideoTimeCodeMeta ret = Gst.Video.VideoTimeCodeMeta.New (raw_ret);
|
|
|
|
Marshal.FreeHGlobal (native_tc);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_add_video_time_code_meta_full(IntPtr buffer, uint fps_n, uint fps_d, IntPtr latest_daily_jam, int flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoTimeCodeMeta BufferAddVideoTimeCodeMetaFull(Gst.Buffer buffer, uint fps_n, uint fps_d, GLib.DateTime latest_daily_jam, Gst.Video.VideoTimeCodeFlags flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count) {
|
|
|
|
IntPtr raw_ret = gst_buffer_add_video_time_code_meta_full(buffer == null ? IntPtr.Zero : buffer.Handle, fps_n, fps_d, latest_daily_jam == null ? IntPtr.Zero : latest_daily_jam.Handle, (int) flags, hours, minutes, seconds, frames, field_count);
|
|
|
|
Gst.Video.VideoTimeCodeMeta ret = Gst.Video.VideoTimeCodeMeta.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_get_video_meta(IntPtr buffer);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoMeta BufferGetVideoMeta(Gst.Buffer buffer) {
|
|
|
|
IntPtr raw_ret = gst_buffer_get_video_meta(buffer == null ? IntPtr.Zero : buffer.Handle);
|
|
|
|
Gst.Video.VideoMeta ret = Gst.Video.VideoMeta.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_get_video_meta_id(IntPtr buffer, int id);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoMeta BufferGetVideoMetaId(Gst.Buffer buffer, int id) {
|
|
|
|
IntPtr raw_ret = gst_buffer_get_video_meta_id(buffer == null ? IntPtr.Zero : buffer.Handle, id);
|
|
|
|
Gst.Video.VideoMeta ret = Gst.Video.VideoMeta.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_buffer_get_video_region_of_interest_meta_id(IntPtr buffer, int id);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoRegionOfInterestMeta BufferGetVideoRegionOfInterestMetaId(Gst.Buffer buffer, int id) {
|
|
|
|
IntPtr raw_ret = gst_buffer_get_video_region_of_interest_meta_id(buffer == null ? IntPtr.Zero : buffer.Handle, id);
|
|
|
|
Gst.Video.VideoRegionOfInterestMeta ret = Gst.Video.VideoRegionOfInterestMeta.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_buffer_pool_config_get_video_alignment(IntPtr config, IntPtr align);
|
|
|
|
|
|
|
|
public static bool BufferPoolConfigGetVideoAlignment(Gst.Structure config, Gst.Video.VideoAlignment align) {
|
|
|
|
IntPtr native_align = GLib.Marshaller.StructureToPtrAlloc (align);
|
|
|
|
bool raw_ret = gst_buffer_pool_config_get_video_alignment(config == null ? IntPtr.Zero : config.Handle, native_align);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
Marshal.FreeHGlobal (native_align);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_buffer_pool_config_set_video_alignment(IntPtr config, IntPtr align);
|
|
|
|
|
|
|
|
public static void BufferPoolConfigSetVideoAlignment(Gst.Structure config, Gst.Video.VideoAlignment align) {
|
|
|
|
IntPtr native_align = GLib.Marshaller.StructureToPtrAlloc (align);
|
|
|
|
gst_buffer_pool_config_set_video_alignment(config == null ? IntPtr.Zero : config.Handle, native_align);
|
|
|
|
Marshal.FreeHGlobal (native_align);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_is_video_overlay_prepare_window_handle_message(IntPtr msg);
|
|
|
|
|
|
|
|
public static bool IsVideoOverlayPrepareWindowHandleMessage(Gst.Message msg) {
|
|
|
|
bool raw_ret = gst_is_video_overlay_prepare_window_handle_message(msg == null ? IntPtr.Zero : msg.Handle);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_navigation_event_get_type(IntPtr evnt);
|
|
|
|
|
|
|
|
public static Gst.Video.NavigationEventType NavigationEventGetType(Gst.Event evnt) {
|
|
|
|
int raw_ret = gst_navigation_event_get_type(evnt == null ? IntPtr.Zero : evnt.Handle);
|
|
|
|
Gst.Video.NavigationEventType ret = (Gst.Video.NavigationEventType) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_event_parse_command(IntPtr evnt, out int command);
|
|
|
|
|
|
|
|
public static bool NavigationEventParseCommand(Gst.Event evnt, out Gst.Video.NavigationCommand command) {
|
|
|
|
int native_command;
|
|
|
|
bool raw_ret = gst_navigation_event_parse_command(evnt == null ? IntPtr.Zero : evnt.Handle, out native_command);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
command = (Gst.Video.NavigationCommand) native_command;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_event_parse_key_event(IntPtr evnt, out IntPtr key);
|
|
|
|
|
|
|
|
public static bool NavigationEventParseKeyEvent(Gst.Event evnt, out string key) {
|
|
|
|
IntPtr native_key;
|
|
|
|
bool raw_ret = gst_navigation_event_parse_key_event(evnt == null ? IntPtr.Zero : evnt.Handle, out native_key);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
key = GLib.Marshaller.Utf8PtrToString (native_key);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_event_parse_mouse_button_event(IntPtr evnt, out int button, out double x, out double y);
|
|
|
|
|
|
|
|
public static bool NavigationEventParseMouseButtonEvent(Gst.Event evnt, out int button, out double x, out double y) {
|
|
|
|
bool raw_ret = gst_navigation_event_parse_mouse_button_event(evnt == null ? IntPtr.Zero : evnt.Handle, out button, out x, out y);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_event_parse_mouse_move_event(IntPtr evnt, out double x, out double y);
|
|
|
|
|
|
|
|
public static bool NavigationEventParseMouseMoveEvent(Gst.Event evnt, out double x, out double y) {
|
|
|
|
bool raw_ret = gst_navigation_event_parse_mouse_move_event(evnt == null ? IntPtr.Zero : evnt.Handle, out x, out y);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_navigation_message_get_type(IntPtr message);
|
|
|
|
|
|
|
|
public static Gst.Video.NavigationMessageType NavigationMessageGetType(Gst.Message message) {
|
|
|
|
int raw_ret = gst_navigation_message_get_type(message == null ? IntPtr.Zero : message.Handle);
|
|
|
|
Gst.Video.NavigationMessageType ret = (Gst.Video.NavigationMessageType) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_navigation_message_new_angles_changed(IntPtr src, uint cur_angle, uint n_angles);
|
|
|
|
|
|
|
|
public static Gst.Message NavigationMessageNewAnglesChanged(Gst.Object src, uint cur_angle, uint n_angles) {
|
|
|
|
IntPtr raw_ret = gst_navigation_message_new_angles_changed(src == null ? IntPtr.Zero : src.Handle, cur_angle, n_angles);
|
|
|
|
Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_navigation_message_new_commands_changed(IntPtr src);
|
|
|
|
|
|
|
|
public static Gst.Message NavigationMessageNewCommandsChanged(Gst.Object src) {
|
|
|
|
IntPtr raw_ret = gst_navigation_message_new_commands_changed(src == null ? IntPtr.Zero : src.Handle);
|
|
|
|
Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_navigation_message_new_event(IntPtr src, IntPtr evnt);
|
|
|
|
|
|
|
|
public static Gst.Message NavigationMessageNewEvent(Gst.Object src, Gst.Event evnt) {
|
|
|
|
IntPtr raw_ret = gst_navigation_message_new_event(src == null ? IntPtr.Zero : src.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
|
|
|
|
Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_navigation_message_new_mouse_over(IntPtr src, bool active);
|
|
|
|
|
|
|
|
public static Gst.Message NavigationMessageNewMouseOver(Gst.Object src, bool active) {
|
|
|
|
IntPtr raw_ret = gst_navigation_message_new_mouse_over(src == null ? IntPtr.Zero : src.Handle, active);
|
|
|
|
Gst.Message ret = raw_ret == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Message), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_message_parse_angles_changed(IntPtr message, out uint cur_angle, out uint n_angles);
|
|
|
|
|
|
|
|
public static bool NavigationMessageParseAnglesChanged(Gst.Message message, out uint cur_angle, out uint n_angles) {
|
|
|
|
bool raw_ret = gst_navigation_message_parse_angles_changed(message == null ? IntPtr.Zero : message.Handle, out cur_angle, out n_angles);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_message_parse_event(IntPtr message, out IntPtr evnt);
|
|
|
|
|
|
|
|
public static bool NavigationMessageParseEvent(Gst.Message message, out Gst.Event evnt) {
|
|
|
|
IntPtr native_evnt;
|
|
|
|
bool raw_ret = gst_navigation_message_parse_event(message == null ? IntPtr.Zero : message.Handle, out native_evnt);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
evnt = native_evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (native_evnt, typeof (Gst.Event), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_message_parse_mouse_over(IntPtr message, out bool active);
|
|
|
|
|
|
|
|
public static bool NavigationMessageParseMouseOver(Gst.Message message, out bool active) {
|
|
|
|
bool raw_ret = gst_navigation_message_parse_mouse_over(message == null ? IntPtr.Zero : message.Handle, out active);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_navigation_query_get_type(IntPtr query);
|
|
|
|
|
|
|
|
public static Gst.Video.NavigationQueryType NavigationQueryGetType(Gst.Query query) {
|
|
|
|
int raw_ret = gst_navigation_query_get_type(query == null ? IntPtr.Zero : query.Handle);
|
|
|
|
Gst.Video.NavigationQueryType ret = (Gst.Video.NavigationQueryType) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_navigation_query_new_angles();
|
|
|
|
|
|
|
|
public static Gst.Query NavigationQueryNewAngles() {
|
|
|
|
IntPtr raw_ret = gst_navigation_query_new_angles();
|
|
|
|
Gst.Query ret = raw_ret == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Query), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_navigation_query_new_commands();
|
|
|
|
|
|
|
|
public static Gst.Query NavigationQueryNewCommands() {
|
|
|
|
IntPtr raw_ret = gst_navigation_query_new_commands();
|
|
|
|
Gst.Query ret = raw_ret == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Query), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_query_parse_angles(IntPtr query, out uint cur_angle, out uint n_angles);
|
|
|
|
|
|
|
|
public static bool NavigationQueryParseAngles(Gst.Query query, out uint cur_angle, out uint n_angles) {
|
|
|
|
bool raw_ret = gst_navigation_query_parse_angles(query == null ? IntPtr.Zero : query.Handle, out cur_angle, out n_angles);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_query_parse_commands_length(IntPtr query, out uint n_cmds);
|
|
|
|
|
|
|
|
public static bool NavigationQueryParseCommandsLength(Gst.Query query, out uint n_cmds) {
|
|
|
|
bool raw_ret = gst_navigation_query_parse_commands_length(query == null ? IntPtr.Zero : query.Handle, out n_cmds);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_navigation_query_parse_commands_nth(IntPtr query, uint nth, out int cmd);
|
|
|
|
|
|
|
|
public static bool NavigationQueryParseCommandsNth(Gst.Query query, uint nth, out Gst.Video.NavigationCommand cmd) {
|
|
|
|
int native_cmd;
|
|
|
|
bool raw_ret = gst_navigation_query_parse_commands_nth(query == null ? IntPtr.Zero : query.Handle, nth, out native_cmd);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
cmd = (Gst.Video.NavigationCommand) native_cmd;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_navigation_query_set_angles(IntPtr query, uint cur_angle, uint n_angles);
|
|
|
|
|
|
|
|
public static void NavigationQuerySetAngles(Gst.Query query, uint cur_angle, uint n_angles) {
|
|
|
|
gst_navigation_query_set_angles(query == null ? IntPtr.Zero : query.Handle, cur_angle, n_angles);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_navigation_query_set_commandsv(IntPtr query, int n_cmds, int[] cmds);
|
|
|
|
|
|
|
|
public static void NavigationQuerySetCommandsv(Gst.Query query, Gst.Video.NavigationCommand[] cmds) {
|
|
|
|
int cnt_cmds = cmds == null ? 0 : cmds.Length;
|
|
|
|
int[] native_cmds = new int [cnt_cmds];
|
|
|
|
for (int i = 0; i < cnt_cmds; i++)
|
|
|
|
native_cmds [i] = (int) cmds[i];
|
|
|
|
gst_navigation_query_set_commandsv(query == null ? IntPtr.Zero : query.Handle, (cmds == null ? 0 : cmds.Length), native_cmds);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_affine_transformation_meta_api_get_type();
|
|
|
|
|
|
|
|
public static GLib.GType VideoAffineTransformationMetaApiGetType() {
|
|
|
|
IntPtr raw_ret = gst_video_affine_transformation_meta_api_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_affine_transformation_meta_get_info();
|
|
|
|
|
|
|
|
public static Gst.MetaInfo VideoAffineTransformationMetaGetInfo() {
|
|
|
|
IntPtr raw_ret = gst_video_affine_transformation_meta_get_info();
|
|
|
|
Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_video_blend(IntPtr dest, IntPtr src, int x, int y, float global_alpha);
|
|
|
|
|
|
|
|
public static bool VideoBlend(Gst.Video.VideoFrame dest, Gst.Video.VideoFrame src, int x, int y, float global_alpha) {
|
|
|
|
IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
|
|
|
|
IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src);
|
|
|
|
bool raw_ret = gst_video_blend(native_dest, native_src, x, y, global_alpha);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
Marshal.FreeHGlobal (native_dest);
|
|
|
|
Marshal.FreeHGlobal (native_src);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_video_blend_scale_linear_RGBA(IntPtr src, IntPtr src_buffer, int dest_height, int dest_width, out IntPtr dest, out IntPtr dest_buffer);
|
|
|
|
|
|
|
|
public static void VideoBlendScaleLinearRGBA(Gst.Video.VideoInfo src, Gst.Buffer src_buffer, int dest_height, int dest_width, out Gst.Video.VideoInfo dest, out Gst.Buffer dest_buffer) {
|
|
|
|
IntPtr native_dest;
|
|
|
|
IntPtr native_dest_buffer;
|
|
|
|
gst_video_blend_scale_linear_RGBA(src == null ? IntPtr.Zero : src.Handle, src_buffer == null ? IntPtr.Zero : src_buffer.Handle, dest_height, dest_width, out native_dest, out native_dest_buffer);
|
|
|
|
dest = native_dest == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (native_dest, typeof (Gst.Video.VideoInfo), false);
|
|
|
|
dest_buffer = native_dest_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_dest_buffer, typeof (Gst.Buffer), true);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_video_calculate_display_ratio(out uint dar_n, out uint dar_d, uint video_width, uint video_height, uint video_par_n, uint video_par_d, uint display_par_n, uint display_par_d);
|
|
|
|
|
|
|
|
public static bool VideoCalculateDisplayRatio(out uint dar_n, out uint dar_d, uint video_width, uint video_height, uint video_par_n, uint video_par_d, uint display_par_n, uint display_par_d) {
|
|
|
|
bool raw_ret = gst_video_calculate_display_ratio(out dar_n, out dar_d, video_width, video_height, video_par_n, video_par_d, display_par_n, display_par_d);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern IntPtr gst_video_caption_meta_api_get_type();
|
|
|
|
|
|
|
|
public static GLib.GType VideoCaptionMetaApiGetType() {
|
|
|
|
IntPtr raw_ret = gst_video_caption_meta_api_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern IntPtr gst_video_caption_meta_get_info();
|
|
|
|
|
|
|
|
public static Gst.MetaInfo VideoCaptionMetaGetInfo() {
|
|
|
|
IntPtr raw_ret = gst_video_caption_meta_get_info();
|
|
|
|
Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern int gst_video_caption_type_from_caps(IntPtr caps);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoCaptionType VideoCaptionTypeFromCaps(Gst.Caps caps) {
|
|
|
|
int raw_ret = gst_video_caption_type_from_caps(caps == null ? IntPtr.Zero : caps.Handle);
|
|
|
|
Gst.Video.VideoCaptionType ret = (Gst.Video.VideoCaptionType) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern IntPtr gst_video_caption_type_to_caps(int type);
|
|
|
|
|
|
|
|
public static Gst.Caps VideoCaptionTypeToCaps(Gst.Video.VideoCaptionType type) {
|
|
|
|
IntPtr raw_ret = gst_video_caption_type_to_caps((int) type);
|
|
|
|
Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_video_chroma_from_string(IntPtr s);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoChromaSite VideoChromaFromString(string s) {
|
|
|
|
IntPtr native_s = GLib.Marshaller.StringToPtrGStrdup (s);
|
|
|
|
int raw_ret = gst_video_chroma_from_string(native_s);
|
|
|
|
Gst.Video.VideoChromaSite ret = (Gst.Video.VideoChromaSite) raw_ret;
|
|
|
|
GLib.Marshaller.Free (native_s);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_video_chroma_resample(IntPtr resample, IntPtr lines, int width);
|
|
|
|
|
|
|
|
public static void VideoChromaResample(Gst.Video.VideoChromaResample resample, IntPtr lines, int width) {
|
|
|
|
gst_video_chroma_resample(resample == null ? IntPtr.Zero : resample.Handle, lines, width);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void VideoChromaResample(Gst.Video.VideoChromaResample resample, int width) {
|
|
|
|
VideoChromaResample (resample, IntPtr.Zero, width);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_chroma_to_string(int site);
|
|
|
|
|
|
|
|
public static string VideoChromaToString(Gst.Video.VideoChromaSite site) {
|
|
|
|
IntPtr raw_ret = gst_video_chroma_to_string((int) site);
|
|
|
|
string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-05-17 19:38:32 +00:00
|
|
|
static extern bool gst_video_color_matrix_get_Kr_Kb(int matrix, out double Kr, out double Kb);
|
2018-01-29 18:56:49 +00:00
|
|
|
|
2018-05-17 19:38:32 +00:00
|
|
|
public static bool VideoColorMatrixGetKrKb(Gst.Video.VideoColorMatrix matrix, out double Kr, out double Kb) {
|
|
|
|
bool raw_ret = gst_video_color_matrix_get_Kr_Kb((int) matrix, out Kr, out Kb);
|
2018-01-29 18:56:49 +00:00
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_color_primaries_get_info(int primaries);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoColorPrimariesInfo VideoColorPrimariesGetInfo(Gst.Video.VideoColorPrimaries primaries) {
|
|
|
|
IntPtr raw_ret = gst_video_color_primaries_get_info((int) primaries);
|
|
|
|
Gst.Video.VideoColorPrimariesInfo ret = Gst.Video.VideoColorPrimariesInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-05-17 19:38:32 +00:00
|
|
|
static extern void gst_video_color_range_offsets(int range, IntPtr info, out int[] offset, out int[] scale);
|
2018-01-29 18:56:49 +00:00
|
|
|
|
2018-05-17 19:38:32 +00:00
|
|
|
public static void VideoColorRangeOffsets(Gst.Video.VideoColorRange range, Gst.Video.VideoFormatInfo info, out int[] offset, out int[] scale) {
|
2018-01-29 18:56:49 +00:00
|
|
|
IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
|
2018-05-17 19:38:32 +00:00
|
|
|
offset = new int[4];
|
|
|
|
scale = new int[4];
|
2018-01-29 18:56:49 +00:00
|
|
|
gst_video_color_range_offsets((int) range, native_info, out offset, out scale);
|
|
|
|
Marshal.FreeHGlobal (native_info);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern double gst_video_color_transfer_decode(int func, double val);
|
|
|
|
|
|
|
|
public static double VideoColorTransferDecode(Gst.Video.VideoTransferFunction func, double val) {
|
|
|
|
double raw_ret = gst_video_color_transfer_decode((int) func, val);
|
|
|
|
double ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern double gst_video_color_transfer_encode(int func, double val);
|
|
|
|
|
|
|
|
public static double VideoColorTransferEncode(Gst.Video.VideoTransferFunction func, double val) {
|
|
|
|
double raw_ret = gst_video_color_transfer_encode((int) func, val);
|
|
|
|
double ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern unsafe IntPtr gst_video_convert_sample(IntPtr sample, IntPtr to_caps, ulong timeout, out IntPtr error);
|
|
|
|
|
|
|
|
public static unsafe Gst.Sample VideoConvertSample(Gst.Sample sample, Gst.Caps to_caps, ulong timeout) {
|
|
|
|
IntPtr error = IntPtr.Zero;
|
|
|
|
IntPtr raw_ret = gst_video_convert_sample(sample == null ? IntPtr.Zero : sample.Handle, to_caps == null ? IntPtr.Zero : to_caps.Handle, timeout, out error);
|
|
|
|
Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
|
|
|
|
if (error != IntPtr.Zero) throw new GLib.GException (error);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_video_convert_sample_async(IntPtr sample, IntPtr to_caps, ulong timeout, Gst.VideoSharp.VideoConvertSampleCallbackNative cb, IntPtr user_data, GLib.DestroyNotify destroy_notify);
|
|
|
|
|
|
|
|
public static void VideoConvertSampleAsync(Gst.Sample sample, Gst.Caps to_caps, ulong timeout, Gst.Video.VideoConvertSampleCallback cb) {
|
|
|
|
Gst.VideoSharp.VideoConvertSampleCallbackWrapper cb_wrapper = new Gst.VideoSharp.VideoConvertSampleCallbackWrapper (cb);
|
|
|
|
IntPtr user_data;
|
|
|
|
GLib.DestroyNotify destroy_notify;
|
|
|
|
if (cb == null) {
|
|
|
|
user_data = IntPtr.Zero;
|
|
|
|
destroy_notify = null;
|
|
|
|
} else {
|
|
|
|
user_data = (IntPtr) GCHandle.Alloc (cb_wrapper);
|
|
|
|
destroy_notify = GLib.DestroyHelper.NotifyHandler;
|
|
|
|
}
|
|
|
|
gst_video_convert_sample_async(sample == null ? IntPtr.Zero : sample.Handle, to_caps == null ? IntPtr.Zero : to_caps.Handle, timeout, cb_wrapper.NativeDelegate, user_data, destroy_notify);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_crop_meta_api_get_type();
|
|
|
|
|
|
|
|
public static GLib.GType VideoCropMetaApiGetType() {
|
|
|
|
IntPtr raw_ret = gst_video_crop_meta_api_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_crop_meta_get_info();
|
|
|
|
|
|
|
|
public static Gst.MetaInfo VideoCropMetaGetInfo() {
|
|
|
|
IntPtr raw_ret = gst_video_crop_meta_get_info();
|
|
|
|
Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_video_event_is_force_key_unit(IntPtr evnt);
|
|
|
|
|
|
|
|
public static bool VideoEventIsForceKeyUnit(Gst.Event evnt) {
|
|
|
|
bool raw_ret = gst_video_event_is_force_key_unit(evnt == null ? IntPtr.Zero : evnt.Handle);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_event_new_downstream_force_key_unit(ulong timestamp, ulong stream_time, ulong running_time, bool all_headers, uint count);
|
|
|
|
|
|
|
|
public static Gst.Event VideoEventNewDownstreamForceKeyUnit(ulong timestamp, ulong stream_time, ulong running_time, bool all_headers, uint count) {
|
|
|
|
IntPtr raw_ret = gst_video_event_new_downstream_force_key_unit(timestamp, stream_time, running_time, all_headers, count);
|
|
|
|
Gst.Event ret = raw_ret == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Event), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_event_new_still_frame(bool in_still);
|
|
|
|
|
|
|
|
public static Gst.Event VideoEventNewStillFrame(bool in_still) {
|
|
|
|
IntPtr raw_ret = gst_video_event_new_still_frame(in_still);
|
|
|
|
Gst.Event ret = raw_ret == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Event), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_event_new_upstream_force_key_unit(ulong running_time, bool all_headers, uint count);
|
|
|
|
|
|
|
|
public static Gst.Event VideoEventNewUpstreamForceKeyUnit(ulong running_time, bool all_headers, uint count) {
|
|
|
|
IntPtr raw_ret = gst_video_event_new_upstream_force_key_unit(running_time, all_headers, count);
|
|
|
|
Gst.Event ret = raw_ret == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Event), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_video_event_parse_downstream_force_key_unit(IntPtr evnt, out ulong timestamp, out ulong stream_time, out ulong running_time, out bool all_headers, out uint count);
|
|
|
|
|
|
|
|
public static bool VideoEventParseDownstreamForceKeyUnit(Gst.Event evnt, out ulong timestamp, out ulong stream_time, out ulong running_time, out bool all_headers, out uint count) {
|
|
|
|
bool raw_ret = gst_video_event_parse_downstream_force_key_unit(evnt == null ? IntPtr.Zero : evnt.Handle, out timestamp, out stream_time, out running_time, out all_headers, out count);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-05-17 19:38:32 +00:00
|
|
|
static extern bool gst_video_event_parse_still_frame(IntPtr evnt, out bool in_still);
|
2018-01-29 18:56:49 +00:00
|
|
|
|
2018-05-17 19:38:32 +00:00
|
|
|
public static bool VideoEventParseStillFrame(Gst.Event evnt, out bool in_still) {
|
|
|
|
bool raw_ret = gst_video_event_parse_still_frame(evnt == null ? IntPtr.Zero : evnt.Handle, out in_still);
|
2018-01-29 18:56:49 +00:00
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_video_event_parse_upstream_force_key_unit(IntPtr evnt, out ulong running_time, out bool all_headers, out uint count);
|
|
|
|
|
|
|
|
public static bool VideoEventParseUpstreamForceKeyUnit(Gst.Event evnt, out ulong running_time, out bool all_headers, out uint count) {
|
|
|
|
bool raw_ret = gst_video_event_parse_upstream_force_key_unit(evnt == null ? IntPtr.Zero : evnt.Handle, out running_time, out all_headers, out count);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_video_field_order_from_string(IntPtr order);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoFieldOrder VideoFieldOrderFromString(string order) {
|
|
|
|
IntPtr native_order = GLib.Marshaller.StringToPtrGStrdup (order);
|
|
|
|
int raw_ret = gst_video_field_order_from_string(native_order);
|
|
|
|
Gst.Video.VideoFieldOrder ret = (Gst.Video.VideoFieldOrder) raw_ret;
|
|
|
|
GLib.Marshaller.Free (native_order);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_field_order_to_string(int order);
|
|
|
|
|
|
|
|
public static string VideoFieldOrderToString(Gst.Video.VideoFieldOrder order) {
|
|
|
|
IntPtr raw_ret = gst_video_field_order_to_string((int) order);
|
|
|
|
string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_video_format_from_fourcc(uint fourcc);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoFormat VideoFormatFromFourcc(uint fourcc) {
|
|
|
|
int raw_ret = gst_video_format_from_fourcc(fourcc);
|
|
|
|
Gst.Video.VideoFormat ret = (Gst.Video.VideoFormat) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_video_format_from_masks(int depth, int bpp, int endianness, uint red_mask, uint green_mask, uint blue_mask, uint alpha_mask);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoFormat VideoFormatFromMasks(int depth, int bpp, int endianness, uint red_mask, uint green_mask, uint blue_mask, uint alpha_mask) {
|
|
|
|
int raw_ret = gst_video_format_from_masks(depth, bpp, endianness, red_mask, green_mask, blue_mask, alpha_mask);
|
|
|
|
Gst.Video.VideoFormat ret = (Gst.Video.VideoFormat) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_video_format_from_string(IntPtr format);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoFormat VideoFormatFromString(string format) {
|
|
|
|
IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
|
|
|
|
int raw_ret = gst_video_format_from_string(native_format);
|
|
|
|
Gst.Video.VideoFormat ret = (Gst.Video.VideoFormat) raw_ret;
|
|
|
|
GLib.Marshaller.Free (native_format);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_format_get_info(int format);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoFormatInfo VideoFormatGetInfo(Gst.Video.VideoFormat format) {
|
|
|
|
IntPtr raw_ret = gst_video_format_get_info((int) format);
|
|
|
|
Gst.Video.VideoFormatInfo ret = Gst.Video.VideoFormatInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_format_get_palette(int format, out UIntPtr size);
|
|
|
|
|
|
|
|
public static IntPtr VideoFormatGetPalette(Gst.Video.VideoFormat format, out ulong size) {
|
|
|
|
UIntPtr native_size;
|
|
|
|
IntPtr raw_ret = gst_video_format_get_palette((int) format, out native_size);
|
|
|
|
IntPtr ret = raw_ret;
|
|
|
|
size = (ulong) native_size;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern uint gst_video_format_to_fourcc(int format);
|
|
|
|
|
|
|
|
public static uint VideoFormatToFourcc(Gst.Video.VideoFormat format) {
|
|
|
|
uint raw_ret = gst_video_format_to_fourcc((int) format);
|
|
|
|
uint ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_format_to_string(int format);
|
|
|
|
|
|
|
|
public static string VideoFormatToString(Gst.Video.VideoFormat format) {
|
|
|
|
IntPtr raw_ret = gst_video_format_to_string((int) format);
|
|
|
|
string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_gl_texture_upload_meta_api_get_type();
|
|
|
|
|
|
|
|
public static GLib.GType VideoGlTextureUploadMetaApiGetType() {
|
|
|
|
IntPtr raw_ret = gst_video_gl_texture_upload_meta_api_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_gl_texture_upload_meta_get_info();
|
|
|
|
|
|
|
|
public static Gst.MetaInfo VideoGlTextureUploadMetaGetInfo() {
|
|
|
|
IntPtr raw_ret = gst_video_gl_texture_upload_meta_get_info();
|
|
|
|
Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_video_guess_framerate(ulong duration, out int dest_n, out int dest_d);
|
|
|
|
|
|
|
|
public static bool VideoGuessFramerate(ulong duration, out int dest_n, out int dest_d) {
|
|
|
|
bool raw_ret = gst_video_guess_framerate(duration, out dest_n, out dest_d);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_video_interlace_mode_from_string(IntPtr mode);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoInterlaceMode VideoInterlaceModeFromString(string mode) {
|
|
|
|
IntPtr native_mode = GLib.Marshaller.StringToPtrGStrdup (mode);
|
|
|
|
int raw_ret = gst_video_interlace_mode_from_string(native_mode);
|
|
|
|
Gst.Video.VideoInterlaceMode ret = (Gst.Video.VideoInterlaceMode) raw_ret;
|
|
|
|
GLib.Marshaller.Free (native_mode);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_interlace_mode_to_string(int mode);
|
|
|
|
|
|
|
|
public static string VideoInterlaceModeToString(Gst.Video.VideoInterlaceMode mode) {
|
|
|
|
IntPtr raw_ret = gst_video_interlace_mode_to_string((int) mode);
|
|
|
|
string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_meta_api_get_type();
|
|
|
|
|
|
|
|
public static GLib.GType VideoMetaApiGetType() {
|
|
|
|
IntPtr raw_ret = gst_video_meta_api_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_meta_get_info();
|
|
|
|
|
|
|
|
public static Gst.MetaInfo VideoMetaGetInfo() {
|
|
|
|
IntPtr raw_ret = gst_video_meta_get_info();
|
|
|
|
Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern uint gst_video_meta_transform_scale_get_quark();
|
|
|
|
|
|
|
|
public static uint VideoMetaTransformScaleGetQuark() {
|
|
|
|
uint raw_ret = gst_video_meta_transform_scale_get_quark();
|
|
|
|
uint ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_multiview_get_doubled_height_modes();
|
|
|
|
|
|
|
|
public static GLib.Value VideoMultiviewGetDoubledHeightModes() {
|
|
|
|
IntPtr raw_ret = gst_video_multiview_get_doubled_height_modes();
|
|
|
|
GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_multiview_get_doubled_size_modes();
|
|
|
|
|
|
|
|
public static GLib.Value VideoMultiviewGetDoubledSizeModes() {
|
|
|
|
IntPtr raw_ret = gst_video_multiview_get_doubled_size_modes();
|
|
|
|
GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_multiview_get_doubled_width_modes();
|
|
|
|
|
|
|
|
public static GLib.Value VideoMultiviewGetDoubledWidthModes() {
|
|
|
|
IntPtr raw_ret = gst_video_multiview_get_doubled_width_modes();
|
|
|
|
GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_multiview_get_mono_modes();
|
|
|
|
|
|
|
|
public static GLib.Value VideoMultiviewGetMonoModes() {
|
|
|
|
IntPtr raw_ret = gst_video_multiview_get_mono_modes();
|
|
|
|
GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_multiview_get_unpacked_modes();
|
|
|
|
|
|
|
|
public static GLib.Value VideoMultiviewGetUnpackedModes() {
|
|
|
|
IntPtr raw_ret = gst_video_multiview_get_unpacked_modes();
|
|
|
|
GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_video_multiview_guess_half_aspect(int mv_mode, uint width, uint height, uint par_n, uint par_d);
|
|
|
|
|
|
|
|
public static bool VideoMultiviewGuessHalfAspect(Gst.Video.VideoMultiviewMode mv_mode, uint width, uint height, uint par_n, uint par_d) {
|
|
|
|
bool raw_ret = gst_video_multiview_guess_half_aspect((int) mv_mode, width, height, par_n, par_d);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_video_multiview_mode_from_caps_string(IntPtr caps_mview_mode);
|
|
|
|
|
|
|
|
public static Gst.Video.VideoMultiviewMode VideoMultiviewModeFromCapsString(string caps_mview_mode) {
|
|
|
|
IntPtr native_caps_mview_mode = GLib.Marshaller.StringToPtrGStrdup (caps_mview_mode);
|
|
|
|
int raw_ret = gst_video_multiview_mode_from_caps_string(native_caps_mview_mode);
|
|
|
|
Gst.Video.VideoMultiviewMode ret = (Gst.Video.VideoMultiviewMode) raw_ret;
|
|
|
|
GLib.Marshaller.Free (native_caps_mview_mode);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_multiview_mode_to_caps_string(int mview_mode);
|
|
|
|
|
|
|
|
public static string VideoMultiviewModeToCapsString(Gst.Video.VideoMultiviewMode mview_mode) {
|
|
|
|
IntPtr raw_ret = gst_video_multiview_mode_to_caps_string((int) mview_mode);
|
|
|
|
string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_video_multiview_video_info_change_mode(IntPtr info, int out_mview_mode, int out_mview_flags);
|
|
|
|
|
|
|
|
public static void VideoMultiviewVideoInfoChangeMode(Gst.Video.VideoInfo info, Gst.Video.VideoMultiviewMode out_mview_mode, Gst.Video.VideoMultiviewFlags out_mview_flags) {
|
|
|
|
gst_video_multiview_video_info_change_mode(info == null ? IntPtr.Zero : info.Handle, (int) out_mview_mode, (int) out_mview_flags);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_overlay_composition_meta_api_get_type();
|
|
|
|
|
|
|
|
public static GLib.GType VideoOverlayCompositionMetaApiGetType() {
|
|
|
|
IntPtr raw_ret = gst_video_overlay_composition_meta_api_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_overlay_composition_meta_get_info();
|
|
|
|
|
|
|
|
public static Gst.MetaInfo VideoOverlayCompositionMetaGetInfo() {
|
|
|
|
IntPtr raw_ret = gst_video_overlay_composition_meta_get_info();
|
|
|
|
Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-03-11 15:28:57 +00:00
|
|
|
static extern bool gst_video_overlay_set_property(IntPtr _object, int last_prop_id, uint property_id, IntPtr value);
|
|
|
|
|
|
|
|
public static bool VideoOverlaySetProperty(GLib.Object _object, int last_prop_id, uint property_id, GLib.Value value) {
|
|
|
|
IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
|
|
|
|
bool raw_ret = gst_video_overlay_set_property(_object == null ? IntPtr.Zero : _object.Handle, last_prop_id, property_id, native_value);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
Marshal.FreeHGlobal (native_value);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_region_of_interest_meta_api_get_type();
|
|
|
|
|
|
|
|
public static GLib.GType VideoRegionOfInterestMetaApiGetType() {
|
|
|
|
IntPtr raw_ret = gst_video_region_of_interest_meta_api_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_region_of_interest_meta_get_info();
|
|
|
|
|
|
|
|
public static Gst.MetaInfo VideoRegionOfInterestMetaGetInfo() {
|
|
|
|
IntPtr raw_ret = gst_video_region_of_interest_meta_get_info();
|
|
|
|
Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern uint gst_video_tile_get_index(int mode, int x, int y, int x_tiles, int y_tiles);
|
|
|
|
|
|
|
|
public static uint VideoTileGetIndex(Gst.Video.VideoTileMode mode, int x, int y, int x_tiles, int y_tiles) {
|
|
|
|
uint raw_ret = gst_video_tile_get_index((int) mode, x, y, x_tiles, y_tiles);
|
|
|
|
uint ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_time_code_meta_api_get_type();
|
|
|
|
|
|
|
|
public static GLib.GType VideoTimeCodeMetaApiGetType() {
|
|
|
|
IntPtr raw_ret = gst_video_time_code_meta_api_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_video_time_code_meta_get_info();
|
|
|
|
|
|
|
|
public static Gst.MetaInfo VideoTimeCodeMetaGetInfo() {
|
|
|
|
IntPtr raw_ret = gst_video_time_code_meta_get_info();
|
|
|
|
Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|