Supporters update.
[dcpomatic.git] / src / lib / cross.cc
diff --git a/src/lib/cross.cc b/src/lib/cross.cc
deleted file mode 100644 (file)
index ff0d9f7..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-#include <fstream>
-#include <boost/algorithm/string.hpp>
-#include "cross.h"
-#include "compose.hpp"
-#include "log.h"
-#ifdef DVDOMATIC_POSIX
-#include <unistd.h>
-#endif
-#ifdef DVDOMATIC_WINDOWS
-#include <windows.h>
-#undef DATADIR
-#include <shlwapi.h>
-#endif
-#ifdef DVDOMATIC_OSX
-#include <sys/sysctl.h>
-#endif
-
-using std::pair;
-using std::ifstream;
-using std::string;
-using boost::shared_ptr;
-
-void
-dvdomatic_sleep (int s)
-{
-#ifdef DVDOMATIC_POSIX
-       sleep (s);
-#endif
-#ifdef DVDOMATIC_WINDOWS
-       Sleep (s * 1000);
-#endif
-}
-
-/** @return A pair containing CPU model name and the number of processors */
-pair<string, int>
-cpu_info ()
-{
-       pair<string, int> info;
-       info.second = 0;
-       
-#ifdef DVDOMATIC_LINUX
-       ifstream f ("/proc/cpuinfo");
-       while (f.good ()) {
-               string l;
-               getline (f, l);
-               if (boost::algorithm::starts_with (l, "model name")) {
-                       string::size_type const c = l.find (':');
-                       if (c != string::npos) {
-                               info.first = l.substr (c + 2);
-                       }
-               } else if (boost::algorithm::starts_with (l, "processor")) {
-                       ++info.second;
-               }
-       }
-#endif
-
-#ifdef DVDOMATIC_OSX
-       size_t N = sizeof (info.second);
-       sysctlbyname ("hw.ncpu", &info.second, &N, 0, 0);
-       char buffer[64];
-       N = sizeof (buffer);
-       if (sysctlbyname ("machdep.cpu.brand_string", buffer, &N, 0, 0) == 0) {
-               info.first = buffer;
-        }
-#endif         
-
-       return info;
-}
-
-void
-run_ffprobe (boost::filesystem::path content, boost::filesystem::path out, shared_ptr<Log> log)
-{
-#ifdef DVDOMATIC_WINDOWS
-       SECURITY_ATTRIBUTES security;
-       security.nLength = sizeof (security);
-       security.bInheritHandle = TRUE;
-       security.lpSecurityDescriptor = 0;
-
-       HANDLE child_stderr_read;
-       HANDLE child_stderr_write;
-       if (!CreatePipe (&child_stderr_read, &child_stderr_write, &security, 0)) {
-               log->log ("ffprobe call failed (could not CreatePipe)");
-               return;
-       }
-
-       wchar_t dir[512];
-       GetModuleFileName (GetModuleHandle (0), dir, sizeof (dir));
-       PathRemoveFileSpec (dir);
-       SetCurrentDirectory (dir);
-
-       STARTUPINFO startup_info;
-       ZeroMemory (&startup_info, sizeof (startup_info));
-       startup_info.cb = sizeof (startup_info);
-       startup_info.hStdError = child_stderr_write;
-       startup_info.dwFlags |= STARTF_USESTDHANDLES;
-
-       wchar_t command[512];
-       wcscpy (command, L"ffprobe.exe ");
-
-       wchar_t file[512];
-       MultiByteToWideChar (CP_UTF8, 0, content.string().c_str(), -1, file, sizeof(file));
-       wcscat (command, file);
-
-       PROCESS_INFORMATION process_info;
-       ZeroMemory (&process_info, sizeof (process_info));
-       if (!CreateProcess (0, command, 0, 0, TRUE, CREATE_NO_WINDOW, 0, 0, &startup_info, &process_info)) {
-               log->log ("ffprobe call failed (could not CreateProcess)");
-               return;
-       }
-
-       FILE* o = fopen (out.string().c_str(), "w");
-       if (!o) {
-               log->log ("ffprobe call failed (could not create output file)");
-               return;
-       }
-
-       CloseHandle (child_stderr_write);
-
-       while (1) {
-               char buffer[512];
-               DWORD read;
-               if (!ReadFile(child_stderr_read, buffer, sizeof(buffer), &read, 0) || read == 0) {
-                       break;
-               }
-               fwrite (buffer, read, 1, o);
-       }
-
-       fclose (o);
-
-       WaitForSingleObject (process_info.hProcess, INFINITE);
-       CloseHandle (process_info.hProcess);
-       CloseHandle (process_info.hThread);
-       CloseHandle (child_stderr_read);
-#else
-       string ffprobe = "ffprobe \"" + content.string() + "\" 2> \"" + out.string() + "\"";
-       log->log (String::compose ("Probing with %1", ffprobe));
-       system (ffprobe.c_str ());
-#endif 
-}