af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright 2004 Christian Costa
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * a choice of LGPL license versions is made available with the language indicating
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * of the LGPL is applied is otherwise unspecified.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "unknwn.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "mmstream.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "strmif.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#include <ddraw.h>")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#include <mmsystem.h>")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#include <mmstream.h>")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#include <ddstream.h>")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#include <austream.h>")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#if 0")
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDirectDraw;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDirectDrawSurface;
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IAMMultiMediaStream;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IAMMediaStream;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IMediaStreamFilter;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IAMMediaTypeStream;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IAMMediaTypeSample;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncenum {
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_NOGRAPHTHREAD = 0x00000001
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncenum {
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_ADDDEFAULTRENDERER = 0x00000001,
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_CREATEPEER = 0x00000002,
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_STOPIFNOSAMPLES = 0x00000004,
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_NOSTALL = 0x00000008
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncenum {
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_RENDERTYPEMASK = 0x00000003,
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_RENDERTOEXISTING = 0x00000000,
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_RENDERALLSTREAMS = 0x00000001,
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_NORENDER = 0x00000002,
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_NOCLOCK = 0x00000004,
af062818b47340eef15700d2f0211576ba3506eevboxsync AMMSF_RUN = 0x00000008
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef [v1_enum] enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync Disabled = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync ReadData = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync RenderData = 2
af062818b47340eef15700d2f0211576ba3506eevboxsync} OUTPUT_STATE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsyncobject,
af062818b47340eef15700d2f0211576ba3506eevboxsyncuuid(7DB01C96-C0C3-11d0-8FF1-00C04FD9189D),
af062818b47340eef15700d2f0211576ba3506eevboxsyncdual,
af062818b47340eef15700d2f0211576ba3506eevboxsynchelpstring("IDirectShowStream Interface"),
af062818b47340eef15700d2f0211576ba3506eevboxsyncpointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDirectShowStream : IDispatch
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync [propget, id(1), helpstring("property FileName")] HRESULT FileName([out, retval] BSTR *pVal);
af062818b47340eef15700d2f0211576ba3506eevboxsync [propput, id(1), helpstring("property FileName")] HRESULT FileName([in] BSTR newVal);
af062818b47340eef15700d2f0211576ba3506eevboxsync [propget, id(2), helpstring("property Video")] HRESULT Video([out, retval] OUTPUT_STATE *pVal);
af062818b47340eef15700d2f0211576ba3506eevboxsync [propput, id(2), helpstring("propetry Video")] HRESULT Video([in] OUTPUT_STATE newVal);
af062818b47340eef15700d2f0211576ba3506eevboxsync [propget, id(3), helpstring("property Audio")] HRESULT Audio([out, retval] OUTPUT_STATE *pVal);
af062818b47340eef15700d2f0211576ba3506eevboxsync [propput, id(3), helpstring("propetry Audio")] HRESULT Audio([in] OUTPUT_STATE newVal);
af062818b47340eef15700d2f0211576ba3506eevboxsync};
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsyncobject,
af062818b47340eef15700d2f0211576ba3506eevboxsyncuuid(BEBE595C-9A6F-11d0-8FDE-00C04FD9189D),
af062818b47340eef15700d2f0211576ba3506eevboxsyncpointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IAMMultiMediaStream : IMultiMediaStream
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Initialize(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] STREAM_TYPE StreamType,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IGraphBuilder *pFilterGraph);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetFilterGraph(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IGraphBuilder **ppGraphBuilder);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetFilter(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IMediaStreamFilter **ppFilter);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddMediaStream(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IUnknown *pStreamObject,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const MSPID *PurposeId,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IMediaStream **ppNewStream);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OpenFile(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCWSTR pszFileName,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OpenMoniker(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IBindCtx *pCtx,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IMoniker *pMoniker,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Render(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsyncobject,
af062818b47340eef15700d2f0211576ba3506eevboxsyncuuid(BEBE595D-9A6F-11d0-8FDE-00C04FD9189D),
af062818b47340eef15700d2f0211576ba3506eevboxsyncpointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IAMMediaStream : IMediaStream
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Initialize(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IUnknown *pSourceObject,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFMSPID PurposeId,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] const STREAM_TYPE StreamType);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetState(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] FILTER_STATE State);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT JoinAMMultiMediaStream(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IAMMultiMediaStream *pAMMultiMediaStream);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT JoinFilter(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IMediaStreamFilter *pMediaStreamFilter);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT JoinFilterGraph(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IFilterGraph *pFilterGraph);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsyncobject,
af062818b47340eef15700d2f0211576ba3506eevboxsynclocal,
af062818b47340eef15700d2f0211576ba3506eevboxsyncuuid(BEBE595E-9A6F-11d0-8FDE-00C04FD9189D),
af062818b47340eef15700d2f0211576ba3506eevboxsyncpointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IMediaStreamFilter : IBaseFilter
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddMediaStream(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IAMMediaStream *pAMMediaStream);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetMediaStream(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFMSPID idPurpose,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IMediaStream **ppMediaStream);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EnumMediaStreams(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] long Index,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IMediaStream **ppMediaStream);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SupportSeeking(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BOOL bRenderer);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT ReferenceTimeToStreamTime(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] [out] REFERENCE_TIME *pTime);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetCurrentStreamTime(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] REFERENCE_TIME *pCurrentStreamTime);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT WaitUntil(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFERENCE_TIME WaitStreamTime);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Flush(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BOOL bCancelEOS);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EndOfStream();
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsyncobject,
af062818b47340eef15700d2f0211576ba3506eevboxsynclocal,
af062818b47340eef15700d2f0211576ba3506eevboxsyncuuid(AB6B4AFC-F6E4-11d0-900D-00C04FD9189D),
af062818b47340eef15700d2f0211576ba3506eevboxsyncpointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDirectDrawMediaSampleAllocator : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDirectDraw(IDirectDraw **ppDirectDraw);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsyncobject,
af062818b47340eef15700d2f0211576ba3506eevboxsynclocal,
af062818b47340eef15700d2f0211576ba3506eevboxsyncuuid(AB6B4AFE-F6E4-11d0-900D-00C04FD9189D),
af062818b47340eef15700d2f0211576ba3506eevboxsyncpointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDirectDrawMediaSample : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetSurfaceAndReleaseLock(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDirectDrawSurface **ppDirectDrawSurface,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] RECT * pRect);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT LockMediaSamplePointer(void);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsyncobject,
af062818b47340eef15700d2f0211576ba3506eevboxsynclocal,
af062818b47340eef15700d2f0211576ba3506eevboxsyncuuid(AB6B4AFA-F6E4-11d0-900D-00C04FD9189D),
af062818b47340eef15700d2f0211576ba3506eevboxsyncpointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IAMMediaTypeStream : IMediaStream
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetFormat(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] AM_MEDIA_TYPE * pMediaType,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetFormat(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] AM_MEDIA_TYPE * pMediaType,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CreateSample(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] long lSampleSize,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BYTE * pbBuffer,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IUnknown *pUnkOuter,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IAMMediaTypeSample ** ppAMMediaTypeSample);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetStreamAllocatorRequirements(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ALLOCATOR_PROPERTIES *pProps);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetStreamAllocatorRequirements(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ALLOCATOR_PROPERTIES *pProps);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsyncobject,
af062818b47340eef15700d2f0211576ba3506eevboxsynclocal,
af062818b47340eef15700d2f0211576ba3506eevboxsyncuuid(AB6B4AFB-F6E4-11d0-900D-00C04FD9189D),
af062818b47340eef15700d2f0211576ba3506eevboxsyncpointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IAMMediaTypeSample : IStreamSample
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetPointer(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BYTE *pBuffer,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] long lSize);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetPointer(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BYTE ** ppBuffer);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync long GetSize(void);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetTime(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] REFERENCE_TIME * pTimeStart,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] REFERENCE_TIME * pTimeEnd);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetTime(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFERENCE_TIME * pTimeStart,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFERENCE_TIME * pTimeEnd);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT IsSyncPoint(void);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetSyncPoint(
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bIsSyncPoint);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT IsPreroll(void);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetPreroll(
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bIsPreroll);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync long GetActualDataLength(void);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetActualDataLength(long Len);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetMediaType(
af062818b47340eef15700d2f0211576ba3506eevboxsync AM_MEDIA_TYPE **ppMediaType);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetMediaType(
af062818b47340eef15700d2f0211576ba3506eevboxsync AM_MEDIA_TYPE *pMediaType);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT IsDiscontinuity(void);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetDiscontinuity(
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL bDiscontinuity);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetMediaTime(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LONGLONG * pTimeStart,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LONGLONG * pTimeEnd);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetMediaTime(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LONGLONG * pTimeStart,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LONGLONG * pTimeEnd);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(49C47CE5-9BA4-11d0-8212-00C04FC32C45)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsynccoclass AMMultiMediaStream
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync [default] dispinterface IDirectShowStream;
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsynccpp_quote("DEFINE_GUID(CLSID_MediaStreamFilter, 0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")