blob: d33976a28c636e857aacf8baf76b9a40057f6aa7 [file]
// 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.h"
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