Add pgs color type setting
[xy_vsfilter.git] / include / realmedia / rmaclsnk.h
blobac66fe0b4477352e3d93654a22750f6aed65aad6
1 /****************************************************************************
2 *
3 * $Id: rmaclsnk.h 7 2003-05-30 02:18:02Z gabest $
5 * Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
6 *
7 * http://www.real.com/devzone
9 * This program contains proprietary
10 * information of Progressive Networks, Inc, and is licensed
11 * subject to restrictions on use and distribution.
14 * Client Advise Sink Interfaces
18 #ifndef _RMACLSNK_H_
19 #define _RMACLSNK_H_
22 * Forward declarations of some interfaces defined or used here-in.
24 typedef _INTERFACE IRMAClientAdviseSink IRMAClientAdviseSink;
26 /****************************************************************************
28 * Interface:
30 * IRMAClientAdviseSink
32 * Purpose:
34 * Interface supplied by client to core to receive notifications of
35 * status changes.
37 * IID_IRMAClientAdviseSink:
39 * {00000B00-0901-11d1-8B06-00A024406D59}
43 DEFINE_GUID(IID_IRMAClientAdviseSink, 0x00000B00, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
44 0xa0, 0x24, 0x40, 0x6d, 0x59);
46 #undef INTERFACE
47 #define INTERFACE IRMAClientAdviseSink
49 DECLARE_INTERFACE_(IRMAClientAdviseSink, IUnknown)
52 * IUnknown methods
54 STDMETHOD(QueryInterface) (THIS_
55 REFIID riid,
56 void** ppvObj) PURE;
58 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
60 STDMETHOD_(ULONG,Release) (THIS) PURE;
63 * IRMAClientAdviseSink methods
66 /************************************************************************
67 * Method:
68 * IRMAClientAdviseSink::OnPosLength
69 * Purpose:
70 * Called to advise the client that the position or length of the
71 * current playback context has changed.
73 STDMETHOD(OnPosLength) (THIS_
74 UINT32 ulPosition,
75 UINT32 ulLength) PURE;
77 /************************************************************************
78 * Method:
79 * IRMAClientAdviseSink::OnPresentationOpened
80 * Purpose:
81 * Called to advise the client a presentation has been opened.
83 STDMETHOD(OnPresentationOpened) (THIS) PURE;
85 /************************************************************************
86 * Method:
87 * IRMAClientAdviseSink::OnPresentationClosed
88 * Purpose:
89 * Called to advise the client a presentation has been closed.
91 STDMETHOD(OnPresentationClosed) (THIS) PURE;
93 /************************************************************************
94 * Method:
95 * IRMAClientAdviseSink::OnStatisticsChanged
96 * Purpose:
97 * Called to advise the client that the presentation statistics
98 * have changed.
100 STDMETHOD(OnStatisticsChanged) (THIS) PURE;
102 /************************************************************************
103 * Method:
104 * IRMAClientAdviseSink::OnPreSeek
105 * Purpose:
106 * Called by client engine to inform the client that a seek is
107 * about to occur. The render is informed the last time for the
108 * stream's time line before the seek, as well as the first new
109 * time for the stream's time line after the seek will be completed.
112 STDMETHOD(OnPreSeek) (THIS_
113 ULONG32 ulOldTime,
114 ULONG32 ulNewTime) PURE;
116 /************************************************************************
117 * Method:
118 * IRMAClientAdviseSink::OnPostSeek
119 * Purpose:
120 * Called by client engine to inform the client that a seek has
121 * just occurred. The render is informed the last time for the
122 * stream's time line before the seek, as well as the first new
123 * time for the stream's time line after the seek.
126 STDMETHOD(OnPostSeek) (THIS_
127 ULONG32 ulOldTime,
128 ULONG32 ulNewTime) PURE;
130 /************************************************************************
131 * Method:
132 * IRMAClientAdviseSink::OnStop
133 * Purpose:
134 * Called by client engine to inform the client that a stop has
135 * just occurred.
138 STDMETHOD(OnStop) (THIS) PURE;
140 /************************************************************************
141 * Method:
142 * IRMAClientAdviseSink::OnPause
143 * Purpose:
144 * Called by client engine to inform the client that a pause has
145 * just occurred. The render is informed the last time for the
146 * stream's time line before the pause.
149 STDMETHOD(OnPause) (THIS_
150 ULONG32 ulTime) PURE;
152 /************************************************************************
153 * Method:
154 * IRMAClientAdviseSink::OnBegin
155 * Purpose:
156 * Called by client engine to inform the client that a begin or
157 * resume has just occurred. The render is informed the first time
158 * for the stream's time line after the resume.
161 STDMETHOD(OnBegin) (THIS_
162 ULONG32 ulTime) PURE;
164 /************************************************************************
165 * Method:
166 * IRMAClientAdviseSink::OnBuffering
167 * Purpose:
168 * Called by client engine to inform the client that buffering
169 * of data is occuring. The render is informed of the reason for
170 * the buffering (start-up of stream, seek has occurred, network
171 * congestion, etc.), as well as percentage complete of the
172 * buffering process.
175 STDMETHOD(OnBuffering) (THIS_
176 ULONG32 ulFlags,
177 UINT16 unPercentComplete) PURE;
179 /************************************************************************
180 * Method:
181 * IRMAClientAdviseSink::OnContacting
182 * Purpose:
183 * Called by client engine to inform the client is contacting
184 * hosts(s).
187 STDMETHOD(OnContacting) (THIS_
188 const char* pHostName) PURE;
191 #endif /* _RMACLSNK_H_ */