qedit.idl revision 589fd26cedb2b4ebbed14f2964cad03cc8ebbca2
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster/*
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * Copyright (C) 2008 Google (Lei Zhang)
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster *
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * This library is free software; you can redistribute it and/or
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * modify it under the terms of the GNU Lesser General Public
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * License as published by the Free Software Foundation; either
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * version 2.1 of the License, or (at your option) any later version.
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster *
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * This library is distributed in the hope that it will be useful,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * but WITHOUT ANY WARRANTY; without even the implied warranty of
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * Lesser General Public License for more details.
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster *
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * You should have received a copy of the GNU Lesser General Public
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * License along with this library; if not, write to the Free Software
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster */
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster/*
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * other than GPL or LGPL is available it will apply instead, Sun elects to use only
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * a choice of LGPL license versions is made available with the language indicating
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * that LGPLv2 or any later version may be used, or where a choice of which version
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster * of the LGPL is applied is otherwise unspecified.
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster */
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Fosterimport "oaidl.idl";
0a99555401a033704f1f171baab6db11fb5528f2Allan Fosterimport "ocidl.idl";
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster/* import "dxtrans.idl"; */
5deb404a3d276c42ef3e4adef5e584211ab1e8ddjeff.schenkimport "amstream.idl";
0a99555401a033704f1f171baab6db11fb5528f2Allan Fosterimport "msxml.idl";
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster[
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster object,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster uuid(0579154A-2B53-4994-B0D0-E773148EFF85),
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster local,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster pointer_default(unique)
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster]
0a99555401a033704f1f171baab6db11fb5528f2Allan Fosterinterface ISampleGrabberCB : IUnknown
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster{
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster HRESULT SampleCB(
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster double SampleTime,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster IMediaSample * pSample
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster );
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster HRESULT BufferCB(
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster double SampleTime,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster BYTE * pBuffer,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster LONG BufferLen
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster );
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster}
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster[
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster object,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster uuid(6B652FFF-11FE-4fce-92AD-0266B5D7C78F),
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster local,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster pointer_default(unique)
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster]
0a99555401a033704f1f171baab6db11fb5528f2Allan Fosterinterface ISampleGrabber: IUnknown
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster{
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster HRESULT SetOneShot(
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster BOOL OneShot
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster );
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster HRESULT SetMediaType(
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster const AM_MEDIA_TYPE * pType
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster );
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster HRESULT GetConnectedMediaType(
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster AM_MEDIA_TYPE * pType
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster );
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster HRESULT SetBufferSamples(
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster BOOL BufferThem
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster );
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster HRESULT GetCurrentBuffer(
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster [in,out] LONG * pBufferSize,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster [out] LONG * pBuffer
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster );
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster HRESULT GetCurrentSample(
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster [out] IMediaSample ** ppSample
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster );
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster HRESULT SetCallback(
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster ISampleGrabberCB * pCallback,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster LONG WhichMethodToCallback
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster );
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster};
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster[
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster object,
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster uuid(65bd0710-24d2-4FF7-9324-ed2e5d3abafa),
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster pointer_default(unique)
0a99555401a033704f1f171baab6db11fb5528f2Allan Foster]
0a99555401a033704f1f171baab6db11fb5528f2Allan Fosterinterface IMediaDet : IUnknown
{
HRESULT get_Filter(
[out] IUnknown* *pVal
);
HRESULT put_Filter(
IUnknown* newVal
);
HRESULT get_OutputStreams(
[out] LONG *pVal
);
HRESULT get_CurrentStream(
[out] LONG *pVal
);
HRESULT put_CurrentStream(
LONG newVal
);
HRESULT get_StreamType(
[out] GUID *pVal
);
HRESULT get_StreamTypeB(
[out] BSTR *pVal
);
HRESULT get_StreamLength(
[out] double *pVal
);
HRESULT get_Filename(
[out] BSTR *pVal
);
HRESULT put_Filename(
BSTR newVal
);
HRESULT GetBitmapBits(
double StreamTime,
LONG * pBufferSize,
char * pBuffer,
LONG Width,
LONG Height
);
HRESULT WriteBitmapBits(
double StreamTime,
LONG Width,
LONG Height,
BSTR Filename
);
HRESULT get_StreamMediaType(
[out] AM_MEDIA_TYPE * pVal
);
HRESULT GetSampleGrabber(
[out] ISampleGrabber ** ppVal
);
HRESULT get_FrameRate(
[out] double *pVal
);
HRESULT EnterBitmapGrabMode(
double SeekTime
);
};
[
uuid(65BD0711-24D2-4ff7-9324-ED2E5D3ABAFA),
]
coclass MediaDet
{
[default] interface IMediaDet;
};