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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

1 bearsoft 1.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