Support unrar64.dll
[xy_vsfilter.git] / include / realmedia / rmaslta.h
blobab412f37b98545ae4a7ea8a4a35efac08ae56af7
1 /****************************************************************************
2 *
3 * $Id: rmaslta.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 nformation of RealNetworks, Inc,
10 * and is licensed subject to restrictions on use and distribution.
13 * RealMedia Architecture Interfaces for Simulated Live Transfer Agent.
17 #ifndef _RMASLTA_H
18 #define _RMASLTA_H
20 /****************************************************************************
22 * Interface:
24 * IRMASLTA
26 * Purpose:
28 * Slta that works with RMA. Simulates a live stream from a file.
30 * IID_IRMASLTA
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)
41 * IUnknown methods
43 STDMETHOD(QueryInterface) (THIS_
44 REFIID riid,
45 void** ppvObj) PURE;
47 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
49 STDMETHOD_(ULONG,Release) (THIS) PURE;
52 * IRMASLTA methods
55 /************************************************************************
56 * Method:
57 * IRMASLTA::Connect
58 * Purpose:
59 * Connects the slta to a server.
61 STDMETHOD(Connect) (THIS_
62 const char* host,
63 UINT16 uPort,
64 const char* username,
65 const char* passwd,
66 const char* livefile
67 ) PURE;
69 /************************************************************************
70 * Method:
71 * IRMASLTA::SetTAC
72 * Purpose:
73 * Set the TAC info for the stream. This method MUST be called
74 * before Encode to have any effect.
76 STDMETHOD(SetTAC) (THIS_
77 const char* Title,
78 const char* Author,
79 const char* Copyright) PURE;
81 /************************************************************************
82 * Method:
83 * IRMASLTA:Encode
84 * Purpose:
85 * Start encoding the file to the server.
87 STDMETHOD(Encode)
88 (THIS_
89 const char* filename
90 ) PURE;
92 /************************************************************************
93 * Method:
94 * IRMASLTA:Disconnect
95 * Purpose:
96 * Disconnect the slta from the server.
98 STDMETHOD(Disconnect) (THIS) PURE;
101 /************************************************************************
102 * Method:
103 * IRMASLTA::SetTargetBandwidth
104 * Purpose:
105 * Sets the target bw for rule subscription.
107 STDMETHOD(SetTargetBandwidth) (THIS_
108 UINT32 ulTargetBW) PURE;
114 /****************************************************************************
116 * Interface:
118 * IRMASltaEvent
120 * Purpose:
122 * Allows events to be sent through an SLTA stream
124 * IID_IRMASltaEvent
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)
152 * IUnknown methods
154 STDMETHOD(QueryInterface) (THIS_
155 REFIID riid,
156 void** ppvObj) PURE;
158 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
160 STDMETHOD_(ULONG,Release) (THIS) PURE;
163 * IRMASltaEvent methods
166 /************************************************************************
167 * Method:
168 * IRMASltaEvent::SetEvent
169 * Purpose:
170 * Sends an event to the slta stream.
171 * nEventID must be one of the valid event IDs defined above.
173 STDMETHOD(SetEvent) (THIS_
174 UINT16 nEventID,
175 const char* szEventText) PURE;
177 /************************************************************************
178 * Method:
179 * IRMASltaEvent::SetRepeatedEvent
180 * Purpose:
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_
186 UINT16 nEventID,
187 const char* szEventText,
188 UINT32 ulFrequency) PURE;
191 #endif