static ffmpeg() { var loadedLibraries = new Dictionary <string, IntPtr>(); GetOrLoadLibrary = name => { if (loadedLibraries.TryGetValue(name, out var ptr)) { return(ptr); } lock (SyncRoot) { if (loadedLibraries.TryGetValue(name, out ptr)) { return(ptr); } ptr = LoadLibrary(name); loadedLibraries.Add(name, ptr); } return(ptr); }; switch (LibraryLoader.GetPlatformId()) { case PlatformID.MacOSX: EAGAIN = 35; break; default: EAGAIN = 11; break; } }
static ffmpeg() { GetOrLoadLibrary = libraryName => LoadLibrary(libraryName, true); switch (LibraryLoader.GetPlatformId()) { case PlatformID.MacOSX: EAGAIN = 35; break; default: EAGAIN = 11; break; } }