[PATCH 1/2] include: Add AMTimeline class and its dependencies.
Andrew Eikum
aeikum at codeweavers.com
Mon Apr 25 08:50:43 CDT 2016
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
On Sun, Apr 24, 2016 at 09:40:26PM -0600, Alex Henrie wrote:
> Cc: Andrew Eikum <aeikum at codeweavers.com>
>
> For https://bugs.winehq.org/show_bug.cgi?id=32473
>
> Matches the qedit.idl in the DirectX 8.1 SDK.
>
> Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
> ---
> include/qedit.idl | 639 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 639 insertions(+)
>
> diff --git a/include/qedit.idl b/include/qedit.idl
> index 1cf0996..d42e691 100644
> --- a/include/qedit.idl
> +++ b/include/qedit.idl
> @@ -167,6 +167,645 @@ coclass MediaDet
> [default] interface IMediaDet;
> };
>
> +[
> + object,
> + uuid(288581E0-66CE-11d2-918F-00C0DF10D434),
> + odl,
> + pointer_default(unique)
> +]
> +interface IMediaLocator : IUnknown
> +{
> + HRESULT FindMediaFile(
> + BSTR input,
> + BSTR filter,
> + BSTR * output,
> + long flags
> + );
> +
> + HRESULT AddFoundLocation(
> + BSTR dir
> + );
> +};
> +
> +typedef struct
> +{
> + BSTR name;
> + DISPID dispID;
> + LONG nValues;
> +} DEXTER_PARAM;
> +
> +typedef struct
> +{
> + VARIANT v;
> + REFERENCE_TIME rt;
> + DWORD dwInterp;
> +} DEXTER_VALUE;
> +
> +[
> + object,
> + uuid(AE9472BD-B0C3-11D2-8D24-00A0C9441E20),
> + pointer_default(unique)
> +]
> +interface IPropertySetter : IUnknown
> +{
> + HRESULT LoadXML(
> + [in] IUnknown * pxml
> + );
> +
> + HRESULT PrintXML(
> + [out] char * xml,
> + [in] int size,
> + [out] int * printed,
> + [in] int indent
> + );
> +
> + HRESULT CloneProps(
> + [out] IPropertySetter ** setter,
> + [in] REFERENCE_TIME start,
> + [in] REFERENCE_TIME stop
> + );
> +
> + HRESULT AddProp(
> + [in] DEXTER_PARAM param,
> + [in] DEXTER_VALUE * value
> + );
> +
> + HRESULT GetProps(
> + [out] LONG * params,
> + [out] DEXTER_PARAM ** param,
> + [out] DEXTER_VALUE ** value
> + );
> +
> + HRESULT FreeProps(
> + [in] LONG params,
> + [in] DEXTER_PARAM * param,
> + [in] DEXTER_VALUE * value
> + );
> +
> + HRESULT ClearProps();
> +
> + HRESULT SaveToBlob(
> + [out] LONG * size,
> + [out] BYTE ** blob
> + );
> +
> + HRESULT LoadFromBlob(
> + [in] LONG size,
> + [in] BYTE * blob
> + );
> +
> + HRESULT SetProps(
> + [in] IUnknown * target,
> + [in] REFERENCE_TIME now
> + );
> +};
> +
> +[
> + object,
> + uuid(E43E73A2-0EFA-11d3-9601-00A0C9441E20),
> + odl,
> + pointer_default(unique)
> +]
> +interface IAMErrorLog : IUnknown
> +{
> + HRESULT LogError(
> + long severity,
> + BSTR error_str,
> + long error_code,
> + long hresult,
> + [in] VARIANT * extra
> + );
> +};
> +
> +[
> + object,
> + uuid(963566DA-BE21-4eaf-88E9-35704F8F52A1),
> + odl,
> + pointer_default(unique)
> +]
> +interface IAMSetErrorLog : IUnknown
> +{
> + [propget] HRESULT ErrorLog(
> + [out, retval] IAMErrorLog ** log
> + );
> +
> + [propput] HRESULT ErrorLog(
> + [in] IAMErrorLog * log
> + );
> +};
> +
> +interface IAMTimeline;
> +interface IAMTimelineGroup;
> +interface IAMTimelineObj;
> +interface IAMTimelineSrc;
> +
> +typedef enum
> +{
> + TIMELINE_MAJOR_TYPE_COMPOSITE = 1,
> + TIMELINE_MAJOR_TYPE_TRACK = 2,
> + TIMELINE_MAJOR_TYPE_SOURCE = 4,
> + TIMELINE_MAJOR_TYPE_TRANSITION = 8,
> + TIMELINE_MAJOR_TYPE_EFFECT = 16,
> + TIMELINE_MAJOR_TYPE_GROUP = 128
> +} TIMELINE_MAJOR_TYPE;
> +
> +[
> + object,
> + uuid(78530B74-61F9-11D2-8CAD-00A024580902),
> + odl,
> + pointer_default(unique)
> +]
> +interface IAMTimeline : IUnknown
> +{
> + HRESULT CreateEmptyNode(
> + [out] IAMTimelineObj ** obj,
> + TIMELINE_MAJOR_TYPE type
> + );
> +
> + HRESULT AddGroup(
> + IAMTimelineObj * group
> + );
> +
> + HRESULT RemGroupFromList(
> + IAMTimelineObj * group
> + );
> +
> + HRESULT GetGroup(
> + [out] IAMTimelineObj ** group,
> + long index
> + );
> +
> + HRESULT GetGroupCount(
> + long * count
> + );
> +
> + HRESULT ClearAllGroups();
> +
> + HRESULT GetInsertMode(
> + long * mode
> + );
> +
> + HRESULT SetInsertMode(
> + long mode
> + );
> +
> + HRESULT EnableTransitions(
> + BOOL enabled
> + );
> +
> + HRESULT TransitionsEnabled(
> + BOOL * enabled
> + );
> +
> + HRESULT EnableEffects(
> + BOOL enabled
> + );
> +
> + HRESULT EffectsEnabled(
> + BOOL * enabled
> + );
> +
> + HRESULT SetInterestRange(
> + REFERENCE_TIME start,
> + REFERENCE_TIME stop
> + );
> +
> + HRESULT GetDuration(
> + REFERENCE_TIME * duration
> + );
> +
> + HRESULT GetDuration2(
> + double * duration
> + );
> +
> + HRESULT SetDefaultFPS(
> + double fps
> + );
> +
> + HRESULT GetDefaultFPS(
> + double * fps
> + );
> +
> + HRESULT IsDirty(
> + BOOL * dirty
> + );
> +
> + HRESULT GetDirtyRange(
> + REFERENCE_TIME * start,
> + REFERENCE_TIME * stop
> + );
> +
> + HRESULT GetCountOfType(
> + long group,
> + long * value,
> + long * value_with_comps,
> + TIMELINE_MAJOR_TYPE type
> + );
> +
> + HRESULT ValidateSourceNames(
> + long flags,
> + IMediaLocator * override,
> + LONG_PTR notify_event
> + );
> +
> + HRESULT SetDefaultTransition(
> + GUID * guid
> + );
> +
> + HRESULT GetDefaultTransition(
> + GUID * guid
> + );
> +
> + HRESULT SetDefaultEffect(
> + GUID * guid
> + );
> +
> + HRESULT GetDefaultEffect(
> + GUID * guid
> + );
> +
> + HRESULT SetDefaultTransitionB(
> + BSTR guidb
> + );
> +
> + HRESULT GetDefaultTransitionB(
> + [out,retval] BSTR * guidb
> + );
> +
> + HRESULT SetDefaultEffectB(
> + BSTR guidb
> + );
> +
> + HRESULT GetDefaultEffectB(
> + [out,retval] BSTR * guidb
> + );
> +};
> +
> +[
> + uuid(78530B75-61F9-11D2-8CAD-00A024580902)
> +]
> +coclass AMTimeline
> +{
> + [default] interface IAMTimeline;
> + interface IPersistStream;
> + interface IAMSetErrorLog;
> +};
> +
> +[
> + object,
> + uuid(9EED4F00-B8A6-11d2-8023-00C0DF10D434),
> + odl,
> + pointer_default(unique)
> +]
> +interface IAMTimelineGroup : IUnknown
> +{
> + HRESULT SetTimeline(
> + IAMTimeline * timeline
> + );
> +
> + HRESULT GetTimeline(
> + [out] IAMTimeline ** timeline
> + );
> +
> + HRESULT GetPriority(
> + long * priority
> + );
> +
> + HRESULT GetMediaType(
> + [out] AM_MEDIA_TYPE *
> + );
> +
> + HRESULT SetMediaType(
> + [in] AM_MEDIA_TYPE *
> + );
> +
> + HRESULT SetOutputFPS(
> + double fps
> + );
> +
> + HRESULT GetOutputFPS(
> + double * fps
> + );
> +
> + HRESULT SetGroupName(
> + BSTR name
> + );
> +
> + HRESULT GetGroupName(
> + [out,retval] BSTR * name
> + );
> +
> + HRESULT SetPreviewMode(
> + BOOL preview
> + );
> +
> + HRESULT GetPreviewMode(
> + BOOL * preview
> + );
> +
> + HRESULT SetMediaTypeForVB(
> + [in] long type
> + );
> +
> + HRESULT GetOutputBuffering(
> + [out] int * buffer
> + );
> +
> + HRESULT SetOutputBuffering(
> + [in] int buffer
> + );
> +
> + HRESULT SetSmartRecompressFormat(
> + long * format
> + );
> +
> + HRESULT GetSmartRecompressFormat(
> + long ** format
> + );
> +
> + HRESULT IsSmartRecompressFormatSet(
> + BOOL * set
> + );
> +
> + HRESULT IsRecompressFormatDirty(
> + BOOL * dirty
> + );
> +
> + HRESULT ClearRecompressFormatDirty();
> +
> + HRESULT SetRecompFormatFromSource(
> + IAMTimelineSrc * source
> + );
> +};
> +
> +[
> + object,
> + local,
> + uuid(78530B77-61F9-11D2-8CAD-00A024580902),
> + odl,
> + pointer_default(unique)
> +]
> +interface IAMTimelineObj : IUnknown
> +{
> + HRESULT GetStartStop(
> + REFERENCE_TIME * start,
> + REFERENCE_TIME * stop
> + );
> +
> + HRESULT GetStartStop2(
> + REFTIME * start, REFTIME * stop
> + );
> +
> + HRESULT FixTimes(
> + REFERENCE_TIME * start, REFERENCE_TIME * stop
> + );
> +
> + HRESULT FixTimes2(
> + REFTIME * start, REFTIME * stop
> + );
> +
> + HRESULT SetStartStop(
> + REFERENCE_TIME start,
> + REFERENCE_TIME stop
> + );
> +
> + HRESULT SetStartStop2(
> + REFTIME start,
> + REFTIME stop
> + );
> +
> + HRESULT GetPropertySetter(
> + [out,retval] IPropertySetter ** setter
> + );
> +
> + HRESULT SetPropertySetter(
> + IPropertySetter * setter
> + );
> +
> + HRESULT GetSubObject(
> + [out,retval] IUnknown ** obj
> + );
> +
> + HRESULT SetSubObject(
> + IUnknown * obj
> + );
> +
> + HRESULT SetSubObjectGUID(
> + GUID guid
> + );
> +
> + HRESULT SetSubObjectGUIDB(
> + BSTR guidb
> + );
> +
> + HRESULT GetSubObjectGUID(
> + GUID * guid
> + );
> +
> + HRESULT GetSubObjectGUIDB(
> + [out,retval] BSTR * guidb
> + );
> +
> + HRESULT GetSubObjectLoaded(
> + BOOL * loaded
> + );
> +
> + HRESULT GetTimelineType(
> + TIMELINE_MAJOR_TYPE * type
> + );
> +
> + HRESULT SetTimelineType(
> + TIMELINE_MAJOR_TYPE type
> + );
> +
> + HRESULT GetUserID(
> + long * id
> + );
> +
> + HRESULT SetUserID(
> + long id
> + );
> +
> + HRESULT GetGenID(
> + long * id
> + );
> +
> + HRESULT GetUserName(
> + [out,retval] BSTR * name
> + );
> +
> + HRESULT SetUserName(
> + BSTR name
> + );
> +
> + HRESULT GetUserData(
> + BYTE * data,
> + long * size
> + );
> +
> + HRESULT SetUserData(
> + BYTE * data,
> + long size
> + );
> +
> + HRESULT GetMuted(
> + BOOL * muted
> + );
> +
> + HRESULT SetMuted(
> + BOOL muted
> + );
> +
> + HRESULT GetLocked(
> + BOOL * locked
> + );
> +
> + HRESULT SetLocked(
> + BOOL locked
> + );
> +
> + HRESULT GetDirtyRange(
> + REFERENCE_TIME * start,
> + REFERENCE_TIME * stop
> + );
> +
> + HRESULT GetDirtyRange2(
> + REFTIME * start,
> + REFTIME * stop
> + );
> +
> + HRESULT SetDirtyRange(
> + REFERENCE_TIME start,
> + REFERENCE_TIME stop
> + );
> +
> + HRESULT SetDirtyRange2(
> + REFTIME start,
> + REFTIME stop
> + );
> +
> + HRESULT ClearDirty();
> +
> + HRESULT Remove();
> +
> + HRESULT RemoveAll();
> +
> + HRESULT GetTimelineNoRef(
> + IAMTimeline ** timeline
> + );
> +
> + HRESULT GetGroupIBelongTo(
> + [out] IAMTimelineGroup ** group
> + );
> +
> + HRESULT GetEmbedDepth(
> + long * depth
> + );
> +};
> +
> +[
> + object,
> + uuid(78530B79-61F9-11D2-8CAD-00A024580902),
> + odl,
> + pointer_default(unique)
> +]
> +interface IAMTimelineSrc : IUnknown
> +{
> + HRESULT GetMediaTimes(
> + REFERENCE_TIME * start,
> + REFERENCE_TIME * stop
> + );
> +
> + HRESULT GetMediaTimes2(
> + REFTIME * start,
> + REFTIME * stop
> + );
> +
> + HRESULT ModifyStopTime(
> + REFERENCE_TIME stop
> + );
> +
> + HRESULT ModifyStopTime2(
> + REFTIME stop
> + );
> +
> + HRESULT FixMediaTimes(
> + REFERENCE_TIME * start,
> + REFERENCE_TIME * stop
> + );
> +
> + HRESULT FixMediaTimes2(
> + REFTIME * start,
> + REFTIME * stop
> + );
> +
> + HRESULT SetMediaTimes(
> + REFERENCE_TIME Start,
> + REFERENCE_TIME Stop
> + );
> +
> + HRESULT SetMediaTimes2(
> + REFTIME Start,
> + REFTIME Stop
> + );
> +
> + HRESULT SetMediaLength(
> + REFERENCE_TIME length
> + );
> +
> + HRESULT SetMediaLength2(
> + REFTIME length
> + );
> +
> + HRESULT GetMediaLength(
> + REFERENCE_TIME * length
> + );
> +
> + HRESULT GetMediaLength2(
> + REFTIME * length
> + );
> +
> + HRESULT GetMediaName(
> + [out,retval] BSTR * name
> + );
> +
> + HRESULT SetMediaName(
> + BSTR name
> + );
> +
> + HRESULT SpliceWithNext(
> + IAMTimelineObj * next
> + );
> +
> + HRESULT GetStreamNumber(
> + long * num
> + );
> +
> + HRESULT SetStreamNumber(
> + long num
> + );
> +
> + HRESULT IsNormalRate(
> + BOOL * normal
> + );
> +
> + HRESULT GetDefaultFPS(
> + double * fps
> + );
> +
> + HRESULT SetDefaultFPS(
> + double fps
> + );
> +
> + HRESULT GetStretchMode(
> + int * mode
> + );
> +
> + HRESULT SetStretchMode(
> + int mode
> + );
> +};
> +
> enum
> {
> E_NOTINTREE = 0x80040400,
> --
> 2.8.0
>
More information about the wine-patches
mailing list