LibreOffice Module avmedia (master) 1
interface.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22extern "C" const CLSID CLSID_MediaDet;
23extern "C" const IID IID_IMediaDet;
24struct ISampleGrabber;
25
26struct
27__declspec(uuid("65BD0710-24D2-4ff7-9324-ED2E5D3ABAFA")) __declspec(novtable)
28IMediaDet : public IUnknown
29{
30public:
31 virtual HRESULT __stdcall get_Filter(
32 IUnknown **pVal) = 0;
33 virtual HRESULT __stdcall put_Filter(
34 IUnknown *newVal) = 0;
35 virtual HRESULT __stdcall get_OutputStreams(
36 long *pVal) = 0;
37 virtual HRESULT __stdcall get_CurrentStream(
38 long *pVal) = 0;
39 virtual HRESULT __stdcall put_CurrentStream(
40 long newVal) = 0;
41 virtual HRESULT __stdcall get_StreamType(
42 GUID *pVal) = 0;
43 virtual HRESULT __stdcall get_StreamTypeB(
44 BSTR *pVal) = 0;
45 virtual HRESULT __stdcall get_StreamLength(
46 double *pVal) = 0;
47 virtual HRESULT __stdcall get_Filename(
48 BSTR *pVal) = 0;
49 virtual HRESULT __stdcall put_Filename(
50 BSTR newVal) = 0;
51 virtual HRESULT __stdcall GetBitmapBits(
52 double StreamTime,
53 long *pBufferSize,
54 char *pBuffer,
55 long Width,
56 long Height) = 0;
57 virtual HRESULT __stdcall WriteBitmapBits(
58 double StreamTime,
59 long Width,
60 long Height,
61 BSTR Filename) = 0;
62 virtual HRESULT __stdcall get_StreamMediaType(
63 AM_MEDIA_TYPE *pVal) = 0;
64 virtual HRESULT __stdcall GetSampleGrabber(
65 ISampleGrabber **ppVal) = 0;
66 virtual HRESULT __stdcall get_FrameRate(
67 double *pVal) = 0;
68 virtual HRESULT __stdcall EnterBitmapGrabMode(
69 double SeekTime) = 0;
70
71protected:
72 ~IMediaDet() {}
73};
74
75extern "C" const IID IID_ISampleGrabberCB;
76struct
77__declspec(uuid("0579154A-2B53-4994-B0D0-E773148EFF85")) __declspec(novtable)
78ISampleGrabberCB : public IUnknown
79{
80public:
81 virtual HRESULT __stdcall SampleCB(
82 double SampleTime,
83 IMediaSample *pSample) = 0;
84 virtual HRESULT __stdcall BufferCB(
85 double SampleTime,
86 BYTE *pBuffer,
87 long BufferLen) = 0;
88
89protected:
90 ~ISampleGrabberCB() {}
91};
92
93extern "C" const IID IID_ISampleGrabber;
94struct
95__declspec(uuid("6B652FFF-11FE-4fce-92AD-0266B5D7C78F")) __declspec(novtable)
96ISampleGrabber : public IUnknown
97{
98public:
99 virtual HRESULT __stdcall SetOneShot(
100 BOOL OneShot) = 0;
101 virtual HRESULT __stdcall SetMediaType(
102 const AM_MEDIA_TYPE *pType) = 0;
103 virtual HRESULT __stdcall GetConnectedMediaType(
104 AM_MEDIA_TYPE *pType) = 0;
105 virtual HRESULT __stdcall SetBufferSamples(
106 BOOL BufferThem) = 0;
107 virtual HRESULT __stdcall GetCurrentBuffer(
108 long *pBufferSize,
109 long *pBuffer) = 0;
110 virtual HRESULT __stdcall GetCurrentSample(
111 IMediaSample **ppSample) = 0;
112 virtual HRESULT __stdcall SetCallback(
113 ISampleGrabberCB *pCallback,
114 long WhichMethodToCallback) = 0;
115
116protected:
117 ~ISampleGrabber() {}
118};
119
120/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
struct __declspec(uuid("0579154A-2B53-4994-B0D0-E773148EFF85")) __declspec(novtable) ISampleGrabberCB const IID IID_ISampleGrabber
Definition: interface.hxx:77
const CLSID CLSID_MediaDet
Definition: interface.hxx:22
const IID IID_IMediaDet
Definition: interface.hxx:23
struct __declspec(uuid("65BD0710-24D2-4ff7-9324-ED2E5D3ABAFA")) __declspec(novtable) IMediaDet const IID IID_ISampleGrabberCB
Definition: interface.hxx:27
CFUUIDRef uuid
const wchar_t *typedef BOOL
__declspec(dllexport) UINT __stdcall RestartIndexingService(MSIHANDLE)
unsigned char BYTE