mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 12:10:37 +00:00
971 lines
33 KiB
Text
971 lines
33 KiB
Text
public Message (Gst.GLib.Value val) : base (val) { }
|
|
|
|
[DllImport ("gstreamersharpglue-0.10.dll") ]
|
|
extern static uint gstsharp_gst_message_get_timestamp_offset ();
|
|
|
|
static uint timestamp_offset = gstsharp_gst_message_get_timestamp_offset ();
|
|
public ulong Timestamp {
|
|
get {
|
|
unsafe {
|
|
ulong* raw_ptr = (ulong*) ( ( (byte*) Handle) + timestamp_offset);
|
|
return (*raw_ptr);
|
|
}
|
|
} set {
|
|
if (!IsWritable)
|
|
throw new ApplicationException ();
|
|
|
|
unsafe {
|
|
ulong* raw_ptr = (ulong*) ( ( (byte*) Handle) + timestamp_offset);
|
|
*raw_ptr = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
[DllImport ("gstreamersharpglue-0.10.dll") ]
|
|
extern static uint gstsharp_gst_message_get_src_offset ();
|
|
|
|
[DllImport ("libgobject-2.0-0.dll") ]
|
|
extern static IntPtr g_object_ref (IntPtr handle);
|
|
|
|
[DllImport ("libgobject-2.0-0.dll") ]
|
|
extern static void g_object_unref (IntPtr handle);
|
|
|
|
static uint src_offset = gstsharp_gst_message_get_src_offset ();
|
|
public Gst.Object Src {
|
|
get {
|
|
unsafe {
|
|
IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + src_offset);
|
|
return Gst.GLib.Object.GetObject ( (*raw_ptr)) as Gst.Object;
|
|
}
|
|
} set {
|
|
if (!IsWritable)
|
|
throw new ApplicationException ();
|
|
|
|
if (Src != null)
|
|
g_object_unref (Src.Handle);
|
|
|
|
unsafe {
|
|
IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + src_offset);
|
|
*raw_ptr = value == null ? IntPtr.Zero : g_object_ref (value.Handle);
|
|
}
|
|
}
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern uint gst_message_get_seqnum (IntPtr raw);
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_set_seqnum (IntPtr raw, uint seqnum);
|
|
|
|
public uint Seqnum {
|
|
get {
|
|
uint raw_ret = gst_message_get_seqnum (Handle);
|
|
uint ret = raw_ret;
|
|
return ret;
|
|
} set {
|
|
if (!IsWritable)
|
|
throw new ApplicationException ();
|
|
|
|
gst_message_set_seqnum (Handle, value);
|
|
}
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_get_stream_status_object (IntPtr raw);
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_set_stream_status_object (IntPtr raw, ref Gst.GLib.Value o);
|
|
|
|
public GLib.Value StreamStatusObject {
|
|
get {
|
|
IntPtr raw_ret = gst_message_get_stream_status_object (Handle);
|
|
GLib.Value ret = (Gst.GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (Gst.GLib.Value));
|
|
return ret;
|
|
} set {
|
|
if (!IsWritable)
|
|
throw new ApplicationException ();
|
|
|
|
gst_message_set_stream_status_object (Handle, ref value);
|
|
}
|
|
}
|
|
|
|
private Gst.Structure cached_structure = null;
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_get_structure (IntPtr raw);
|
|
|
|
public Gst.Structure Structure {
|
|
get {
|
|
if (cached_structure != null)
|
|
return cached_structure;
|
|
|
|
IntPtr raw_ret = gst_message_get_structure (Handle);
|
|
Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) Gst.GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
|
|
if (ret != null)
|
|
ret.FreeNative = false;
|
|
cached_structure = ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
~Message () {
|
|
if (cached_structure != null)
|
|
cached_structure.CreateNativeCopy ();
|
|
cached_structure = null;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_eos (IntPtr src);
|
|
|
|
public static Message NewEos (Gst.Object src) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_eos (src.Handle), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_error_get_message (uint domain, int code);
|
|
|
|
static string GetMessage (uint domain, int code) {
|
|
IntPtr raw_ret = gst_error_get_message (domain, code);
|
|
if (raw_ret == IntPtr.Zero)
|
|
return null;
|
|
|
|
return Gst.GLib.Marshaller.PtrToStringGFree (raw_ret);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern uint gst_core_error_quark ();
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern uint gst_library_error_quark ();
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern uint gst_stream_error_quark ();
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern uint gst_resource_error_quark ();
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_error (IntPtr src, ref Gst.GError error, IntPtr debug);
|
|
|
|
public static Message NewError (Gst.Object src, Gst.CoreError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_core_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_error (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewError (Gst.Object src, Gst.CoreError error, string message) {
|
|
return NewError (src, error, message, null);
|
|
}
|
|
public static Message NewError (Gst.Object src, Gst.CoreError error) {
|
|
return NewError (src, error, null, null);
|
|
}
|
|
|
|
public static Message NewError (Gst.Object src, Gst.StreamError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_stream_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_error (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewError (Gst.Object src, Gst.StreamError error, string message) {
|
|
return NewError (src, error, message, null);
|
|
}
|
|
public static Message NewError (Gst.Object src, Gst.StreamError error) {
|
|
return NewError (src, error, null, null);
|
|
}
|
|
|
|
public static Message NewError (Gst.Object src, Gst.LibraryError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_library_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_error (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
public static Message NewError (Gst.Object src, Gst.LibraryError error, string message) {
|
|
return NewError (src, error, message, null);
|
|
}
|
|
public static Message NewError (Gst.Object src, Gst.LibraryError error) {
|
|
return NewError (src, error, null, null);
|
|
}
|
|
|
|
public static Message NewError (Gst.Object src, Gst.ResourceError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_resource_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_error (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewError (Gst.Object src, Gst.ResourceError error, string message) {
|
|
return NewError (src, error, message, null);
|
|
}
|
|
public static Message NewError (Gst.Object src, Gst.ResourceError error) {
|
|
return NewError (src, error, null, null);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_error (IntPtr msg, out IntPtr err, out IntPtr debug);
|
|
|
|
public void ParseError (out Enum error, out string message, out string debug) {
|
|
if (Type != MessageType.Error)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr err;
|
|
IntPtr dbg;
|
|
|
|
gst_message_parse_error (Handle, out err, out dbg);
|
|
|
|
if (dbg != IntPtr.Zero)
|
|
debug = Gst.GLib.Marshaller.Utf8PtrToString (dbg);
|
|
else
|
|
debug = null;
|
|
|
|
if (err == IntPtr.Zero)
|
|
throw new Exception ();
|
|
|
|
GError gerror = (Gst.GError) Marshal.PtrToStructure (err, typeof (Gst.GError));
|
|
|
|
message = gerror.Message;
|
|
|
|
if (gerror.Domain == gst_core_error_quark ())
|
|
error = (Gst.CoreError) gerror.Code;
|
|
else if (gerror.Domain == gst_library_error_quark ())
|
|
error = (Gst.LibraryError) gerror.Code;
|
|
else if (gerror.Domain == gst_resource_error_quark ())
|
|
error = (Gst.ResourceError) gerror.Code;
|
|
else if (gerror.Domain == gst_stream_error_quark ())
|
|
error = (Gst.StreamError) gerror.Code;
|
|
else
|
|
error = null;
|
|
}
|
|
|
|
public void ParseError (out Enum error, out string message) {
|
|
string tmp;
|
|
|
|
ParseError (out error, out message, out tmp);
|
|
}
|
|
|
|
public void ParseError (out Enum error) {
|
|
string tmp, tmp2;
|
|
|
|
ParseError (out error, out tmp, out tmp2);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_warning (IntPtr src, ref Gst.GError error, IntPtr debug);
|
|
|
|
public static Message NewWarning (Gst.Object src, Gst.CoreError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_core_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_warning (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewWarning (Gst.Object src, Gst.CoreError error, string message) {
|
|
return NewWarning (src, error, message, null);
|
|
}
|
|
public static Message NewWarning (Gst.Object src, Gst.CoreError error) {
|
|
return NewWarning (src, error, null, null);
|
|
}
|
|
|
|
public static Message NewWarning (Gst.Object src, Gst.StreamError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_stream_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_warning (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewWarning (Gst.Object src, Gst.StreamError error, string message) {
|
|
return NewWarning (src, error, message, null);
|
|
}
|
|
public static Message NewWarning (Gst.Object src, Gst.StreamError error) {
|
|
return NewWarning (src, error, null, null);
|
|
}
|
|
|
|
public static Message NewWarning (Gst.Object src, Gst.LibraryError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_library_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_warning (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewWarning (Gst.Object src, Gst.LibraryError error, string message) {
|
|
return NewWarning (src, error, message, null);
|
|
}
|
|
public static Message NewWarning (Gst.Object src, Gst.LibraryError error) {
|
|
return NewWarning (src, error, null, null);
|
|
}
|
|
|
|
public static Message NewWarning (Gst.Object src, Gst.ResourceError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_resource_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_warning (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewWarning (Gst.Object src, Gst.ResourceError error, string message) {
|
|
return NewWarning (src, error, message, null);
|
|
}
|
|
public static Message NewWarning (Gst.Object src, Gst.ResourceError error) {
|
|
return NewWarning (src, error, null, null);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_warning (IntPtr msg, out IntPtr err, out IntPtr debug);
|
|
|
|
public void ParseWarning (out Enum error, out string message, out string debug) {
|
|
if (Type != MessageType.Warning)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr err;
|
|
IntPtr dbg;
|
|
|
|
gst_message_parse_warning (Handle, out err, out dbg);
|
|
|
|
if (dbg != IntPtr.Zero)
|
|
debug = Gst.GLib.Marshaller.Utf8PtrToString (dbg);
|
|
else
|
|
debug = null;
|
|
|
|
if (err == IntPtr.Zero)
|
|
throw new Exception ();
|
|
|
|
GError gerror = (Gst.GError) Marshal.PtrToStructure (err, typeof (Gst.GError));
|
|
|
|
message = gerror.Message;
|
|
|
|
if (gerror.Domain == gst_core_error_quark ())
|
|
error = (Gst.CoreError) gerror.Code;
|
|
else if (gerror.Domain == gst_library_error_quark ())
|
|
error = (Gst.LibraryError) gerror.Code;
|
|
else if (gerror.Domain == gst_resource_error_quark ())
|
|
error = (Gst.ResourceError) gerror.Code;
|
|
else if (gerror.Domain == gst_stream_error_quark ())
|
|
error = (Gst.StreamError) gerror.Code;
|
|
else
|
|
error = null;
|
|
}
|
|
|
|
public void ParseWarning (out Enum error, out string message) {
|
|
string tmp;
|
|
|
|
ParseWarning (out error, out message, out tmp);
|
|
}
|
|
|
|
public void ParseWarning (out Enum error) {
|
|
string tmp, tmp2;
|
|
|
|
ParseWarning (out error, out tmp, out tmp2);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_info (IntPtr src, ref Gst.GError error, IntPtr debug);
|
|
|
|
public static Message NewInfo (Gst.Object src, Gst.CoreError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_core_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_info (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewInfo (Gst.Object src, Gst.CoreError error, string message) {
|
|
return NewInfo (src, error, message, null);
|
|
}
|
|
public static Message NewInfo (Gst.Object src, Gst.CoreError error) {
|
|
return NewInfo (src, error, null, null);
|
|
}
|
|
|
|
public static Message NewInfo (Gst.Object src, Gst.StreamError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_stream_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_info (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewInfo (Gst.Object src, Gst.StreamError error, string message) {
|
|
return NewInfo (src, error, message, null);
|
|
}
|
|
public static Message NewInfo (Gst.Object src, Gst.StreamError error) {
|
|
return NewInfo (src, error, null, null);
|
|
}
|
|
|
|
public static Message NewInfo (Gst.Object src, Gst.LibraryError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_library_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_info (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewInfo (Gst.Object src, Gst.LibraryError error, string message) {
|
|
return NewInfo (src, error, message, null);
|
|
}
|
|
public static Message NewInfo (Gst.Object src, Gst.LibraryError error) {
|
|
return NewInfo (src, error, null, null);
|
|
}
|
|
|
|
public static Message NewInfo (Gst.Object src, Gst.ResourceError error, string message, string debug) {
|
|
Gst.GError err = new Gst.GError ();
|
|
err.Code = (int) error;
|
|
err.Domain = gst_resource_error_quark ();
|
|
err.Message = (message != null) ? message : GetMessage (err.Domain, err.Code);
|
|
|
|
IntPtr raw_ptr = (debug == null) ? IntPtr.Zero : Gst.GLib.Marshaller.StringToPtrGStrdup (debug);
|
|
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_info (src.Handle, ref err, raw_ptr), true);
|
|
|
|
Gst.GLib.Marshaller.Free (raw_ptr);
|
|
err.Unset ();
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewInfo (Gst.Object src, Gst.ResourceError error, string message) {
|
|
return NewInfo (src, error, message, null);
|
|
}
|
|
public static Message NewInfo (Gst.Object src, Gst.ResourceError error) {
|
|
return NewInfo (src, error, null, null);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_info (IntPtr msg, out IntPtr err, out IntPtr debug);
|
|
|
|
public void ParseInfo (out Enum error, out string message, out string debug) {
|
|
if (Type != MessageType.Info)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr err;
|
|
IntPtr dbg;
|
|
|
|
gst_message_parse_info (Handle, out err, out dbg);
|
|
|
|
if (dbg != IntPtr.Zero)
|
|
debug = Gst.GLib.Marshaller.Utf8PtrToString (dbg);
|
|
else
|
|
debug = null;
|
|
|
|
if (err == IntPtr.Zero)
|
|
throw new Exception ();
|
|
|
|
GError gerror = (Gst.GError) Marshal.PtrToStructure (err, typeof (Gst.GError));
|
|
|
|
message = gerror.Message;
|
|
|
|
if (gerror.Domain == gst_core_error_quark ())
|
|
error = (Gst.CoreError) gerror.Code;
|
|
else if (gerror.Domain == gst_library_error_quark ())
|
|
error = (Gst.LibraryError) gerror.Code;
|
|
else if (gerror.Domain == gst_resource_error_quark ())
|
|
error = (Gst.ResourceError) gerror.Code;
|
|
else if (gerror.Domain == gst_stream_error_quark ())
|
|
error = (Gst.StreamError) gerror.Code;
|
|
else
|
|
error = null;
|
|
}
|
|
|
|
public void ParseInfo (out Enum error, out string message) {
|
|
string tmp;
|
|
|
|
ParseInfo (out error, out message, out tmp);
|
|
}
|
|
|
|
public void ParseInfo (out Enum error) {
|
|
string tmp, tmp2;
|
|
|
|
ParseInfo (out error, out tmp, out tmp2);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_tag (IntPtr src, IntPtr tags);
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_tag_full (IntPtr src, IntPtr pad, IntPtr tags);
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_tag_list_copy (IntPtr handle);
|
|
|
|
public static Message NewTag (Gst.Object src, TagList tags) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_tag (src.Handle, gst_tag_list_copy (tags.Handle)), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
public static Message NewTag (Gst.Object src, Gst.Pad pad, TagList tags) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_tag_full (src.Handle, pad.Handle, gst_tag_list_copy (tags.Handle)), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_tag_full (IntPtr msg, out IntPtr pad, out IntPtr tags);
|
|
|
|
public void ParseTag (out Gst.Pad pad, out TagList tags) {
|
|
if (Type != MessageType.Tag)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr raw_ptr;
|
|
IntPtr raw_ptr2;
|
|
|
|
gst_message_parse_tag_full (Handle, out raw_ptr2, out raw_ptr);
|
|
if (raw_ptr == IntPtr.Zero)
|
|
tags = null;
|
|
else
|
|
tags = (TagList) Gst.GLib.Opaque.GetOpaque (raw_ptr, typeof (TagList), true);
|
|
if (raw_ptr2 == IntPtr.Zero)
|
|
pad = null;
|
|
else
|
|
pad = (Gst.Pad) Gst.GLib.Object.GetObject (raw_ptr2, true);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_buffering (IntPtr src, int percent);
|
|
|
|
public static Message NewBuffering (Gst.Object src, int percent) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_buffering (src.Handle, percent), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_buffering (IntPtr msg, out int percent);
|
|
|
|
public void ParseBuffering (out int percent) {
|
|
if (Type != MessageType.Buffering)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_buffering (Handle, out percent);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_set_buffering_stats (IntPtr msg, Gst.BufferingMode mode, int avg_in, int avg_out, long buffering_left);
|
|
|
|
public void SetBufferingStats (Gst.BufferingMode mode, int avg_in, int avg_out, long buffering_left) {
|
|
if (Type != MessageType.Buffering)
|
|
throw new ArgumentException ();
|
|
if (!IsWritable)
|
|
throw new ApplicationException ();
|
|
|
|
gst_message_set_buffering_stats (Handle, mode, avg_in, avg_out, buffering_left);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_buffering_stats (IntPtr msg, out Gst.BufferingMode mode, out int avg_in, out int avg_out, out long buffering_left);
|
|
|
|
public void ParseBufferingStats (out Gst.BufferingMode mode, out int avg_in, out int avg_out, out long buffering_left) {
|
|
if (Type != MessageType.Buffering)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_buffering_stats (Handle, out mode, out avg_in, out avg_out, out buffering_left);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_state_changed (IntPtr src, State oldstate, State newstate, State pendingstate);
|
|
|
|
public static Message NewStateChanged (Gst.Object src, State oldstate, State newstate, State pendingstate) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_state_changed (src.Handle, oldstate, newstate, pendingstate), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_state_changed (IntPtr msg, out State oldstate, out State newstate, out State pendingstate);
|
|
|
|
public void ParseStateChanged (out State oldstate, out State newstate, out State pendingstate) {
|
|
if (Type != MessageType.StateChanged)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_state_changed (Handle, out oldstate, out newstate, out pendingstate);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_state_dirty (IntPtr src);
|
|
|
|
public static Message NewStateDirty (Gst.Object src) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_state_dirty (src.Handle), true);
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_clock_provide (IntPtr src, IntPtr clock, bool ready);
|
|
|
|
public static Message NewClockProvide (Gst.Object src, Gst.Clock clock, bool ready) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_clock_provide (src.Handle, clock.Handle, ready), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_clock_provide (IntPtr msg, out IntPtr clock, out bool ready);
|
|
|
|
public void ParseClockProvide (out Gst.Clock clock, out bool ready) {
|
|
if (Type != MessageType.ClockProvide)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr raw;
|
|
|
|
gst_message_parse_clock_provide (Handle, out raw, out ready);
|
|
|
|
clock = Gst.GLib.Object.GetObject (raw, false) as Gst.Clock;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_clock_lost (IntPtr src, IntPtr clock);
|
|
|
|
public static Message NewClockLost (Gst.Object src, Gst.Clock clock) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_clock_lost (src.Handle, clock.Handle), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_clock_lost (IntPtr msg, out IntPtr clock);
|
|
|
|
public void ParseClockLost (out Gst.Clock clock) {
|
|
if (Type != MessageType.ClockLost)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr raw;
|
|
|
|
gst_message_parse_clock_lost (Handle, out raw);
|
|
|
|
clock = Gst.GLib.Object.GetObject (raw, true) as Gst.Clock;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_new_clock (IntPtr src, IntPtr clock);
|
|
|
|
public static Message NewNewClock (Gst.Object src, Gst.Clock clock) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_new_clock (src.Handle, clock.Handle), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_new_clock (IntPtr msg, out IntPtr clock);
|
|
|
|
public void ParseNewClock (out Gst.Clock clock) {
|
|
if (Type != MessageType.NewClock)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr raw;
|
|
|
|
gst_message_parse_new_clock (Handle, out raw);
|
|
|
|
clock = Gst.GLib.Object.GetObject (raw, true) as Gst.Clock;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_application (IntPtr src, IntPtr structure);
|
|
|
|
public static Message NewApplication (Gst.Object src, Gst.Structure structure) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_application (src.Handle, (structure != null) ? structure.Handle : IntPtr.Zero), true);
|
|
msg.cached_structure = structure;
|
|
structure.FreeNative = false;
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_element (IntPtr src, IntPtr structure);
|
|
|
|
public static Message NewElement (Gst.Object src, Gst.Structure structure) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_element (src.Handle, (structure != null) ? structure.Handle : IntPtr.Zero), true);
|
|
msg.cached_structure = structure;
|
|
structure.FreeNative = false;
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_custom (Gst.MessageType type, IntPtr src, IntPtr structure);
|
|
|
|
public static Message NewCustom (Gst.MessageType type, Gst.Object src, Gst.Structure structure) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_custom (type, src.Handle, (structure != null) ? structure.Handle : IntPtr.Zero), true);
|
|
msg.cached_structure = structure;
|
|
structure.FreeNative = false;
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_segment_start (IntPtr src, Gst.Format format, long position);
|
|
|
|
public static Message NewSegmentStart (Gst.Object src, Gst.Format format, long position) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_segment_start (src.Handle, format, position), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_segment_start (IntPtr msg, out Gst.Format format, out long position);
|
|
|
|
public void ParseSegmentStart (out Gst.Format format, out long position) {
|
|
if (Type != MessageType.SegmentStart)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_segment_start (Handle, out format, out position);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_segment_done (IntPtr src, Gst.Format format, long position);
|
|
|
|
public static Message NewSegmentDone (Gst.Object src, Gst.Format format, long position) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_segment_done (src.Handle, format, position), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_segment_done (IntPtr msg, out Gst.Format format, out long position);
|
|
|
|
public void ParseSegmentDone (out Gst.Format format, out long position) {
|
|
if (Type != MessageType.SegmentDone)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_segment_done (Handle, out format, out position);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_duration (IntPtr src, Gst.Format format, long duration);
|
|
|
|
public static Message NewDuration (Gst.Object src, Gst.Format format, long duration) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_duration (src.Handle, format, duration), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_duration (IntPtr msg, out Gst.Format format, out long duration);
|
|
|
|
public void ParseDuration (out Gst.Format format, out long duration) {
|
|
if (Type != MessageType.Duration)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_duration (Handle, out format, out duration);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_latency (IntPtr src);
|
|
|
|
public static Message NewLatency (Gst.Object src) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_latency (src.Handle), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_async_start (IntPtr src, bool new_base_time);
|
|
|
|
public static Message NewAsyncStart (Gst.Object src, bool new_base_time) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_async_start (src.Handle, new_base_time), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_async_start (IntPtr msg, out bool new_base_time);
|
|
|
|
public void ParseAsyncStart (out bool new_base_time) {
|
|
if (Type != MessageType.AsyncStart)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_async_start (Handle, out new_base_time);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_async_done (IntPtr src);
|
|
|
|
public static Message NewAsyncDone (Gst.Object src) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_async_done (src.Handle), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_structure_change (IntPtr src, StructureChangeType type, IntPtr owner, bool busy);
|
|
|
|
public static Message NewStructureChange (Gst.Object src, StructureChangeType type, Gst.Element owner, bool busy) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_structure_change (src.Handle, type, owner.Handle, busy), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_structure_change (IntPtr msg, out StructureChangeType type, out IntPtr owner, out bool busy);
|
|
|
|
public void ParseStructureChange (out StructureChangeType type, out Gst.Element owner, out bool busy) {
|
|
if (Type != MessageType.StructureChange)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr raw_ptr;
|
|
|
|
gst_message_parse_structure_change (Handle, out type, out raw_ptr, out busy);
|
|
owner = Gst.GLib.Object.GetObject (raw_ptr, false) as Gst.Element;
|
|
}
|
|
|
|
static Message () {
|
|
Gst.GLib.GType.Register (Message.GType, typeof (Message));
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_step_done (IntPtr src, Gst.Format format, ulong amount, double rate, bool flush, bool intermediate, ulong duration, bool eos);
|
|
|
|
public static Message NewStepDone (Gst.Object src, Gst.Format format, ulong amount, double rate, bool flush, bool intermediate, ulong duration, bool eos) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_step_done (src.Handle, format, amount, rate, flush, intermediate, duration, eos), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_step_done (IntPtr msg, out Gst.Format format, out ulong amount, out double rate, out bool flush, out bool intermediate, out ulong duration, out bool eos);
|
|
|
|
public void ParseStepDone (out Gst.Format format, out ulong amount, out double rate, out bool flush, out bool intermediate, out ulong duration, out bool eos) {
|
|
if (Type != MessageType.StepDone)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_step_done (Handle, out format, out amount, out rate, out flush, out intermediate, out duration, out eos);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_step_start (IntPtr src, bool active, Gst.Format format, ulong amount, double rate, bool flush, bool intermediate);
|
|
|
|
public static Message NewStepDone (Gst.Object src, bool active, Gst.Format format, ulong amount, double rate, bool flush, bool intermediate) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_step_start (src.Handle, active, format, amount, rate, flush, intermediate), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_step_start (IntPtr msg, out bool active, out Gst.Format format, out ulong amount, out double rate, out bool flush, out bool intermediate);
|
|
|
|
public void ParseStepStart (out bool active, out Gst.Format format, out ulong amount, out double rate, out bool flush, out bool intermediate) {
|
|
if (Type != MessageType.StepStart)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_step_start (Handle, out active, out format, out amount, out rate, out flush, out intermediate);
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_stream_status (IntPtr src, StreamStatusType type, IntPtr owner);
|
|
|
|
public static Message NewStreamStatus (Gst.Object src, StreamStatusType type, Gst.Element owner) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_stream_status (src.Handle, type, owner.Handle), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_stream_status (IntPtr msg, out StreamStatusType type, out IntPtr owner);
|
|
|
|
public void ParseStreamStatus (out StreamStatusType type, out Gst.Element owner) {
|
|
if (Type != MessageType.StreamStatus)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr raw_ptr;
|
|
|
|
gst_message_parse_stream_status (Handle, out type, out raw_ptr);
|
|
owner = Gst.GLib.Object.GetObject (raw_ptr, false) as Gst.Element;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_message_new_request_state (IntPtr src, Gst.State state);
|
|
|
|
public static Message NewRequestState (Gst.Object src, Gst.State state) {
|
|
Message msg = (Message) Gst.MiniObject.GetObject (gst_message_new_request_state (src.Handle, state), true);
|
|
|
|
return msg;
|
|
}
|
|
|
|
[DllImport ("libgstreamer-0.10.dll") ]
|
|
static extern void gst_message_parse_request_state (IntPtr msg, out Gst.State state);
|
|
|
|
public void ParseRequestState (out Gst.State state) {
|
|
if (Type != MessageType.RequestState)
|
|
throw new ArgumentException ();
|
|
|
|
gst_message_parse_request_state (Handle, out state);
|
|
}
|
|
|