text: // Copyright (c) 2010 The WebM project authors. All Rights Reserved.
  //
  // Use of this source code is governed by a BSD-style license
  // that can be found in the LICENSE file in the root of the source
  // 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.
  
  #pragma once
  #include "webmmuxinpin.hpp"
  
  namespace WebmMuxLib
  {
  
  class Context;
  class StreamVideo;
  
  class InpinVideo : public Inpin
  {
      InpinVideo(const InpinVideo&);
      InpinVideo& operator=(const InpinVideo&);
  
  public:
  
      explicit InpinVideo(Filter*);
      ~InpinVideo();
  
      HRESULT STDMETHODCALLTYPE QueryAccept(const AM_MEDIA_TYPE*);
      HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(ALLOCATOR_PROPERTIES*);
  
  protected:
  
      HRESULT OnInit();
      void OnFinal();
  
      HANDLE GetOtherHandle() const;
  
      HRESULT QueryAcceptVPx(const AM_MEDIA_TYPE&) const;
      HRESULT VetBitmapInfoHeader(const BITMAPINFOHEADER&) const;
      HRESULT GetAllocatorRequirementsVPx(ALLOCATOR_PROPERTIES&) const;
  
      static StreamVideo* CreateStreamVPx(Context&, const AM_MEDIA_TYPE&);
  
  };
  
  }  //end namespace WebmMuxLib
  