bump product version to 4.1.6.2
[LibreOffice.git] / avmedia / source / win / interface.hxx
blob09fb7922aef9017ba7e966cffecdf78d68d3dc1b
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 extern "C" const CLSID CLSID_MediaDet;
21 extern "C" const IID IID_IMediaDet;
22 struct ISampleGrabber;
24 struct
25 #ifndef __MINGW32__
26 __declspec(uuid("65BD0710-24D2-4ff7-9324-ED2E5D3ABAFA")) __declspec(novtable)
27 #endif
28 IMediaDet : public IUnknown
30 public:
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;
72 extern "C" const IID IID_ISampleGrabberCB;
73 struct
74 #ifndef __MINGW32__
75 __declspec(uuid("0579154A-2B53-4994-B0D0-E773148EFF85")) __declspec(novtable)
76 #endif
77 ISampleGrabberCB : public IUnknown
79 public:
80 virtual HRESULT __stdcall SampleCB(
81 double SampleTime,
82 IMediaSample *pSample) = 0;
83 virtual HRESULT __stdcall BufferCB(
84 double SampleTime,
85 BYTE *pBuffer,
86 long BufferLen) = 0;
89 extern "C" const IID IID_ISampleGrabber;
90 struct
91 #ifndef __MINGW32__
92 __declspec(uuid("6B652FFF-11FE-4fce-92AD-0266B5D7C78F")) __declspec(novtable)
93 #endif
94 ISampleGrabber : public IUnknown
96 public:
97 virtual HRESULT __stdcall SetOneShot(
98 BOOL OneShot) = 0;
99 virtual HRESULT __stdcall SetMediaType(
100 const AM_MEDIA_TYPE *pType) = 0;
101 virtual HRESULT __stdcall GetConnectedMediaType(
102 AM_MEDIA_TYPE *pType) = 0;
103 virtual HRESULT __stdcall SetBufferSamples(
104 BOOL BufferThem) = 0;
105 virtual HRESULT __stdcall GetCurrentBuffer(
106 long *pBufferSize,
107 long *pBuffer) = 0;
108 virtual HRESULT __stdcall GetCurrentSample(
109 IMediaSample **ppSample) = 0;
110 virtual HRESULT __stdcall SetCallback(
111 ISampleGrabberCB *pCallback,
112 long WhichMethodToCallback) = 0;
116 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */