blob: 661fc2d03aa3ed8d44104aba7ff89dd689317862 [file] [log] [blame]
// 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 QueryAcceptVP80(const AM_MEDIA_TYPE&) const;
HRESULT VetBitmapInfoHeader(const BITMAPINFOHEADER&) const;
HRESULT GetAllocatorRequirementsVP80(ALLOCATOR_PROPERTIES&) const;
static StreamVideo* CreateStreamVP80(Context&, const AM_MEDIA_TYPE&);
};
} //end namespace WebmMuxLib