1 /****************************************************************************
3 * $Id: rmaclsnk.h 7 2003-05-30 02:18:02Z gabest $
5 * Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
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
22 * Forward declarations of some interfaces defined or used here-in.
24 typedef _INTERFACE IRMAClientAdviseSink IRMAClientAdviseSink
;
26 /****************************************************************************
30 * IRMAClientAdviseSink
34 * Interface supplied by client to core to receive notifications of
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);
47 #define INTERFACE IRMAClientAdviseSink
49 DECLARE_INTERFACE_(IRMAClientAdviseSink
, IUnknown
)
54 STDMETHOD(QueryInterface
) (THIS_
58 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
60 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
63 * IRMAClientAdviseSink methods
66 /************************************************************************
68 * IRMAClientAdviseSink::OnPosLength
70 * Called to advise the client that the position or length of the
71 * current playback context has changed.
73 STDMETHOD(OnPosLength
) (THIS_
75 UINT32 ulLength
) PURE
;
77 /************************************************************************
79 * IRMAClientAdviseSink::OnPresentationOpened
81 * Called to advise the client a presentation has been opened.
83 STDMETHOD(OnPresentationOpened
) (THIS
) PURE
;
85 /************************************************************************
87 * IRMAClientAdviseSink::OnPresentationClosed
89 * Called to advise the client a presentation has been closed.
91 STDMETHOD(OnPresentationClosed
) (THIS
) PURE
;
93 /************************************************************************
95 * IRMAClientAdviseSink::OnStatisticsChanged
97 * Called to advise the client that the presentation statistics
100 STDMETHOD(OnStatisticsChanged
) (THIS
) PURE
;
102 /************************************************************************
104 * IRMAClientAdviseSink::OnPreSeek
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_
114 ULONG32 ulNewTime
) PURE
;
116 /************************************************************************
118 * IRMAClientAdviseSink::OnPostSeek
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_
128 ULONG32 ulNewTime
) PURE
;
130 /************************************************************************
132 * IRMAClientAdviseSink::OnStop
134 * Called by client engine to inform the client that a stop has
138 STDMETHOD(OnStop
) (THIS
) PURE
;
140 /************************************************************************
142 * IRMAClientAdviseSink::OnPause
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 /************************************************************************
154 * IRMAClientAdviseSink::OnBegin
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 /************************************************************************
166 * IRMAClientAdviseSink::OnBuffering
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
175 STDMETHOD(OnBuffering
) (THIS_
177 UINT16 unPercentComplete
) PURE
;
179 /************************************************************************
181 * IRMAClientAdviseSink::OnContacting
183 * Called by client engine to inform the client is contacting
187 STDMETHOD(OnContacting
) (THIS_
188 const char* pHostName
) PURE
;
191 #endif /* _RMACLSNK_H_ */