1 /****************************************************************************
3 * $Id: rmaslta.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 nformation of RealNetworks, Inc,
10 * and is licensed subject to restrictions on use and distribution.
13 * RealMedia Architecture Interfaces for Simulated Live Transfer Agent.
20 /****************************************************************************
28 * Slta that works with RMA. Simulates a live stream from a file.
32 * {00000D00-b4c8-11d0-9995-00a0248da5f0}
35 DEFINE_GUID(IID_IRMASLTA
, 0x00000D00, 0xb4c8, 0x11d0, 0x99,
36 0x95, 0x0, 0xa0, 0x24, 0x8d, 0xa5, 0xf0);
38 DECLARE_INTERFACE_(IRMASLTA
, IUnknown
)
43 STDMETHOD(QueryInterface
) (THIS_
47 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
49 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
55 /************************************************************************
59 * Connects the slta to a server.
61 STDMETHOD(Connect
) (THIS_
69 /************************************************************************
73 * Set the TAC info for the stream. This method MUST be called
74 * before Encode to have any effect.
76 STDMETHOD(SetTAC
) (THIS_
79 const char* Copyright
) PURE
;
81 /************************************************************************
85 * Start encoding the file to the server.
92 /************************************************************************
96 * Disconnect the slta from the server.
98 STDMETHOD(Disconnect
) (THIS
) PURE
;
101 /************************************************************************
103 * IRMASLTA::SetTargetBandwidth
105 * Sets the target bw for rule subscription.
107 STDMETHOD(SetTargetBandwidth
) (THIS_
108 UINT32 ulTargetBW
) PURE
;
114 /****************************************************************************
122 * Allows events to be sent through an SLTA stream
126 * {00000D01-b4c8-11d0-9995-00a0248da5f0}
129 DEFINE_GUID(IID_IRMASltaEvent
, 0x00000D01, 0xb4c8, 0x11d0, 0x99,
130 0x95, 0x0, 0xa0, 0x24, 0x8d, 0xa5, 0xf0);
133 * Valid RMA event IDs.
136 #define RMA_EVENT_TITLE 0x0000
137 #define RMA_EVENT_AUTHOR 0x0001
138 #define RMA_EVENT_COPYRIGHT 0x0002
139 #define RMA_EVENT_SERVER_ALERT 0x0003
140 #define RMA_EVENT_PROGRESS_MESSAGE 0x0004
141 #define RMA_EVENT_TEXT_SIZE 0x0010
142 #define RMA_EVENT_TEXT 0x0011
143 #define RMA_EVENT_TEXT_ANCHOR 0x0012
144 #define RMA_EVENT_BROWSER_OPEN_URL 0x0020
145 #define RMA_EVENT_TOPIC 0x0030
146 #define RMA_EVENT_EMPTY 0x0200
147 #define RMA_EVENT_CUSTOM_BEGIN 0x0400
149 DECLARE_INTERFACE_(IRMASltaEvent
, IUnknown
)
154 STDMETHOD(QueryInterface
) (THIS_
158 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
160 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
163 * IRMASltaEvent methods
166 /************************************************************************
168 * IRMASltaEvent::SetEvent
170 * Sends an event to the slta stream.
171 * nEventID must be one of the valid event IDs defined above.
173 STDMETHOD(SetEvent
) (THIS_
175 const char* szEventText
) PURE
;
177 /************************************************************************
179 * IRMASltaEvent::SetRepeatedEvent
181 * Sets an event to be repeated every ulFrequency milliseconds.
182 * nEventID must be one of the valid event IDs defined above.
185 STDMETHOD(SetRepeatedEvent
) (THIS_
187 const char* szEventText
,
188 UINT32 ulFrequency
) PURE
;