Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 19th, 2012  |  syntax: None  |  size: 1.72 KB  |  hits: 18  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. diff --git a/xbmc/cores/dvdplayer/DVDAudio.cpp b/xbmc/cores/dvdplayer/DVDAudio.cpp
  2. index 11ce7ef..9878919 100644
  3. --- a/xbmc/cores/dvdplayer/DVDAudio.cpp
  4. +++ b/xbmc/cores/dvdplayer/DVDAudio.cpp
  5. @@ -43,6 +43,7 @@ CDVDAudio::CDVDAudio(volatile bool &bStop)
  6.    m_iBitrate = 0;
  7.    m_SecondsPerByte = 0.0;
  8.    m_bPaused = true;
  9. +  m_pAudioCallback = NULL;
  10.  }
  11.  
  12.  CDVDAudio::~CDVDAudio()
  13. @@ -78,6 +79,9 @@ bool CDVDAudio::Create(const DVDAudioFrame &audioframe, CodecID codec, bool need
  14.    );
  15.    if (!m_pAudioStream) return false;
  16.  
  17. +  if (m_pAudioCallback)
  18. +    RegisterAudioCallback(m_pAudioCallback);
  19. +
  20.    m_iBitrate       = audioframe.sample_rate;
  21.    m_iBitsPerSample = audioframe.bits_per_sample;
  22.    m_bPassthrough   = audioframe.passthrough;
  23. @@ -235,6 +239,7 @@ void CDVDAudio::Drain()
  24.  
  25.  void CDVDAudio::RegisterAudioCallback(IAudioCallback* pCallback)
  26.  {
  27. +  m_pAudioCallback = pCallback;
  28.    CSingleLock lock (m_critSection);
  29.    if (m_pAudioStream)
  30.      m_pAudioStream->RegisterAudioCallback(pCallback);
  31. @@ -245,6 +250,7 @@ void CDVDAudio::UnRegisterAudioCallback()
  32.    CSingleLock lock (m_critSection);
  33.    if (m_pAudioStream)
  34.      m_pAudioStream->UnRegisterAudioCallback();
  35. +  m_pAudioCallback = NULL;
  36.  }
  37.  
  38.  void CDVDAudio::SetVolume(float volume)
  39. diff --git a/xbmc/cores/dvdplayer/DVDAudio.h b/xbmc/cores/dvdplayer/DVDAudio.h
  40. index deefdd2..d2ab4ac 100644
  41. --- a/xbmc/cores/dvdplayer/DVDAudio.h
  42. +++ b/xbmc/cores/dvdplayer/DVDAudio.h
  43. @@ -92,6 +92,7 @@ protected:
  44.    bool m_bPassthrough;
  45.    CAEChannelInfo m_channelLayout;
  46.    bool m_bPaused;
  47. +  IAudioCallback* m_pAudioCallback;
  48.  
  49.    volatile bool& m_bStop;
  50.    //counter that will go from 0 to m_iSpeed-1 and reset, data will only be output when speedstep is 0