2 * Copyright (C) 2008 Google (Lei Zhang)
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 /* import "dxtrans.idl"; */
22 import "amstream.idl";
27 uuid(0579154A-2B53-4994-B0D0-E773148EFF85),
29 pointer_default(unique)
31 interface ISampleGrabberCB : IUnknown
35 IMediaSample * pSample
46 uuid(6B652FFF-11FE-4fce-92AD-0266B5D7C78F),
48 pointer_default(unique)
50 interface ISampleGrabber: IUnknown
57 const AM_MEDIA_TYPE * pType
60 HRESULT GetConnectedMediaType(
64 HRESULT SetBufferSamples(
68 HRESULT GetCurrentBuffer(
69 [in,out] LONG * pBufferSize,
73 HRESULT GetCurrentSample(
74 [out] IMediaSample ** ppSample
78 ISampleGrabberCB * pCallback,
79 LONG WhichMethodToCallback
85 uuid(65bd0710-24d2-4FF7-9324-ed2e5d3abafa),
86 pointer_default(unique)
88 interface IMediaDet : IUnknown
98 HRESULT get_OutputStreams(
102 HRESULT get_CurrentStream(
106 HRESULT put_CurrentStream(
110 HRESULT get_StreamType(
114 HRESULT get_StreamTypeB(
118 HRESULT get_StreamLength(
122 HRESULT get_Filename(
126 HRESULT put_Filename(
130 HRESULT GetBitmapBits(
138 HRESULT WriteBitmapBits(
145 HRESULT get_StreamMediaType(
146 [out] AM_MEDIA_TYPE * pVal
149 HRESULT GetSampleGrabber(
150 [out] ISampleGrabber ** ppVal
153 HRESULT get_FrameRate(
157 HRESULT EnterBitmapGrabMode(
163 uuid(65BD0711-24D2-4ff7-9324-ED2E5D3ABAFA),
167 [default] interface IMediaDet;