private static string[] GetDownloadUrls(NativeEnvironment environment) { switch (environment.OperatingSystem) { case OperatingSystem.Linux: switch (environment.SystemArchitecture) { case Architecture.X64: return new[] { "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/linux/ffmpeg-git-20160215-64bit-static.7z" }; } break; } // No version available return new string[] { }; }
public static FFMpegInstallInfo GetInfo(NativeEnvironment environment) { var info = new FFMpegInstallInfo(); // Windows builds: http://ffmpeg.zeranoe.com/builds/ // Linux builds: http://johnvansickle.com/ffmpeg/ // OS X builds: http://ffmpegmac.net/ // OS X x64: http://www.evermeet.cx/ffmpeg/ switch (environment.OperatingSystem) { case OperatingSystem.Osx: case OperatingSystem.Bsd: break; case OperatingSystem.Linux: info.ArchiveType = "7z"; info.Version = "20160215"; break; } info.DownloadUrls = GetDownloadUrls(environment); return info; }
private static string[] GetDownloadUrls(NativeEnvironment environment) { switch (environment.SystemArchitecture) { case Architecture.X86_X64: return new[] { "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/osx/ffmpeg-x64-2.8.5.7z" }; case Architecture.X86: return new[] { "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/osx/ffmpeg-x86-2.5.3.7z" }; } // No version available return new string[] { }; }
private NativeEnvironment GetEnvironmentInfo() { var info = new NativeEnvironment { OperatingSystem = Startup.Common.OperatingSystem.Linux }; var uname = GetUnixName(); var sysName = uname.sysname ?? string.Empty; if (string.Equals(sysName, "Darwin", StringComparison.OrdinalIgnoreCase)) { info.OperatingSystem = Startup.Common.OperatingSystem.Osx; } else if (string.Equals(sysName, "Linux", StringComparison.OrdinalIgnoreCase)) { info.OperatingSystem = Startup.Common.OperatingSystem.Linux; } else if (string.Equals(sysName, "BSD", StringComparison.OrdinalIgnoreCase)) { info.OperatingSystem = Startup.Common.OperatingSystem.Bsd; } var archX86 = new Regex("(i|I)[3-6]86"); if (archX86.IsMatch(uname.machine)) { info.SystemArchitecture = Architecture.X86; } else if (string.Equals(uname.machine, "x86_64", StringComparison.OrdinalIgnoreCase)) { info.SystemArchitecture = Architecture.X64; } else if (uname.machine.StartsWith("arm", StringComparison.OrdinalIgnoreCase)) { info.SystemArchitecture = Architecture.Arm; } else if (System.Environment.Is64BitOperatingSystem) { info.SystemArchitecture = Architecture.X64; } else { info.SystemArchitecture = Architecture.X86; } info.OperatingSystemVersionString = string.IsNullOrWhiteSpace(sysName) ? System.Environment.OSVersion.VersionString : sysName; return info; }
public static FFMpegInstallInfo GetInfo(NativeEnvironment environment) { var info = new FFMpegInstallInfo(); info.ArchiveType = "7z"; switch (environment.SystemArchitecture) { case Architecture.X86_X64: info.Version = "20160124"; break; case Architecture.X86: info.Version = "20150110"; break; } info.DownloadUrls = GetDownloadUrls(environment); return info; }