/[cvs]/api/include/DShowIDL/iamovie.idl
ViewVC logotype

Contents of /api/include/DShowIDL/iamovie.idl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Sun Jul 1 20:47:59 2001 UTC (23 years, 5 months ago) by bearsoft
Branch point for: lazy, MAIN
Initial revision

1 //------------------------------------------------------------------------------
2 // File: IAMovie.idl
3 //
4 // Desc:
5 //
6 // Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
7 //------------------------------------------------------------------------------
8
9
10 [
11 object,
12 uuid(359ace10-7688-11cf-8b23-00805f6cef60),
13 pointer_default(unique)
14 ]
15 interface IAMovie : IFilterGraph
16 {
17 // IGraphBuilder
18 // Connect these two pins directly or indirectly, using transform filters
19 // if necessary.
20
21 HRESULT Connect
22 ( [in] IPin * ppinOut, // the output pin
23 [in] IPin * ppinIn // the input pin
24 );
25
26
27 // Connect this output pin directly or indirectly, using transform filters
28 // if necessary to something that will render it.
29
30 HRESULT Render
31 ( [in] IPin * ppinOut // the output pin
32 );
33
34
35 // IMediaControl methods
36 HRESULT Run();
37 HRESULT Pause();
38 HRESULT Stop();
39
40 //returns the state. same semantics as IMediaFilter::GetState
41
42 HRESULT GetState(
43 [in] LONG msTimeout,
44 [out] FILTER_STATE* pfs);
45
46 // adds and connects filters needed to play the specified file
47 HRESULT RenderFile(
48 [in] LPCWSTR strFilename);
49
50 // adds to the graph the source filter that can read this file,
51 // and returns an IFilterInfo object for it
52 HRESULT AddSourceFilter(
53 [in] LPCWSTR strFilename,
54 [out] IBaseFilter ** ppUnk);
55
56 // get back the event handle. This is manual-reset
57 // (don't - it's reset by the event mechanism) and remains set
58 // when events are queued, and reset when the queue is empty.
59 HRESULT GetEventHandle(
60 [out] HEVENT * hEvent);
61
62 // remove the next event notification from the head of the queue and
63 // return it. Waits up to msTimeout millisecs if there are no events.
64 // if a timeout occurs without any events, this method will return
65 // E_ABORT, and the value of the event code and other parameters
66 // is undefined.
67 HRESULT GetEvent(
68 [out] long * lEventCode,
69 [out] long * lParam1,
70 [out] long * lParam2,
71 [in] long msTimeout
72 );
73
74 // Calls GetEvent repeatedly discarding events until it finds a
75 // completion event (EC_COMPLETE, EC_ERRORABORT, or EC_USERABORT).
76 // The completion event is removed from the queue and returned
77 // in pEvCode. Note that the object is still in running mode until
78 // a Pause or Stop call is made.
79 // If the timeout occurs, *pEvCode will be 0 and E_ABORT will be
80 // returned.
81 HRESULT WaitForCompletion(
82 [in] long msTimeout,
83 [out] long * pEvCode);
84
85 // cancels any system handling of the specified event code
86 // and ensures that the events are passed straight to the application
87 // (via GetEvent) and not handled. A good example of this is
88 // EC_REPAINT: default handling for this ensures the painting of the
89 // window and does not get posted to the app.
90 HRESULT CancelDefaultHandling(
91 [in] long lEvCode);
92
93 // restore the normal system default handling that may have been
94 // cancelled by CancelDefaultHandling().
95 HRESULT RestoreDefaultHandling( [in] long lEvCode);
96
97 // properties
98 HRESULT get_Duration(
99 [out] REFTIME* plength);
100
101 HRESULT put_CurrentPosition(
102 [in] REFTIME llTime);
103
104 HRESULT get_CurrentPosition(
105 [out] REFTIME* pllTime);
106
107 HRESULT get_StopTime(
108 [out] REFTIME* pllTime);
109
110 HRESULT put_StopTime(
111 [in] REFTIME llTime);
112
113 HRESULT get_PrerollTime(
114 [out] REFTIME* pllTime);
115 HRESULT put_PrerollTime(
116 [in] REFTIME llTime);
117
118 HRESULT put_Rate(
119 [in] double dRate);
120 HRESULT get_Rate(
121 [out] double * pdRate);
122
123 /* New methods */
124 HRESULT RemoveAllFilters();
125 HRESULT Play();
126 HRESULT PlayFile([in] LPCWSTR strFilename);
127 HRESULT EnumFiltersByInterface( [in] REFIID riid, [out] IEnumFilters ** ppEnum );
128 HRESULT EnumPins( [out] IEnumPins ** ppEnum );
129 HRESULT EnumPinsIn( [out] IEnumPins ** ppEnum );
130 HRESULT EnumPinsOut( [out] IEnumPins ** ppEnum );
131 HRESULT RenderAll();
132 HRESULT RenderNewFile( [in] LPCWSTR strFilename);
133
134 // Free any resources associated with the parameters to an event.
135 // Event parameters may be LONGs, IUnknown* or BSTR. No action
136 // is taken with LONGs. IUnknown are passed addrefed and need a
137 // Release call. BSTR are allocated by the task allocator and will be
138 // freed by calling the task allocator.
139 HRESULT FreeEventParams(
140 [in] long lEvCode,
141 [in] long lParam1,
142 [in] long lParam2);
143 }
144

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26