include: Add some interface definitions for axextend.idl.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com> Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
49c33c920e
commit
cba0e8ec93
5 changed files with 267 additions and 0 deletions
|
@ -36,6 +36,7 @@ SOURCES = \
|
|||
avrt.h \
|
||||
axcore.idl \
|
||||
axextend.idl \
|
||||
axextendenums.h \
|
||||
basetsd.h \
|
||||
basetyps.h \
|
||||
bcrypt.h \
|
||||
|
@ -275,6 +276,7 @@ SOURCES = \
|
|||
excpt.h \
|
||||
exdisp.idl \
|
||||
exdispid.h \
|
||||
exposeenums2managed.h \
|
||||
fci.h \
|
||||
fdi.h \
|
||||
fileapi.h \
|
||||
|
@ -679,6 +681,7 @@ SOURCES = \
|
|||
uiautomationcore.idl \
|
||||
uiautomationcoreapi.h \
|
||||
uiribbon.idl \
|
||||
unexposeenums2managed.h \
|
||||
unknwn.idl \
|
||||
urlhist.idl \
|
||||
urlmon.idl \
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
#pragma makedep install
|
||||
#endif
|
||||
|
||||
#include <axextendenums.h>
|
||||
|
||||
interface IAMAnalogVideoDecoder;
|
||||
interface IAMAnalogVideoEncoder;
|
||||
interface IAMAudioInputMixer;
|
||||
|
@ -1288,3 +1290,184 @@ interface IAMVfwCaptureDialogs : IUnknown
|
|||
[in] long data1,
|
||||
[in] long data2);
|
||||
}
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(6a2e0670-28e4-11d0-a18c-00a0c9118956),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMVideoControl : IUnknown
|
||||
{
|
||||
HRESULT GetCaps([in] IPin *pin, [out] long *flags);
|
||||
HRESULT SetMode([in] IPin *pin, long mode);
|
||||
HRESULT GetMode([in] IPin *pin, [out] long *mode);
|
||||
HRESULT GetCurrentActualFrameRate([in] IPin *pin, [out] LONGLONG *frame_rate);
|
||||
HRESULT GetMaxAvailableFrameRate([in] IPin *pin, [in] long index,
|
||||
[in] SIZE dimensions, [out] LONGLONG *frame_rate);
|
||||
HRESULT GetFrameRateList([in] IPin *pin, [in] long index, [in] SIZE dimensions,
|
||||
[out] long *list_size, [out] LONGLONG **frame_rate);
|
||||
}
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(56ed71a0-af5f-11d0-b3f0-00aa003761c5),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMBufferNegotiation : IUnknown
|
||||
{
|
||||
HRESULT SuggestAllocatorProperties([in] const ALLOCATOR_PROPERTIES *prop);
|
||||
HRESULT GetAllocatorProperties([out] ALLOCATOR_PROPERTIES *prop);
|
||||
}
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(c6e13344-30ac-11d0-a18c-00a0c9118956),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMDroppedFrames : IUnknown
|
||||
{
|
||||
HRESULT GetNumDropped([out] long *number);
|
||||
HRESULT GetNumNotDropped([out] long *number);
|
||||
HRESULT GetDroppedInfo([in] long size, [out] long *array, [out] long *copied);
|
||||
HRESULT GetAverageFrameSize([out] long *size);
|
||||
}
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(62ea93ba-ec62-11d2-b770-00c04fb6bd3d),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMLatency : IUnknown
|
||||
{
|
||||
HRESULT GetLatency([in, out] REFERENCE_TIME *latency);
|
||||
}
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(f185fe76-e64e-11d2-b76e-00c04fb6bd3d),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMPushSource : IAMLatency
|
||||
{
|
||||
HRESULT GetPushSourceFlags([out] ULONG *flags);
|
||||
HRESULT SetPushSourceFlags([in] ULONG flags);
|
||||
HRESULT SetStreamOffset([in] REFERENCE_TIME offset);
|
||||
HRESULT GetStreamOffset([out] REFERENCE_TIME *offset);
|
||||
HRESULT GetMaxStreamOffset([out] REFERENCE_TIME *offset);
|
||||
HRESULT SetMaxStreamOffset([in] REFERENCE_TIME offset);
|
||||
};
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(c6e13343-30ac-11d0-a18c-00a0c9118956),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMVideoCompression : IUnknown
|
||||
{
|
||||
HRESULT put_KeyFrameRate([in] long frame_rate);
|
||||
HRESULT get_KeyFrameRate([out] long *frame_rate);
|
||||
HRESULT put_PFramesPerKeyFrame([in] long frame);
|
||||
HRESULT get_PFramesPerKeyFrame([out] long *frame);
|
||||
HRESULT put_Quality([in] double quality);
|
||||
HRESULT get_Quality([out] double *quality);
|
||||
HRESULT put_WindowSize([in] DWORDLONG size);
|
||||
HRESULT get_WindowSize([out] DWORDLONG *size);
|
||||
HRESULT GetInfo([out, size_is(*version_size)] LPWSTR version, [in, out] int *version_size,
|
||||
[out, size_is(*description_size)] LPWSTR description, [in, out] int *description_size,
|
||||
[out] long *frame_rate, [out] long *key, [out] double *quality, [out] long *capabilities);
|
||||
HRESULT OverrideKeyFrame([in] long number);
|
||||
HRESULT OverrideFrameSize([in] long number, [in] long size);
|
||||
}
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(c6e13380-30ac-11d0-a18c-00a0c9118956),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMCrossbar : IUnknown
|
||||
{
|
||||
HRESULT get_PinCounts([out] long *output, [out] long *intput);
|
||||
HRESULT CanRoute([in] long output, [in] long input);
|
||||
HRESULT Route([in] long output, [in] long input);
|
||||
HRESULT get_IsRoutedTo([in] long output, [out] long *input);
|
||||
HRESULT get_CrossbarPinInfo([in] BOOL is_input, [in] long index,
|
||||
[out] long *related, [out] long *type);
|
||||
}
|
||||
|
||||
typedef enum tagAMTunerEventType
|
||||
{
|
||||
AMTUNER_EVENT_CHANGED = 0x0001,
|
||||
} AMTunerEventType;
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(211a8760-03ac-11d1-8d13-00aa00bd8339),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMTunerNotification : IUnknown
|
||||
{
|
||||
HRESULT OnEvent([in] AMTunerEventType event);
|
||||
}
|
||||
|
||||
typedef enum tagAMTunerModeType
|
||||
{
|
||||
AMTUNER_MODE_DEFAULT = 0x0000,
|
||||
AMTUNER_MODE_TV = 0x0001,
|
||||
AMTUNER_MODE_FM_RADIO = 0x0002,
|
||||
AMTUNER_MODE_AM_RADIO = 0x0004,
|
||||
AMTUNER_MODE_DSS = 0x0008,
|
||||
} AMTunerModeType;
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(211a8761-03ac-11d1-8d13-00aa00bd8339),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMTuner : IUnknown
|
||||
{
|
||||
HRESULT put_Channel([in] long channel, [in] long video, [in] long audio);
|
||||
HRESULT get_Channel([out] long *channel, [out] long *video, [out] long *audio);
|
||||
HRESULT ChannelMinMax([out] long *min, [out] long *max);
|
||||
HRESULT put_CountryCode([in] long country);
|
||||
HRESULT get_CountryCode([out] long *country);
|
||||
HRESULT put_TuningSpace([in] long tuning_space);
|
||||
HRESULT get_TuningSpace([out] long *tuning_space);
|
||||
[local] HRESULT Logon([in] HANDLE user);
|
||||
HRESULT Logout();
|
||||
HRESULT SignalPresent([out] long *signal_strength);
|
||||
HRESULT put_Mode([in] AMTunerModeType mode);
|
||||
HRESULT get_Mode([out] AMTunerModeType *mode);
|
||||
HRESULT GetAvailableModes([out] long *modes);
|
||||
HRESULT RegisterNotificationCallBack([in] IAMTunerNotification *notify, [in] long events);
|
||||
HRESULT UnRegisterNotificationCallBack([in] IAMTunerNotification *notify);
|
||||
}
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(211a8766-03ac-11d1-8d13-00aa00bd8339),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IAMTVTuner : IAMTuner
|
||||
{
|
||||
HRESULT get_AvailableTVFormats([out] long *standard);
|
||||
HRESULT get_TVFormat([out] long *standard);
|
||||
HRESULT AutoTune([in] long channel, [out] long *signal);
|
||||
HRESULT StoreAutoTune();
|
||||
HRESULT get_NumInputConnections([out] long *number);
|
||||
HRESULT put_InputType([in] long index, [in] TunerInputType type);
|
||||
HRESULT get_InputType([in] long index, [out] TunerInputType *type);
|
||||
HRESULT put_ConnectInput([in] long index);
|
||||
HRESULT get_ConnectInput([out] long *index);
|
||||
HRESULT get_VideoFrequency([out] long *freq);
|
||||
HRESULT get_AudioFrequency([out] long *freq);
|
||||
}
|
||||
|
|
32
include/axextendenums.h
Normal file
32
include/axextendenums.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Copyright 2020 Jactry Zeng for CodeWeavers
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef AXEXTEND_ENUM_H
|
||||
#define AXEXTEND_ENUM_H
|
||||
|
||||
#include <exposeenums2managed.h>
|
||||
|
||||
ENUM16 TAG(TunerInputType)
|
||||
{
|
||||
TunerInputCable,
|
||||
TunerInputAntenna
|
||||
} TunerInputType;
|
||||
|
||||
#include <unexposeenums2managed.h>
|
||||
|
||||
#endif /* AXEXTEND_ENUM_H */
|
29
include/exposeenums2managed.h
Normal file
29
include/exposeenums2managed.h
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Copyright 2020 Jactry Zeng for CodeWeavers
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifdef MANAGED_ENUMS
|
||||
|
||||
#define TAG(x) x
|
||||
#define ENUM16 ENUM
|
||||
|
||||
#else /* MANAGED_ENUMS */
|
||||
|
||||
#define TAG(x) tag##x
|
||||
#define ENUM16 typedef enum
|
||||
|
||||
#endif /* MANAGED_ENUMS */
|
20
include/unexposeenums2managed.h
Normal file
20
include/unexposeenums2managed.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* Copyright 2020 Jactry Zeng for CodeWeavers
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#undef ENUM16
|
||||
#undef TAG
|
Loading…
Add table
Reference in a new issue