/// <summary> /// Helper function to revive the player pipeline after add/remove operations /// </summary> /// <param name="pad"> /// A <see cref="IntPtr"/> referencing the pad that might have been blocked /// </param> /// <param name="blocked"> /// A <see cref="System.Boolean"/> indicating whether the pad was blocked /// </param> /// <param name="new_pad"> /// A <see cref="IntPtr"/> referencing the new (ghost) pad that waits for an event or Zero for removed bins /// </param> public PadProbeReturn AddRemoveBinDone(IntPtr pad, IntPtr probe_info, IntPtr new_pad) { IntPtr segment_event; if (new_pad == IntPtr.Zero) { return(PadProbeReturn.GST_PAD_PROBE_OK); } // send a very unimaginative new segment through the new pad segment_event = Marshaller.CreateSegmentEvent(); new Pad(new_pad).SendEvent(segment_event); return(PadProbeReturn.GST_PAD_PROBE_OK); }