Example #1
0
UINT CALLBACK LogThread(void* param)
{
  TCHAR fileName[MAX_PATH];
  LogPath(fileName, _T("log"));
  while ( m_bLoggerRunning || (m_logQueue.size() > 0) ) 
  {
    if ( m_logQueue.size() > 0 ) 
    {
      SYSTEMTIME systemTime;
      GetLocalTime(&systemTime);
			WIN32_FILE_ATTRIBUTE_DATA fileInformation;

			GetFileAttributesEx(fileName, GetFileExInfoStandard, &fileInformation);

      if(logFileParsed != systemTime.wDay || fileInformation.nFileSizeLow > 10485760)
      {
        LogRotate();
        logFileParsed=systemTime.wDay;
        LogPath(fileName, _T("log"));
      }
      
      CAutoLock lock(&m_logFileLock);
      FILE* fp = _tfopen(fileName, _T("a+"));
      if (fp!=NULL)
      {
        SYSTEMTIME systemTime;
        GetLocalTime(&systemTime);
        wstring line = GetLogLine();
        while (!line.empty())
        {
          fwprintf_s(fp, L"%s", line.c_str());
          line = GetLogLine();
        }
        fclose(fp);
      }
      else //discard data
      {
        wstring line = GetLogLine();
        while (!line.empty())
        {
          line = GetLogLine();
        }
      }
    }
    if (m_bLoggerRunning)
    {
      m_EndLoggingEvent.Wait(1000); //Sleep for 1000ms, unless thread is ending
    }
    else
    {
      Sleep(1);
    }
  }
	_endthreadex(0);
  return 0;
}
Example #2
0
AudioRendererSettings::AudioRendererSettings() :
  CUnknown(_T("MPAR_Settings"), NULL),
  m_bLogSampleTimes(false),
  m_bLogDebug(false),
  m_bHWBasedRefClock(true),
  m_bEnableSyncAdjustment(true),
  m_bUseWASAPI(true),
  m_bWASAPIUseEventMode(true),
  m_bUseTimeStretching(false),
  m_lAC3Encoding(0),
  m_bQuality_USE_QUICKSEEK(false),
  m_bQuality_USE_AA_FILTER(false),
  m_lQuality_AA_FILTER_LENGTH(32),
  m_lQuality_SEQUENCE_MS(82),
  m_lQuality_SEEKWINDOW_MS(28),
  m_lQuality_OVERLAP_MS(28),
  m_hnsPeriod(0),
  m_AC3bitrate(DEFAULT_AC3_BITRATE),
  m_dMaxBias(1.1),
  m_dMinBias(0.9),
  m_lAudioDelay(0),
  m_WASAPIShareMode(AUDCLNT_SHAREMODE_EXCLUSIVE),
  m_wWASAPIPreferredDeviceId(NULL),
  m_nForceSamplingRate(0),
  m_nForceBitDepth(0),
  m_nResamplingQuality(4),
  m_lSpeakerCount(2),
  m_lSpeakerConfig(SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT),
  m_bForceChannelMixing(false),
  m_bReleaseDeviceOnStop(false),
  m_bExpandMonoToStereo(true)
{
  LogRotate();
  Log("MP Audio Renderer - v1.0.3");

  LoadSettingsFromRegistry();
}