mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 12:10:37 +00:00
8046a36bb4
In daa62493
the Message.ParseTag(out Pad pad, out TagList tags) method
is added and the old one removed, but they can coexist peacefully.
987 lines
34 KiB
Text
987 lines
34 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 (IntPtr msg, out IntPtr tags);
|
|
|
|
public void ParseTag (out TagList tags) {
|
|
if (Type != MessageType.Tag)
|
|
throw new ArgumentException ();
|
|
|
|
IntPtr raw_ptr;
|
|
|
|
gst_message_parse_tag (Handle, out raw_ptr);
|
|
if (raw_ptr == IntPtr.Zero)
|
|
tags = null;
|
|
else
|
|
tags = (TagList) Gst.GLib.Opaque.GetOpaque (raw_ptr, typeof (TagList), true);
|
|
}
|
|
|
|
[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);
|
|
}
|
|
|