1 /****************************************************************************
3 * $Id: rmapsink.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 * RealMedia Architecture player creation interfaces.
22 * Forward declarations of some interfaces defined here-in.
24 typedef _INTERFACE IRMAPlayer IRMAPlayer
;
25 typedef _INTERFACE IRMAPlayerSinkControl IRMAPlayerSinkControl
;
26 typedef _INTERFACE IRMAPlayerSinkControl IRMAPlayerSinkControl
;
29 /****************************************************************************
33 * IRMAPlayerCreationSink
37 * PlayerCreation Sink Interface
39 * IID_IRMAPlayerCreationSink:
41 * {00002100-0901-11d1-8B06-00A024406D59}
44 DEFINE_GUID(IID_IRMAPlayerCreationSink
, 0x00002100, 0x901, 0x11d1, 0x8b,
45 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
47 #define INTERFACE IRMAPlayerCreationSink
49 DECLARE_INTERFACE_(IRMAPlayerCreationSink
, IUnknown
)
54 STDMETHOD(QueryInterface
) (THIS_
58 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
60 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
63 * IRMAPlayerCreationSink Methods
66 /************************************************************************
68 * IRMAPlayerCreationSink::PlayerCreated
70 * Notification when a new player is created
73 STDMETHOD(PlayerCreated
) (THIS_
74 IRMAPlayer
* pPlayer
) PURE
;
76 /************************************************************************
78 * IRMAPlayerCreationSink::PlayerClosed
80 * Notification when an exisitng player is closed
83 STDMETHOD(PlayerClosed
) (THIS_
84 IRMAPlayer
* pPlayer
) PURE
;
88 /****************************************************************************
92 * IRMAPlayerSinkControl
96 * Player SinkControl Interface
98 * IID_IRMAPlayerSinkControl:
100 * {00002101-0901-11d1-8B06-00A024406D59}
104 DEFINE_GUID(IID_IRMAPlayerSinkControl
, 0x00002101, 0x901, 0x11d1, 0x8b,
105 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
107 #define INTERFACE IRMAPlayerSinkControl
109 DECLARE_INTERFACE_(IRMAPlayerSinkControl
, IUnknown
)
114 STDMETHOD(QueryInterface
) (THIS_
118 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
120 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
123 * IRMAPlayerSinkControl Methods
126 /************************************************************************
128 * IRMAPlayerSinkControl::AddSink
133 STDMETHOD(AddSink
) (THIS_
134 IRMAPlayerCreationSink
* pSink
) PURE
;
136 /************************************************************************
138 * IRMAPlayerSinkControl::RemoveSink
140 * Remove an exisitng sink
143 STDMETHOD(RemoveSink
) (THIS_
144 IRMAPlayerCreationSink
* pSink
) PURE
;
147 #endif /* _RMAPSINK_H_ */