82 lines
1.9 KiB
Plaintext
82 lines
1.9 KiB
Plaintext
/*
|
|
* Copyright (C) 2008 Google (Lei Zhang)
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
/* import "dxtrans.idl"; */
|
|
import "amstream.idl";
|
|
import "msxml.idl";
|
|
|
|
[
|
|
object,
|
|
uuid(0579154A-2B53-4994-B0D0-E773148EFF85),
|
|
local,
|
|
pointer_default(unique)
|
|
]
|
|
interface ISampleGrabberCB : IUnknown
|
|
{
|
|
HRESULT SampleCB(
|
|
double SampleTime,
|
|
IMediaSample * pSample
|
|
);
|
|
HRESULT BufferCB(
|
|
double SampleTime,
|
|
BYTE * pBuffer,
|
|
long BufferLen
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(6B652FFF-11FE-4fce-92AD-0266B5D7C78F),
|
|
local,
|
|
pointer_default(unique)
|
|
]
|
|
interface ISampleGrabber: IUnknown
|
|
{
|
|
HRESULT SetOneShot(
|
|
BOOL OneShot
|
|
);
|
|
|
|
HRESULT SetMediaType(
|
|
const AM_MEDIA_TYPE * pType
|
|
);
|
|
|
|
HRESULT GetConnectedMediaType(
|
|
AM_MEDIA_TYPE * pType
|
|
);
|
|
|
|
HRESULT SetBufferSamples(
|
|
BOOL BufferThem
|
|
);
|
|
|
|
HRESULT GetCurrentBuffer(
|
|
[in,out] long * pBufferSize,
|
|
[out] long * pBuffer
|
|
);
|
|
|
|
HRESULT GetCurrentSample(
|
|
[out] IMediaSample ** ppSample
|
|
);
|
|
|
|
HRESULT SetCallback(
|
|
ISampleGrabberCB * pCallback,
|
|
long WhichMethodToCallback
|
|
);
|
|
};
|