public static void Init(Action <LogType, string, string, Exception> onLog) { QueryPerformanceFrequency(out s_performanceFrequency); s_onLog = onLog; s_onLogCallbackFunction = new LogCallbackFunction((s, p, m) => onLog((LogType)s, p, " -" + m.TrimEnd('\n'), null)); StreamerConstants c = new StreamerConstants(); Core_Init(Marshal.GetFunctionPointerForDelegate(s_onLogCallbackFunction), ref c); Const = c; Const2 = new StreamerConstants2(c); ExtensionsManager.Init(); }
public StreamerConstants2(StreamerConstants c) { Yuv420 = new PixelFormatGroup { BlendType = 0, MainFormats = new[] { c.PIX_FMT_YUV420P, c.PIX_FMT_YUVJ420P, c.PIX_FMT_YUVA420P, c.PIX_FMT_NV12, c.PIX_FMT_NV21 }, OverlayFormats = new[] { c.PIX_FMT_YUVA420P } }; Yuv420.ConcatFormats = Yuv420.MainFormats.Union(Yuv420.OverlayFormats).ToArray(); Rgb = new PixelFormatGroup { BlendType = 1, MainFormats = new[] { c.PIX_FMT_BGR24, c.PIX_FMT_RGB24, c.PIX_FMT_ARGB, c.PIX_FMT_RGBA, c.PIX_FMT_ABGR, c.PIX_FMT_BGRA }, OverlayFormats = new[] { c.PIX_FMT_ARGB, c.PIX_FMT_RGBA, c.PIX_FMT_ABGR, c.PIX_FMT_BGRA } }; Rgb.ConcatFormats = Rgb.MainFormats.Union(Rgb.OverlayFormats).ToArray(); }
private static extern void Core_Init(IntPtr logCallbackFunction, ref StreamerConstants streamerConstants);