Ejemplo n.º 1
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);
        }