public static void ParseRecordToggled(Gst.Message message, out Gst.Interfaces.MixerTrack track, out bool record) { IntPtr native_ptr; gst_mixer_message_parse_record_toggled(message == null ? IntPtr.Zero : message.Handle, out native_ptr, out record); track = (MixerTrack)GLib.Object.GetObject(native_ptr, false); }
public static void ParseVolumeChanged(Gst.Message message, out Gst.Interfaces.MixerTrack track, out int[] volumes) { IntPtr native_track; IntPtr native_volumes; int n_native_volumes; gst_mixer_message_parse_volume_changed(message == null ? IntPtr.Zero : message.Handle, out native_track, out native_volumes, out n_native_volumes); track = (MixerTrack)GLib.Object.GetObject(native_track, false); volumes = new int[n_native_volumes]; for (int i = 0; i < n_native_volumes; i++) { volumes[i] = Marshal.ReadInt32(native_volumes, i * 4); } GLib.Marshaller.Free(native_volumes); }