This chapter lists the header files and sample files you can use to create RealSystem G2 components; the chapters that follow describe in detail how to use these files. This chapter also describes plug-ins and other compiled binary files used with RealServer G2 and RealPlayer G2.
RealSystem executable files and libraries are included in the following subdirectories of the SDK's /bin directory. Note that some UNIX platforms may not include all the plug-ins listed below.
Free downloads of RealPlayer are available at http://www.real.com. The following table lists the plug-ins included with the client. Your license agreement determines which components you can distribute with any application that includes RealPlayer functionality.
Additional components (the JMF Base Classes) must be licensed from Javasoft for this feature of the RealSystem G2 SDK to function.
On UNIX and Windows NT, the SDK's bin/plugins directory holds the RealServer plug-ins listed below.
Downloads of RealServer are available at http://www.real.com/products/.
You can use the following utilities with RealSystem. They are installed with RealServer.
The include
directory of the SDK download contains the header files that describe the public interfaces of RealSystem. See "Appendix A: Interface List" for descriptions of the interfaces defined in these header files.
File | Defines |
---|---|
pnbastsd.h |
Definitions used by pntypes.h that correctly define the basic size types. |
pncom.h |
Definitions for items required for COM interfaces in RealSystem. |
pnresult.h |
Definitions for RealSystem status codes. |
pntypes.h |
Definitions for several types used in RealSystem. |
pnwintyp.h |
Definitions for several types related to Windows, Mac, and X-Windows GUI layers, as used in RealSystem. |
pxresult.h |
Additional return values. |
rmaaconf.h |
Autoconfiguration interfaces. |
rmaallow.h |
Allowance plug-in interfaces. |
rmaasm.h |
Adaptive Stream Management (ASM) and BackChannel interfaces. |
rmaausvc.h |
Audio Services interfaces. |
rmaauth.h |
Authentication and password handling interfaces. |
rmaauthn.h |
Validation interfaces. |
rmacfg.h |
Server configuration interfaces. |
rmaclsnk.h |
Client advise sink interfaces. |
rmacmenu.h |
Context menu interfaces. |
rmacomm.h |
Common utility interfaces. |
rmacore.h |
Client core interfaces. |
rmadb.h |
Database interfaces. |
rmadtcvt.h |
Data conversion and reversion interfaces. |
rmaencod.h |
Remote broadcasting interfaces. |
rmaengin.h |
Callback, networking, and scheduling interfaces. |
rmaerror.h |
Error reporting interfaces. |
rmaevent.h |
Definitions for classes of events. |
rmafiles.h |
File system plug-in interfaces. |
rmaformt.h |
File format and broadcast plug-in interfaces. |
rmagroup.h |
header file for declaration of various group interfaces: IRMAGroup, IRMAGroupManager, IRMAGroupSink. |
rmahyper.h |
Hypernavigation interfaces. |
rmaiids.h |
All IIDs used in RealSystem interfaces. |
rmalvpix.h |
Header file for RealPix live broadcast interfaces (IRMALiveRealPix and IRMALiveRealPixResponse ) and structs for library initialization, image initialization, and effects parameters |
rmalvtxt.h |
Header file for RealText live broadcast sample application. |
rmamon.h |
System monitoring interfaces. |
rmapckts.h |
Packet, buffer, and stream interfaces. |
rmapends.h |
Get pending status interface. |
rmaphook.h |
Client "hook" interface for recording presentations. |
rmaplgns.h |
Additional plug-in interfaces. |
rmaplugn.h |
Plug-in inspector interface. |
rmappv.h |
Pay-per-view interfaces. |
rmaprefs.h |
Persistent preferences interfaces. |
rmapsink.h |
Player creation interfaces. |
rmarendr.h |
Rendering plug-in interfaces. |
rmasite2.h |
Windowing interfaces complementing those in rmawin.h. |
rmaslta.h |
Simulated live transfer agent (SLTA) interfaces. |
rmasrc.h |
Packet source interfaces. |
rmaupgrd.h |
Automatic upgrade interfaces. |
rmavalue.h |
Option and key value interfaces. |
rmavsurf.h |
Platform-specific windowing functions. |
rmawin.h |
Windowing interfaces. |
rmaxmltg.h |
XMLTag object interfaces. |
The samples directory contains sample C++ files, as well as header files and make files or project files, for making RealSystem components. Use the sample files to learn about the RealSystem architecture and build your own plug-ins. The samples directory contains three subdirectories for introductory, intermediate, and advanced samples. Many of the samples include a directory of test data you can use for testing the compiled plug-in.
The samples/intro directory contains the following introductory sample file subdirectories. The sample file code in these subdirectories introduces basic RealSystem concepts and functionality.
Directory | Sample |
---|---|
authsys1 |
Authenticating file system plug-in. |
converter |
Data conversion plug-in for the server. This information is restored using the data reversion sample. |
exallow |
Basic allowance plug-in. |
ff1rendr |
Basic rendering plug-in. |
filefmt1 |
Basic file format plug-in. |
filesys1 |
Basic file system plug-in. |
hellowld |
A "hello world" plug-in that introduces basic features of RealSystem. |
reverter |
Data reversion plug-in for the player. This sample restores the information converted by the data conversion sample. |
The samples/intermed directory contains the following intermediate sample file subdirectories. The sample code in these subdirectories provides more advanced functionality than the introductory samples.
Directory | Sample |
---|---|
ex2strms |
Example file format plug-in that reads a container file of type .ef2 and plays two streams simultaneously. |
exauddev |
Example audio device application. |
exaudio |
Example midstream playback audio rendering plug-in. |
exauth |
Example authentication plug-in. |
exencaud |
Example RTP-audio remote broadcast encoder application. |
exencode |
Example live encoder based on the remote encoder API. |
exffplin |
Example file format plug-in that works with exrender. |
exlivess |
Example RealPix slideshow application. |
exlivpix |
Sample RealPix broadcast application. |
exlivpln |
Example broadcast plug-in. |
exlogpln |
Example logging plug-in. |
exlvtext |
Sample RealText broadcast application. |
exmonpln |
Example monitor plug-in. |
exppvpln |
Example pay-per-view plug-in. |
exrender |
Example rendering plug-in that works with exffplin. |
exvslta |
Example simulated live broadcast application. |
exvsrndr |
Example rendering plug-in using video surface interfaces. |
exwnrndr |
Example rendering plug-in for single-window display. |
mtestclnt |
Example Motif-based test client running on Unix only. |
pcmrendr |
Example implementation of a basic PCM audio rendering plug-in. |
pmffplin |
Example post-processed audio file format plug-in. |
pmrendr |
Example post-processed audio rendering plug-in. |
testplay |
Simplified RealSystem client application to test plug-ins. |
winhdrs |
Example of how to use RFC822 headers with the HTTP protocol. |
The samples/advanced directory contains the following advanced sample file subdirectories. The sample file code in these subdirectories illustrates more advanced RealSystem functionality than the intermediate samples.
Directory | Sample |
---|---|
exaudio |
Audio Services rendering plug-in that shows how to create a new player to start a new timeline and use it for instantaneous sound. |
expksink |
Monitor plug-in that receives notifications about and examines the headers and packets sent to the server from a live source. |
exrender |
Rendering plug-in that shows how to create a new player to start a new timeline and play continuous background music, or open a different, unrelated URL, such as a stream for an advertisement. |
exwlsite |
Top-level client that shows how to capture or intercept video frames. |
pcmrendr |
Audio Services rendering plug-in sample for PCM data that shows how to get notifications when the audio stream is running dry. |