예제 #1
0
        public static Gst.Message NewMissingUriSource(Gst.Object src, string protocol)
        {
            IntPtr  native_str = GLib.Marshaller.StringToPtrGStrdup(protocol);
            Message msg        = (Message)Gst.MiniObject.GetObject(gst_missing_uri_source_message_new(src.Handle, native_str), true);

            GLib.Marshaller.Free(native_str);
            return(msg);
        }
예제 #2
0
        public static Gst.Message NewMissingElement(Gst.Object src, string factory)
        {
            IntPtr  native_str = GLib.Marshaller.StringToPtrGStrdup(factory);
            Message msg        = (Message)Gst.MiniObject.GetObject(gst_missing_element_message_new(src.Handle, native_str), true);

            GLib.Marshaller.Free(native_str);
            return(msg);
        }
예제 #3
0
 public void SetEqualizerGain(uint band, double value)
 {
     if (equalizer != null)
     {
         if (band >= GetNBands())
         {
             throw new ArgumentOutOfRangeException("band", "Attempt to set out-of-range equalizer band");
         }
         Gst.Object the_band = ChildProxyAdapter.GetObject(equalizer).GetChildByIndex(band);
         the_band ["gain"] = value;
     }
 }
예제 #4
0
        FlowReturn Chain(Pad pad, Gst.Object parent, Gst.Buffer buffer)
        {
            if (Volume == 1.0)
            {
                return(_src.Push(buffer));
            }

            buffer.MakeWritable();

            MapInfo mapInfo;

            buffer.Map(out mapInfo, MapFlags.Read | MapFlags.Write);

            ScaleInt16(mapInfo.DataPtr, mapInfo.Size / 2, Volume);

            buffer.Unmap(mapInfo);

            return(_src.Push(buffer));
        }
예제 #5
0
        public static Gst.Message NewMissingEncoder(Gst.Object src, Gst.Caps caps)
        {
            Message msg = (Message)Gst.MiniObject.GetObject(gst_missing_encoder_message_new(src.Handle, caps.Handle), true);

            return(msg);
        }
        public static Gst.Message NewCommandsChanged(Gst.Object src)
        {
            Message msg = (Message)Gst.MiniObject.GetObject(gst_navigation_message_new_commands_changed(src.Handle), true);

            return(msg);
        }
        public static Gst.Message NewAnglesChanged(Gst.Object src, uint cur_angle, uint n_angles)
        {
            Message msg = (Message)Gst.MiniObject.GetObject(gst_navigation_message_new_angles_changed(src.Handle, cur_angle, n_angles), true);

            return(msg);
        }
        public static Gst.Message NewMouseOver(Gst.Object src, bool active)
        {
            Message msg = (Message)Gst.MiniObject.GetObject(gst_navigation_message_new_mouse_over(src.Handle, active), true);

            return(msg);
        }
예제 #9
0
 private void DeepElementRemoved(object o, DeepElementRemovedArgs args)
 {
     Gst.Object obj = args.Args[1] as Gst.Object;
     obj.Dispose();
     obj = null;
 }