Merge "webmdshow clean up: clang-format vp9decoder/vp9decoderfilter.{c,h}pp"
diff --git a/vp9decoder/vp9decoderfilter.cpp b/vp9decoder/vp9decoderfilter.cpp
index 7d8124d..4f78154 100644
--- a/vp9decoder/vp9decoderfilter.cpp
+++ b/vp9decoder/vp9decoderfilter.cpp
@@ -6,12 +6,15 @@
 // in the file PATENTS.  All contributing project authors may
 // be found in the AUTHORS file in the root of the source tree.
 
+#include <vfwmsgs.h>
+
+#include <cassert>
+
+#include "cenumpins.hpp"
 #include "vp9decoderfilter.hpp"
 #include "vp9decoderidl.h"
-#include "cenumpins.hpp"
 #include "webmtypes.hpp"
-#include <cassert>
-#include <vfwmsgs.h>
+
 #ifdef _DEBUG
 #include "iidstr.hpp"
 #include "odbgstream.hpp"
@@ -22,50 +25,85 @@
 
 using std::wstring;
 
-namespace VP9DecoderLib
-{
+namespace VP9DecoderLib {
 
-HRESULT CreateInstance(
-    IClassFactory* pClassFactory,
-    IUnknown* pOuter,
-    const IID& iid,
-    void** ppv)
-{
-    if (ppv == 0)
-        return E_POINTER;
+HRESULT CreateInstance(IClassFactory* pClassFactory, IUnknown* pOuter,
+                       const IID& iid, void** ppv) {
+  if (ppv == 0)
+    return E_POINTER;
 
-    *ppv = 0;
+  *ppv = 0;
 
-    if ((pOuter != 0) && (iid != __uuidof(IUnknown)))
-        return E_INVALIDARG;
+  if ((pOuter != 0) && (iid != __uuidof(IUnknown)))
+    return E_INVALIDARG;
 
-    Filter* p = new (std::nothrow) Filter(pClassFactory, pOuter);
+  Filter* p = new (std::nothrow) Filter(pClassFactory, pOuter);
 
-    if (p == 0)
-        return E_OUTOFMEMORY;
+  if (p == 0)
+    return E_OUTOFMEMORY;
 
-    assert(p->m_nondelegating.m_cRef == 0);
+  assert(p->m_nondelegating.m_cRef == 0);
 
-    const HRESULT hr = p->m_nondelegating.QueryInterface(iid, ppv);
+  const HRESULT hr = p->m_nondelegating.QueryInterface(iid, ppv);
 
-    if (SUCCEEDED(hr))
-    {
-        assert(*ppv);
-        assert(p->m_nondelegating.m_cRef == 1);
+  if (SUCCEEDED(hr)) {
+    assert(*ppv);
+    assert(p->m_nondelegating.m_cRef == 1);
 
-        return S_OK;
-    }
+    return S_OK;
+  }
 
-    assert(*ppv == 0);
-    assert(p->m_nondelegating.m_cRef == 0);
+  assert(*ppv == 0);
+  assert(p->m_nondelegating.m_cRef == 0);
 
-    delete p;
-    p = 0;
+  delete p;
+  p = 0;
 
-    return hr;
+  return hr;
 }
 
-#pragma warning(disable:4355)  //'this' ptr in member init list
+//
+// Filter::CNondelegating
+//
+HRESULT Filter::CNondelegating::QueryInterface(const IID& iid, void** ppv) {
+  if (ppv == 0)
+    return E_POINTER;
+
+  IUnknown*& pUnk = reinterpret_cast<IUnknown*&>(*ppv);
+
+  if (iid == __uuidof(IUnknown)) {
+    pUnk = this;  // must be nondelegating
+  } else if (iid == __uuidof(IBaseFilter) ||
+             iid == __uuidof(IMediaFilter) ||
+             iid == __uuidof(IPersist)) {
+    pUnk = static_cast<IBaseFilter*>(m_pFilter);
+  } else {
+    pUnk = 0;
+    return E_NOINTERFACE;
+  }
+
+  pUnk->AddRef();
+  return S_OK;
+}
+
+ULONG Filter::CNondelegating::AddRef() {
+  return InterlockedIncrement(&m_cRef);
+}
+
+ULONG Filter::CNondelegating::Release() {
+  const LONG n = InterlockedDecrement(&m_cRef);
+
+  if (n > 0)
+    return n;
+
+  delete m_pFilter;
+  return 0;
+}
+
+//
+// Filter
+//
+#pragma warning(disable : 4355)  // 'this' ptr in member init list
 Filter::Filter(IClassFactory* pClassFactory, IUnknown* pOuter)
     : m_pClassFactory(pClassFactory),
       m_nondelegating(this),
@@ -73,528 +111,389 @@
       m_state(kStateStopped),
       m_clock(0),
       m_inpin(this),
-      m_outpin(this)
-{
-    m_pClassFactory->LockServer(TRUE);
+      m_outpin(this) {
+  m_pClassFactory->LockServer(TRUE);
 
-    const HRESULT hr = CLockable::Init();
-    hr;
-    assert(SUCCEEDED(hr));
+  const HRESULT hr = CLockable::Init();
+  hr;
+  assert(SUCCEEDED(hr));
 
-    m_info.pGraph = 0;
+  m_info.pGraph = 0;
+  m_info.achName[0] = L'\0';
+
+#ifdef _DEBUG
+  odbgstream os;
+  os << "vp9dec::filter::ctor" << endl;
+#endif
+}
+#pragma warning(default : 4355)
+
+Filter::~Filter() {
+#ifdef _DEBUG
+  odbgstream os;
+  os << "vp9dec::filter::dtor" << endl;
+#endif
+
+  m_pClassFactory->LockServer(FALSE);
+}
+
+HRESULT Filter::QueryInterface(const IID& iid, void** ppv) {
+  return m_pOuter->QueryInterface(iid, ppv);
+}
+
+ULONG Filter::AddRef() {
+  return m_pOuter->AddRef();
+}
+
+ULONG Filter::Release() {
+  return m_pOuter->Release();
+}
+
+HRESULT Filter::GetClassID(CLSID* p) {
+  if (p == 0)
+    return E_POINTER;
+
+  *p = CLSID_VP9Decoder;
+  return S_OK;
+}
+
+HRESULT Filter::Stop() {
+  // Stop is a synchronous operation: when it completes,
+  // the filter is stopped.
+  Lock lock;
+
+  HRESULT hr = lock.Seize(this);
+
+  if (FAILED(hr))
+    return hr;
+
+  // odbgstream os;
+  // os << "mkvsplit::Filter::Stop" << endl;
+
+  switch (m_state) {
+    case kStatePaused:
+    case kStatePausedWaitingForKeyframe:
+    case kStateRunning:
+    case kStateRunningWaitingForKeyframe:
+      m_state = kStateStopped;
+      OnStop();  // decommit outpin's allocator
+      break;
+
+    case kStateStopped:
+      break;
+
+    default:
+      assert(false);
+      break;
+  }
+
+  return S_OK;
+}
+
+HRESULT Filter::Pause() {
+  // Unlike Stop(), Pause() can be asynchronous (that's why you have
+  // GetState()).
+  Lock lock;
+
+  HRESULT hr = lock.Seize(this);
+
+  if (FAILED(hr))
+    return hr;
+
+  // odbgstream os;
+  // os << "mkvsplit::Filter::Pause" << endl;
+
+  switch (m_state) {
+    case kStateStopped:
+      OnStart();  // commit outpin's allocator
+      m_state = kStatePausedWaitingForKeyframe;
+      break;
+
+    case kStateRunning:
+      m_state = kStatePaused;
+      break;
+
+    case kStateRunningWaitingForKeyframe:
+      m_state = kStatePausedWaitingForKeyframe;
+      break;
+
+    case kStatePausedWaitingForKeyframe:
+    case kStatePaused:
+      break;
+
+    default:
+      assert(false);
+      break;
+  }
+
+  return S_OK;
+}
+
+HRESULT Filter::Run(REFERENCE_TIME start) {
+  Lock lock;
+
+  HRESULT hr = lock.Seize(this);
+
+  if (FAILED(hr))
+    return hr;
+
+  // odbgstream os;
+  // os << "mkvsplit::Filter::Run" << endl;
+
+  switch (m_state) {
+    case kStateStopped:
+      OnStart();
+      m_state = kStateRunningWaitingForKeyframe;
+      break;
+
+    case kStatePausedWaitingForKeyframe:
+      m_state = kStateRunningWaitingForKeyframe;
+      break;
+
+    case kStatePaused:
+      m_state = kStateRunning;
+      break;
+
+    case kStateRunningWaitingForKeyframe:
+    case kStateRunning:
+      break;
+
+    default:
+      assert(false);
+      break;
+  }
+
+  m_start = start;
+  return S_OK;
+}
+
+HRESULT Filter::GetState(DWORD, FILTER_STATE* p) {
+  if (p == 0)
+    return E_POINTER;
+
+  Lock lock;
+
+  const HRESULT hr = lock.Seize(this);
+
+  if (FAILED(hr))
+    return hr;
+
+  *p = GetStateLocked();
+  return S_OK;
+}
+
+HRESULT Filter::SetSyncSource(IReferenceClock* clock) {
+  Lock lock;
+
+  HRESULT hr = lock.Seize(this);
+
+  if (FAILED(hr))
+    return hr;
+
+  if (m_clock)
+    m_clock->Release();
+
+  m_clock = clock;
+
+  if (m_clock)
+    m_clock->AddRef();
+
+  return S_OK;
+}
+
+HRESULT Filter::GetSyncSource(IReferenceClock** pclock) {
+  if (pclock == 0)
+    return E_POINTER;
+
+  Lock lock;
+
+  HRESULT hr = lock.Seize(this);
+
+  if (FAILED(hr))
+    return hr;
+
+  IReferenceClock*& clock = *pclock;
+
+  clock = m_clock;
+
+  if (clock)
+    clock->AddRef();
+
+  return S_OK;
+}
+
+HRESULT Filter::EnumPins(IEnumPins** pp) {
+  Lock lock;
+
+  HRESULT hr = lock.Seize(this);
+
+  if (FAILED(hr))
+    return hr;
+
+  IPin* pins[2];
+
+  pins[0] = &m_inpin;
+  pins[1] = &m_outpin;
+
+  return CEnumPins::CreateInstance(pins, 2, pp);
+}
+
+HRESULT Filter::FindPin(LPCWSTR id1, IPin** pp) {
+  if (pp == 0)
+    return E_POINTER;
+
+  IPin*& p = *pp;
+  p = 0;
+
+  if (id1 == 0)
+    return E_INVALIDARG;
+
+  Pin* pPin = &m_inpin;
+
+  if (wcscmp(id1, pPin->m_id.c_str()) == 0) {
+    p = pPin;
+    p->AddRef();
+
+    return S_OK;
+  }
+
+  pPin = &m_outpin;
+
+  if (wcscmp(id1, pPin->m_id.c_str()) == 0) {
+    p = pPin;
+    p->AddRef();
+
+    return S_OK;
+  }
+
+  return VFW_E_NOT_FOUND;
+}
+
+HRESULT Filter::QueryFilterInfo(FILTER_INFO* p) {
+  if (p == 0)
+    return E_POINTER;
+
+  Lock lock;
+
+  HRESULT hr = lock.Seize(this);
+
+  if (FAILED(hr))
+    return hr;
+
+  enum { size = sizeof(p->achName) / sizeof(WCHAR) };
+  const errno_t e = wcscpy_s(p->achName, size, m_info.achName);
+  e;
+  assert(e == 0);
+
+  p->pGraph = m_info.pGraph;
+
+  if (p->pGraph)
+    p->pGraph->AddRef();
+
+  return S_OK;
+}
+
+HRESULT Filter::JoinFilterGraph(IFilterGraph* pGraph, LPCWSTR name) {
+  Lock lock;
+
+  HRESULT hr = lock.Seize(this);
+
+  if (FAILED(hr))
+    return hr;
+
+  // NOTE:
+  // No, do not adjust reference counts here!
+  // Read the docs for the reasons why.
+  // ENDNOTE.
+
+  m_info.pGraph = pGraph;
+
+  if (name == 0) {
     m_info.achName[0] = L'\0';
-
-#ifdef _DEBUG
-    odbgstream os;
-    os << "vp9dec::filter::ctor" << endl;
-#endif
-}
-#pragma warning(default:4355)
-
-Filter::~Filter()
-{
-#ifdef _DEBUG
-    odbgstream os;
-    os << "vp9dec::filter::dtor" << endl;
-#endif
-
-    m_pClassFactory->LockServer(FALSE);
-}
-
-
-Filter::CNondelegating::CNondelegating(Filter* p)
-    : m_pFilter(p),
-      m_cRef(0)  //see CreateInstance
-{
-}
-
-
-Filter::CNondelegating::~CNondelegating()
-{
-}
-
-
-HRESULT Filter::CNondelegating::QueryInterface(
-    const IID& iid,
-    void** ppv)
-{
-    if (ppv == 0)
-        return E_POINTER;
-
-    IUnknown*& pUnk = reinterpret_cast<IUnknown*&>(*ppv);
-
-    if (iid == __uuidof(IUnknown))
-    {
-        pUnk = this;  //must be nondelegating
-    }
-    else if ((iid == __uuidof(IBaseFilter)) ||
-             (iid == __uuidof(IMediaFilter)) ||
-             (iid == __uuidof(IPersist)))
-    {
-        pUnk = static_cast<IBaseFilter*>(m_pFilter);
-    }
-    //else if (iid == __uuidof(IVP8PostProcessing))
-    //{
-    //    pUnk = static_cast<IVP8PostProcessing*>(m_pFilter);
-    //}
-    else
-    {
-        pUnk = 0;
-        return E_NOINTERFACE;
-    }
-
-    pUnk->AddRef();
-    return S_OK;
-}
-
-
-ULONG Filter::CNondelegating::AddRef()
-{
-    return InterlockedIncrement(&m_cRef);
-}
-
-
-ULONG Filter::CNondelegating::Release()
-{
-    const LONG n = InterlockedDecrement(&m_cRef);
-
-    if (n > 0)
-        return n;
-
-    delete m_pFilter;
-    return 0;
-}
-
-HRESULT Filter::QueryInterface(const IID& iid, void** ppv)
-{
-    return m_pOuter->QueryInterface(iid, ppv);
-}
-
-
-ULONG Filter::AddRef()
-{
-    return m_pOuter->AddRef();
-}
-
-
-ULONG Filter::Release()
-{
-    return m_pOuter->Release();
-}
-
-
-HRESULT Filter::GetClassID(CLSID* p)
-{
-    if (p == 0)
-        return E_POINTER;
-
-    *p = CLSID_VP9Decoder;
-    return S_OK;
-}
-
-
-HRESULT Filter::Stop()
-{
-    //Stop is a synchronous operation: when it completes,
-    //the filter is stopped.
-
-    //odbgstream os;
-
-    Lock lock;
-
-    HRESULT hr = lock.Seize(this);
-
-    if (FAILED(hr))
-        return hr;
-
-    //odbgstream os;
-    //os << "mkvsplit::Filter::Stop" << endl;
-
-    switch (m_state)
-    {
-        case kStatePaused:
-        case kStatePausedWaitingForKeyframe:
-        case kStateRunning:
-        case kStateRunningWaitingForKeyframe:
-            m_state = kStateStopped;
-            OnStop();    //decommit outpin's allocator
-            break;
-
-        case kStateStopped:
-            break;
-
-        default:
-            assert(false);
-            break;
-    }
-
-    return S_OK;
-}
-
-
-
-HRESULT Filter::Pause()
-{
-    //Unlike Stop(), Pause() can be asynchronous (that's why you have
-    //GetState()).
-
-    Lock lock;
-
-    HRESULT hr = lock.Seize(this);
-
-    if (FAILED(hr))
-        return hr;
-
-    //odbgstream os;
-    //os << "mkvsplit::Filter::Pause" << endl;
-
-    switch (m_state)
-    {
-        case kStateStopped:
-            OnStart();  //commit outpin's allocator
-            m_state = kStatePausedWaitingForKeyframe;
-            break;
-
-        case kStateRunning:
-            m_state = kStatePaused;
-            break;
-
-        case kStateRunningWaitingForKeyframe:
-            m_state = kStatePausedWaitingForKeyframe;
-            break;
-
-        case kStatePausedWaitingForKeyframe:
-        case kStatePaused:
-            break;
-
-        default:
-            assert(false);
-            break;
-    }
-
-    return S_OK;
-}
-
-
-HRESULT Filter::Run(REFERENCE_TIME start)
-{
-    Lock lock;
-
-    HRESULT hr = lock.Seize(this);
-
-    if (FAILED(hr))
-        return hr;
-
-    //odbgstream os;
-    //os << "mkvsplit::Filter::Run" << endl;
-
-    switch (m_state)
-    {
-        case kStateStopped:
-            OnStart();
-            m_state = kStateRunningWaitingForKeyframe;
-            break;
-
-        case kStatePausedWaitingForKeyframe:
-            m_state = kStateRunningWaitingForKeyframe;
-            break;
-
-        case kStatePaused:
-            m_state = kStateRunning;
-            break;
-
-        case kStateRunningWaitingForKeyframe:
-        case kStateRunning:
-            break;
-
-        default:
-            assert(false);
-            break;
-    }
-
-    m_start = start;
-    return S_OK;
-}
-
-
-HRESULT Filter::GetState(
-    DWORD,
-    FILTER_STATE* p)
-{
-    if (p == 0)
-        return E_POINTER;
-
-    Lock lock;
-
-    const HRESULT hr = lock.Seize(this);
-
-    if (FAILED(hr))
-        return hr;
-
-    *p = GetStateLocked();
-    return S_OK;
-}
-
-
-HRESULT Filter::SetSyncSource(
-    IReferenceClock* clock)
-{
-    Lock lock;
-
-    HRESULT hr = lock.Seize(this);
-
-    if (FAILED(hr))
-        return hr;
-
-    if (m_clock)
-        m_clock->Release();
-
-    m_clock = clock;
-
-    if (m_clock)
-        m_clock->AddRef();
-
-    return S_OK;
-}
-
-
-HRESULT Filter::GetSyncSource(
-    IReferenceClock** pclock)
-{
-    if (pclock == 0)
-        return E_POINTER;
-
-    Lock lock;
-
-    HRESULT hr = lock.Seize(this);
-
-    if (FAILED(hr))
-        return hr;
-
-    IReferenceClock*& clock = *pclock;
-
-    clock = m_clock;
-
-    if (clock)
-        clock->AddRef();
-
-    return S_OK;
-}
-
-
-
-HRESULT Filter::EnumPins(IEnumPins** pp)
-{
-    Lock lock;
-
-    HRESULT hr = lock.Seize(this);
-
-    if (FAILED(hr))
-        return hr;
-
-    IPin* pins[2];
-
-    pins[0] = &m_inpin;
-    pins[1] = &m_outpin;
-
-    return CEnumPins::CreateInstance(pins, 2, pp);
-}
-
-
-HRESULT Filter::FindPin(
-    LPCWSTR id1,
-    IPin** pp)
-{
-    if (pp == 0)
-        return E_POINTER;
-
-    IPin*& p = *pp;
-    p = 0;
-
-    if (id1 == 0)
-        return E_INVALIDARG;
-
-    {
-        Pin* const pPin = &m_inpin;
-
-        const wstring& id2_ = pPin->m_id;
-        const wchar_t* const id2 = id2_.c_str();
-
-        if (wcscmp(id1, id2) == 0)  //case-sensitive
-        {
-            p = pPin;
-            p->AddRef();
-
-            return S_OK;
-        }
-    }
-
-    {
-        Pin* const pPin = &m_outpin;
-
-        const wstring& id2_ = pPin->m_id;
-        const wchar_t* const id2 = id2_.c_str();
-
-        if (wcscmp(id1, id2) == 0)  //case-sensitive
-        {
-            p = pPin;
-            p->AddRef();
-
-            return S_OK;
-        }
-    }
-
-    return VFW_E_NOT_FOUND;
-}
-
-
-HRESULT Filter::QueryFilterInfo(FILTER_INFO* p)
-{
-    if (p == 0)
-        return E_POINTER;
-
-    Lock lock;
-
-    HRESULT hr = lock.Seize(this);
-
-    if (FAILED(hr))
-        return hr;
-
-    enum { size = sizeof(p->achName)/sizeof(WCHAR) };
-    const errno_t e = wcscpy_s(p->achName, size, m_info.achName);
+  } else {
+    enum { size = sizeof(m_info.achName) / sizeof(WCHAR) };
+    const errno_t e = wcscpy_s(m_info.achName, size, name);
     e;
-    assert(e == 0);
+    assert(e == 0);  // TODO
+  }
 
-    p->pGraph = m_info.pGraph;
-
-    if (p->pGraph)
-        p->pGraph->AddRef();
-
-    return S_OK;
+  return S_OK;
 }
 
+HRESULT Filter::QueryVendorInfo(LPWSTR* pstr) {
+  if (pstr == 0)
+    return E_POINTER;
 
-HRESULT Filter::JoinFilterGraph(
-    IFilterGraph *pGraph,
-    LPCWSTR name)
-{
-    Lock lock;
+  wchar_t*& str = *pstr;
 
-    HRESULT hr = lock.Seize(this);
-
-    if (FAILED(hr))
-        return hr;
-
-    //NOTE:
-    //No, do not adjust reference counts here!
-    //Read the docs for the reasons why.
-    //ENDNOTE.
-
-    m_info.pGraph = pGraph;
-
-    if (name == 0)
-        m_info.achName[0] = L'\0';
-    else
-    {
-        enum { size = sizeof(m_info.achName)/sizeof(WCHAR) };
-        const errno_t e = wcscpy_s(m_info.achName, size, name);
-        e;
-        assert(e == 0);  //TODO
-    }
-
-    return S_OK;
+  str = 0;
+  return E_NOTIMPL;
 }
 
+void Filter::OnStart() {
+  HRESULT hr = m_inpin.Start();
+  assert(SUCCEEDED(hr));  // TODO
 
-HRESULT Filter::QueryVendorInfo(LPWSTR* pstr)
-{
-    if (pstr == 0)
-        return E_POINTER;
-
-    wchar_t*& str = *pstr;
-
-    str = 0;
-    return E_NOTIMPL;
+  hr = m_outpin.Start();
+  assert(SUCCEEDED(hr));  // TODO
 }
 
-
-void Filter::OnStart()
-{
-    HRESULT hr = m_inpin.Start();
-    assert(SUCCEEDED(hr));  //TODO
-
-    hr = m_outpin.Start();
-    assert(SUCCEEDED(hr));  //TODO
+void Filter::OnStop() {
+  m_outpin.Stop();
+  m_inpin.Stop();
 }
 
+FILTER_STATE Filter::GetStateLocked() const {
+  switch (m_state) {
+    case kStateStopped:
+      return State_Stopped;
 
-void Filter::OnStop()
-{
-    m_outpin.Stop();
-    m_inpin.Stop();
+    case kStateRunning:
+    case kStateRunningWaitingForKeyframe:
+      return State_Running;
+
+    case kStatePaused:
+    case kStatePausedWaitingForKeyframe:
+      return State_Paused;
+
+    default:
+      assert(false);
+      return State_Stopped;
+  }
 }
 
+HRESULT Filter::OnDecodeFailureLocked() {
+  switch (m_state) {
+    case kStateRunning:
+      m_state = kStateRunningWaitingForKeyframe;
+      break;
 
-FILTER_STATE Filter::GetStateLocked() const
-{
-    switch (m_state)
-    {
-        case kStateStopped:
-            return State_Stopped;
+    case kStatePaused:
+      m_state = kStatePausedWaitingForKeyframe;
+      break;
 
-        case kStateRunning:
-        case kStateRunningWaitingForKeyframe:
-            return State_Running;
+    default:
+      break;
+  }
 
-        case kStatePaused:
-        case kStatePausedWaitingForKeyframe:
-            return State_Paused;
-
-        default:
-          assert(false);
-          return State_Stopped;
-    }
+  return S_OK;  // continue accepting frames
 }
 
+void Filter::OnDecodeSuccessLocked(bool is_key) {
+  switch (m_state) {
+    case kStateRunningWaitingForKeyframe:
+      if (is_key)
+        m_state = kStateRunning;
+      break;
 
-HRESULT Filter::OnDecodeFailureLocked()
-{
-    switch (m_state)
-    {
-        case kStateRunning:
-            m_state = kStateRunningWaitingForKeyframe;
-            break;
+    case kStatePausedWaitingForKeyframe:
+      if (is_key)
+        m_state = kStatePaused;
+      break;
 
-        case kStatePaused:
-            m_state = kStatePausedWaitingForKeyframe;
-            break;
-
-        default:
-            break;
-    }
-
-    return S_OK;  // continue accepting frames
+    default:
+      break;
+  }
 }
 
-
-void Filter::OnDecodeSuccessLocked(bool is_key)
-{
-    switch (m_state)
-    {
-        case kStateRunningWaitingForKeyframe:
-            if (is_key)
-                m_state = kStateRunning;
-            break;
-
-        case kStatePausedWaitingForKeyframe:
-            if (is_key)
-                m_state = kStatePaused;
-            break;
-
-        default:
-            break;
-    }
-}
-
-
-}  //end namespace VP9DecoderLib
+}  // namespace VP9DecoderLib
diff --git a/vp9decoder/vp9decoderfilter.hpp b/vp9decoder/vp9decoderfilter.hpp
index e8268ef..b158e25 100644
--- a/vp9decoder/vp9decoderfilter.hpp
+++ b/vp9decoder/vp9decoderfilter.hpp
@@ -5,108 +5,92 @@
 // tree. An additional intellectual property rights grant can be found
 // in the file PATENTS.  All contributing project authors may
 // be found in the AUTHORS file in the root of the source tree.
+#ifndef WEBMDSHOW_VP9DECODER_VP9DECODERFILTER_HPP_
+#define WEBMDSHOW_VP9DECODER_VP9DECODERFILTER_HPP_
 
-#pragma once
 #include <strmif.h>
+
 #include <string>
+
+#include "clockable.hpp"
 #include "vp9decoderinpin.hpp"
 #include "vp9decoderoutpin.hpp"
-#include "clockable.hpp"
 
-namespace VP9DecoderLib
-{
+namespace VP9DecoderLib {
 
-class Filter : public IBaseFilter,
-               //public IVP8PostProcessing,
-               public CLockable
-{
-    friend HRESULT CreateInstance(
-            IClassFactory*,
-            IUnknown*,
-            const IID&,
-            void**);
+class Filter : public IBaseFilter, public CLockable {
+ public:
+  // IUnknown
+  HRESULT STDMETHODCALLTYPE QueryInterface(const IID&, void**);
+  ULONG STDMETHODCALLTYPE AddRef();
+  ULONG STDMETHODCALLTYPE Release();
 
-    Filter(IClassFactory*, IUnknown*);
-    virtual ~Filter();
+  // IBaseFilter
+  HRESULT STDMETHODCALLTYPE GetClassID(CLSID*);
+  HRESULT STDMETHODCALLTYPE Stop();
+  HRESULT STDMETHODCALLTYPE Pause();
+  HRESULT STDMETHODCALLTYPE Run(REFERENCE_TIME);
+  HRESULT STDMETHODCALLTYPE GetState(DWORD, FILTER_STATE*);
+  HRESULT STDMETHODCALLTYPE SetSyncSource(IReferenceClock*);
+  HRESULT STDMETHODCALLTYPE GetSyncSource(IReferenceClock**);
+  HRESULT STDMETHODCALLTYPE EnumPins(IEnumPins**);
+  HRESULT STDMETHODCALLTYPE FindPin(LPCWSTR, IPin**);
+  HRESULT STDMETHODCALLTYPE QueryFilterInfo(FILTER_INFO*);
+  HRESULT STDMETHODCALLTYPE JoinFilterGraph(IFilterGraph*, LPCWSTR);
+  HRESULT STDMETHODCALLTYPE QueryVendorInfo(LPWSTR*);
 
-    Filter(const Filter&);
-    Filter& operator=(const Filter&);
+  FILTER_STATE GetStateLocked() const;
+  HRESULT OnDecodeFailureLocked();
+  void OnDecodeSuccessLocked(bool is_key);
 
-public:
+  FILTER_INFO m_info;
+  Inpin m_inpin;
+  Outpin m_outpin;
 
-    //IUnknown
+ private:
+  enum State {
+    kStateStopped,
+    kStatePausedWaitingForKeyframe,
+    kStatePaused,
+    kStateRunning,
+    kStateRunningWaitingForKeyframe
+  };
+
+  class CNondelegating : public IUnknown {
+   public:
+    explicit CNondelegating(Filter* f) : m_pFilter(f), m_cRef(0) {}
+    virtual ~CNondelegating() {}
 
     HRESULT STDMETHODCALLTYPE QueryInterface(const IID&, void**);
     ULONG STDMETHODCALLTYPE AddRef();
     ULONG STDMETHODCALLTYPE Release();
 
-    //IBaseFilter
+    Filter* const m_pFilter;
+    LONG m_cRef;
 
-    HRESULT STDMETHODCALLTYPE GetClassID(CLSID*);
-    HRESULT STDMETHODCALLTYPE Stop();
-    HRESULT STDMETHODCALLTYPE Pause();
-    HRESULT STDMETHODCALLTYPE Run(REFERENCE_TIME);
-    HRESULT STDMETHODCALLTYPE GetState(DWORD, FILTER_STATE*);
-    HRESULT STDMETHODCALLTYPE SetSyncSource(IReferenceClock*);
-    HRESULT STDMETHODCALLTYPE GetSyncSource(IReferenceClock**);
-    HRESULT STDMETHODCALLTYPE EnumPins(IEnumPins**);
-    HRESULT STDMETHODCALLTYPE FindPin(LPCWSTR, IPin**);
-    HRESULT STDMETHODCALLTYPE QueryFilterInfo(FILTER_INFO*);
-    HRESULT STDMETHODCALLTYPE JoinFilterGraph(IFilterGraph*, LPCWSTR);
-    HRESULT STDMETHODCALLTYPE QueryVendorInfo(LPWSTR*);
+   private:
+    CNondelegating(const CNondelegating&);
+    CNondelegating& operator=(const CNondelegating&);
+  };
 
-    FILTER_STATE GetStateLocked() const;
-    HRESULT OnDecodeFailureLocked();
-    void OnDecodeSuccessLocked(bool is_key);
+  friend HRESULT CreateInstance(IClassFactory*, IUnknown*, const IID&, void**);
 
-private:
-    class CNondelegating : public IUnknown
-    {
-        CNondelegating(const CNondelegating&);
-        CNondelegating& operator=(const CNondelegating&);
+  void OnStop();
+  void OnStart();
 
-    public:
+  Filter(IClassFactory*, IUnknown*);
+  virtual ~Filter();
+  Filter(const Filter&);
+  Filter& operator=(const Filter&);
 
-        Filter* const m_pFilter;
-        LONG m_cRef;
-
-        explicit CNondelegating(Filter*);
-        virtual ~CNondelegating();
-
-        HRESULT STDMETHODCALLTYPE QueryInterface(const IID&, void**);
-        ULONG STDMETHODCALLTYPE AddRef();
-        ULONG STDMETHODCALLTYPE Release();
-
-    };
-
-    IClassFactory* const m_pClassFactory;
-    CNondelegating m_nondelegating;
-    IUnknown* const m_pOuter;  //decl must follow m_nondelegating
-    REFERENCE_TIME m_start;
-    IReferenceClock* m_clock;
-
-    //https://code.google.com/p/webm/issues/detail?id=560
-
-    enum State
-    {
-        kStateStopped,
-        kStatePausedWaitingForKeyframe,
-        kStatePaused,
-        kStateRunning,
-        kStateRunningWaitingForKeyframe
-    };
-
-    State m_state;
-
-private:
-    void OnStop();
-    void OnStart();
-
-public:
-    FILTER_INFO m_info;
-    Inpin m_inpin;
-    Outpin m_outpin;
-
+  IClassFactory* const m_pClassFactory;
+  CNondelegating m_nondelegating;
+  IUnknown* const m_pOuter;
+  REFERENCE_TIME m_start;
+  IReferenceClock* m_clock;
+  State m_state;
 };
 
-}  //end namespace VP9DecoderLib
+}  // namespace VP9DecoderLib
+
+#endif  // WEBMDSHOW_VP9DECODER_VP9DECODERFILTER_HPP_