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
;
172 E_NOTINTREE
= 0x80040400,
173 E_RENDER_ENGINE_IS_BROKEN
= 0x80040401,
174 E_MUST_INIT_RENDERER
= 0x80040402,
175 E_NOTDETERMINED
= 0x80040403,
176 E_NO_TIMELINE
= 0x80040404,
177 S_WARN_OUTPUTRESET
= 40404