Пример #1
0
        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;
            }
        }
Пример #2
0
        static ffmpeg()
        {
            GetOrLoadLibrary = libraryName => LoadLibrary(libraryName, true);

            switch (LibraryLoader.GetPlatformId())
            {
            case PlatformID.MacOSX:
                EAGAIN = 35;
                break;

            default:
                EAGAIN = 11;
                break;
            }
        }