Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/sanear.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Marsev <alex.marsev@gmail.com>2015-10-18 22:52:09 +0300
committerAlex Marsev <alex.marsev@gmail.com>2015-10-18 22:52:09 +0300
commit739293f4f82c010f55f7a50996e1ae47d8002bae (patch)
treecd064b215752f64e2cbd1cdd3110a94be0a9db2c
parentf7b10f7d9e58f80e44968ae02cf74c37d7513bcc (diff)
Indicate guided reclock on MyPropertyPage
-rw-r--r--src/AudioRenderer.cpp10
-rw-r--r--src/AudioRenderer.h3
-rw-r--r--src/MyFilter.cpp3
-rw-r--r--src/MyPropertyPage.cpp7
-rw-r--r--src/MyPropertyPage.h3
5 files changed, 21 insertions, 5 deletions
diff --git a/src/AudioRenderer.cpp b/src/AudioRenderer.cpp
index d60a6e0..5df133a 100644
--- a/src/AudioRenderer.cpp
+++ b/src/AudioRenderer.cpp
@@ -59,6 +59,8 @@ namespace SaneAudioRenderer
m_externalClock = false;
}
+
+ m_guidedReclockActive = false;
}
bool AudioRenderer::Push(IMediaSample* pSample, AM_SAMPLE2_PROPERTIES& sampleProps, CAMEvent* pFilledEvent)
@@ -110,6 +112,7 @@ namespace SaneAudioRenderer
{
// Apply guided reclock adjustment.
m_dspRate.Adjust(-offset);
+ m_guidedReclockActive = true;
}
}
@@ -363,6 +366,13 @@ namespace SaneAudioRenderer
return ret;
}
+ bool AudioRenderer::OnGuidedReclock()
+ {
+ CAutoLock objectLock(this);
+
+ return m_guidedReclockActive;
+ }
+
void AudioRenderer::CheckDeviceSettings()
{
CAutoLock objectLock(this);
diff --git a/src/AudioRenderer.h b/src/AudioRenderer.h
index e0e6d35..826a9bc 100644
--- a/src/AudioRenderer.h
+++ b/src/AudioRenderer.h
@@ -59,6 +59,8 @@ namespace SaneAudioRenderer
bool IsLive() const { return m_live; }
bool IsBitstreaming() const { return m_bitstreaming; }
+ bool OnGuidedReclock();
+
private:
void CheckDeviceSettings();
@@ -130,5 +132,6 @@ namespace SaneAudioRenderer
double m_rate = 1.0;
std::atomic<REFERENCE_TIME> m_guidedReclockOffset = 0;
+ bool m_guidedReclockActive = false;
};
}
diff --git a/src/MyFilter.cpp b/src/MyFilter.cpp
index 181c21f..e70e054 100644
--- a/src/MyFilter.cpp
+++ b/src/MyFilter.cpp
@@ -181,7 +181,8 @@ namespace SaneAudioRenderer
data = MyPropertyPage::CreateDialogData(resize, inputFormat, audioDevice,
m_renderer->GetActiveProcessors(),
m_renderer->OnExternalClock(),
- m_renderer->IsLive());
+ m_renderer->IsLive(),
+ m_renderer->OnGuidedReclock());
}
catch (std::bad_alloc&)
{
diff --git a/src/MyPropertyPage.cpp b/src/MyPropertyPage.cpp
index 691fb39..088a344 100644
--- a/src/MyPropertyPage.cpp
+++ b/src/MyPropertyPage.cpp
@@ -152,7 +152,8 @@ namespace SaneAudioRenderer
}
std::vector<char> MyPropertyPage::CreateDialogData(bool resize, SharedWaveFormat inputFormat, const AudioDevice* pDevice,
- std::vector<std::wstring> processors, bool externalClock, bool live)
+ std::vector<std::wstring> processors, bool externalClock, bool live,
+ bool guidedReclock)
{
std::wstring adapterField = (pDevice && pDevice->GetAdapterName()) ? *pDevice->GetAdapterName() : L"-";
@@ -166,7 +167,7 @@ namespace SaneAudioRenderer
std::wstring bitstreamingField = (inputFormat ? (bitstreaming ? L"Yes" : L"No") : L"-");
- std::wstring slavingField = live ? L"Live Source" : externalClock ? L"Graph Clock" : L"Audio Device";
+ std::wstring slavingField = guidedReclock ? L"Guided Reclock" : live ? L"Live Source" : externalClock ? L"Graph Clock" : L"Audio Device";
std::wstring channelsInputField = (inputFormat && !bitstreaming) ? std::to_wstring(inputFormat->nChannels) +
L" (" + GetHexString(DspMatrix::GetChannelMask(*inputFormat)) + L")" : L"-";
@@ -237,7 +238,7 @@ namespace SaneAudioRenderer
: CUnknown(L"SaneAudioRenderer::MyPropertyPage", nullptr)
, m_delayedData(true)
{
- m_dialogData = CreateDialogData(false, nullptr, nullptr, {}, false, false);
+ m_dialogData = CreateDialogData(false, nullptr, nullptr, {}, false, false, false);
}
MyPropertyPage::MyPropertyPage(HRESULT& result, IStatusPageData* pData)
diff --git a/src/MyPropertyPage.h b/src/MyPropertyPage.h
index 0a0a23c..a3f33d6 100644
--- a/src/MyPropertyPage.h
+++ b/src/MyPropertyPage.h
@@ -20,7 +20,8 @@ namespace SaneAudioRenderer
public:
static std::vector<char> CreateDialogData(bool resize, SharedWaveFormat inputFormat, const AudioDevice* device,
- std::vector<std::wstring> processors, bool externalClock, bool live);
+ std::vector<std::wstring> processors, bool externalClock, bool live,
+ bool guidedReclock);
MyPropertyPage();
MyPropertyPage(HRESULT& result, IStatusPageData* pData);