JavaTM Media Framework 2.1 API
README and BINARY CODE LICENSE
Table of Contents
Introduction
The JavaTM Media Framework (JMF)
is an application programming interface (API) for incorporating media
data such as audio and video into Java applications and applets. It is
specifically designed to take advantage of Java platform features.
The JMF 1.0 API (the Java Media Player API) enables programmers to
develop Java programs for playback of time-based media. The JMF 2.0 API
extends the framework by providing support for capturing and storing
media data, controlling the type of processing that is performed during
playback, and performing custom processing on media data streams. In
addition, JMF 2.0 defines a plug-in API that enables advanced
developers and technology providers to more easily customize and extend
JMF functionality.
The latest implemenation of this API from Sun is JMF 2.1,
which added support for Sun Ray and Linux, along with
RTP/RTSP upgrades to work with other open-standard video
servers.
You can download all of the documentation for this
release, including the setup information and sample code, from:
http://java.sun.com/products/java-media/jmf/2.1/documentation.html
JMF 2.1 was developed by Sun Microsystems, Inc. and IBM Corporation.
Quick Install
Here are some quick instructions for installing JMF 2.1.
Complete instructions for setting up and running JMF are
available from the JMF web site at:
http://java.sun.com/products/java-media/jmf/2.1/setup.html
Installing JMF 2.1 or JMF 2.1 for Web Servers (i.e. Java versions)
The install package for Java clients is a zip file. Use a zip utility
to extract the files and then set your class path to reference the JMF
directory. For example:
On Solaris:
setenv JMFHOME /home/someuser/JMF2.1
setenv CLASSPATH $JMFHOME/lib/jmf.jar:.:${CLASSPATH}:
On AIX:
setenv JMFHOME /usr/JMF2.1
setenv CLASSPATH $JMFHOME/lib/jmf.jar:.:${CLASSPATH}:
On Windows:
set JMFHOME=C:\JMF2.1
set CLASSPATH=%JMFHOME%\lib\jmf.jar;.;%CLASSPATH%
Installing JMF 2.1 with Solaris Performance Pack
The Solaris install package contains an exectuable installation
program. Run the installation program to extract JMF and then set your
class path to reference the JMF directory. For example:
setenv JMFHOME /home/someuser/JMF2.1
setenv CLASSPATH $JMFHOME/lib/jmf.jar:$JMFHOME/lib/sound.jar:.:${CLASSPATH}
You'll also need to set your LD_LIBRARY_PATH (shared libraries path)
to point to the JMF libraries. For example:
setenv LD_LIBRARY_PATH $JMFHOME/lib:${LD_LIBRARY_PATH}
Installing JMF 2.1 with Windows Performance Pack
The Windows install package package contains an InstallShield
installation program. Run the installation program to extract JMF and
configure your environment variables.During installation, InstallShield
should automatically set up your CLASSPATH and PATH:
set CLASSPATH=%JMFHOME%\lib\jmf.jar;%JMFHOME%\lib\sound.jar;.;%CLASSPATH%
set PATH=%WINDIR%\System32;%PATH% (on Windows NT)
set PATH=%WINDIR%\System;%PATH% (on Windows 95/98)
Verifying your Installation
To verify that JMF is set up properly on your system, use the JMF Diagnostics
applet at:
http://java.sun.com/products/java-media/jmf/2.1/jmfdiagnostics.html
JMF Install Contents
This release contains the following directories:
- bin - contains scripts to launch a few java applications
- doc - contains release notes, issues and RTP Session Manager API docs
- lib - contains the compiled java classes and the compiled native
libraries for the JMF players
Distributing JMF with your Java software
Sun Microsystems allows vendors to distribute JMF 2.1 with their Java
software, as long as their software uses JMF 2.1 and provided they
follow the terms of the JMF 2.1 Binary Code License agreement.
This document uses the term "vendors" to refer to licensees,
developers, and independent software vendors (ISVs) who
license and distribute the JMF with their Java programs.
REQUIRED versus OPTIONAL FILES
Vendors must follow the terms of the JMF Binary Code License agreement,
which includes these terms:
- Don't arbitrarily subset the JMF. You may, however, omit those
files that have been designated below as "optional" or that are
removable by using the JMF Customizer Tool provided.
- Include in your product's license the provisions called out
in the JMF Binary Code License.
Bundling JMF
This Solaris and Windows version of the JMF comes with its own
installer that simplifies the installation of JMF. Other versions
of JMF are bundled in a zip file which needs to be unzipped to
be installed.
Vendors have the option of delivering the Solaris, Windows, and/or zip
install binaries with their software, and having the user run them
separately, or to bundle JMF directly with the install procedures of
thier software.
Required Files
All the files and directories in the lib directory are required
unless they are listed under Optional Files below or are
removable using the JMF Customizer Tool. Likewise, this
readme.html is a required file and must always be included
with JMF 2.1.
Optional Files
The following files are optional:
- doc/*
- bin/*
- lib/soundbank.gm
- lib/sound.jar
- lib/jsound.dll or lib/libjsound.so
JMF 2.1 Binary Code License
The JMF Binary Code License can be found on the web at:
http://java.sun.com/products/java-media/jmf/2.1/license.html
A copy of the license also appears below.
Sun Microsystems, Inc.
Binary Code License Agreement
READ THE TERMS OF THIS
AGREEMENT AND ANY PROVIDED
SUPPLEMENTAL LICENSE TERMS
(COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE MEDIA
PACKAGE. BY OPENING THE SOFTWARE MEDIA PACKAGE, YOU AGREE TO THE
TERMS OF THIS AGREEMENT. IF YOU ARE ACCESSING THE SOFTWARE
ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY SELECTING
THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT. IF YOU DO NOT AGREE
TO ALL THESE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR PLACE
OF PURCHASE FOR A REFUND OR, IF THE SOFTWARE IS ACCESSED
ELECTRONICALLY, SELECT THE "DECLINE" BUTTON AT THE END OF THIS
AGREEMENT.
- LICENSE TO USE. Sun grants you a non-exclusive and
non-transferable license for the internal use only of the accompanying
software and documentation and any error corrections provided by Sun
(collectively "Software"), by the number of users and the class of
computer hardware for which the corresponding fee has been paid.
- RESTRICTIONS. Software is confidential and copyrighted.
Title to Software and all associated intellectual property rights is
retained by Sun and/or its licensors. Except as specifically authorized
in any Supplemental License Terms, you may not make copies of Software,
other than a single copy of Software for archival purposes. Unless
enforcement is prohibited by applicable law, you may not modify,
decompile, or reverse engineer Software. You acknowledge that Software
is not designed, licensed or intended for use in the design,
construction, operation or maintenance of any nuclear facility. Sun
disclaims any express or implied warranty of fitness for such uses. No
right, title or interest in or to any trademark, service mark, logo or
trade name of Sun or its licensors is granted under this Agreement.
- LIMITED WARRANTY. Sun warrants to you that for a period of
ninety (90) days from the date of purchase, as evidenced by a copy of
the receipt, the media on which Software is furnished (if any) will be
free of defects in materials and workmanship under normal use. Except
for the foregoing, Software is provided "AS IS". Your exclusive remedy
and Sun's entire liability under this limited warranty will be at Sun's
option to replace Software media or refund the fee paid for Software.
- DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS AGREEMENT,
ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE
EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
- LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY
LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL,
INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY
OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO
USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. In no event will Sun's liability to you, whether in contract,
tort (including negligence), or otherwise, exceed the amount paid by
you for Software under this Agreement. The foregoing limitations will
apply even if the above stated warranty fails of its essential
purpose.
- Termination. This Agreement is effective until terminated.
You may terminate this Agreement at any time by destroying all copies
of Software. This Agreement will terminate immediately without notice
from Sun if you fail to comply with any provision of this Agreement.
Upon Termination, you must destroy all copies of Software.
- Export Regulations. All Software and technical data
delivered under this Agreement are subject to US export control laws
and may be subject to export or import regulations in other countries.
You agree to comply strictly with all such laws and regulations and
acknowledge that you have the responsibility to obtain such licenses to
export, re-export, or import as may be required after delivery to you.
- U.S. Government Restricted Rights. If Software is being
acquired by or on behalf of the U.S. Government or by a U.S. Government
prime contractor or subcontractor (at any tier), then the Government's
rights in Software and accompanying documentation will be only as set
forth in this Agreement; this is in accordance with 48 CFR 227.7201
through 227.7202-4 (for Department of Defense (DOD) acquisitions) and
with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
- Governing Law. Any action related to this Agreement will be
governed by California law and controlling U.S. federal law. No choice
of law rules of any jurisdiction will apply.
- Severability. If any provision of this Agreement is held to
be unenforceable, this Agreement will remain in effect with the
provision omitted, unless omission would frustrate the intent of the
parties, in which case this Agreement will immediately terminate.
- Integration. This Agreement is the entire agreement between
you and Sun relating to its subject matter. It supersedes all prior or
contemporaneous oral or written communications, proposals,
representations and warranties and prevails over any conflicting or
additional terms of any quote, order, acknowledgment, or other
communication between the parties relating to its subject matter during
the term of this Agreement. No modification of this Agreement will be
binding, unless in writing and signed by an authorized representative
of each party.
For inquiries please contact: Sun Microsystems, Inc.
901 San Antonio Road
Palo Alto, California 94303
JAVATM MEDIA FRAMEWORK VERSION 2.1
SUPPLEMENTAL LICENSE TERMS
These supplemental license terms ("Supplemental Terms") add to or
modify the terms of the Binary Code License Agreement (collectively,
the "Agreement"). Capitalized terms not defined in these Supplemental
Terms shall have the same meanings ascribed to them in the Agreement.
These Supplemental Terms shall supersede any inconsistent or
conflicting terms in the Agreement, or in any license contained within
the Software.
- Internal Use and Development License Grant.
Subject to the terms and conditions of this Agreement, including, but
not limited to, Section 3 (JavaTM
Technology Restrictions) of these Supplemental Terms, Sun grants you a
non-exclusive, non-transferable, limited license to reproduce
internally and use internally the binary form of the Software for the
sole purpose of designing, developing and testing your JavaTM applets and applications intended to run on a
compatible implementation of the JavaTM
platform ("Programs").
- License to Distribute Software.
In addition to the license granted in Section 1 (Internal Use and
Development License Grant) of these Supplemental Terms, subject to the
terms and conditions of this Agreement, including, but not limited to,
Section 3 (JavaTM Technology
Restrictions) of these Supplemental Terms, Sun grants you a
non-exclusive, non-transferable, limited license to reproduce and
distribute the Software in binary code form only, provided that you
- distribute the Software complete and unmodified (except that you
may omit those files specifically identified as "optional" in the
Software "README" file, which include samples, docs and bin files, or
that are removable by using the Software customizer tool provided),
only as part of, and for the sole purpose of running your Program(s)
into which the Software is incorporated,
- do not distribute additional software
intended to replace any component(s) of the Software,
- do not remove or alter any proprietary legends or notices
contained in the Software,
- only distribute the Software subject to a license agreement that
protects Sun's interests consistent with the terms contained in this
Agreement, and
- agree to defend and indemnify Sun and its licensors from and
against any damages, costs, liabilities, settlement amounts and/or
expenses (including attorneys' fees) incurred in connection with any
claim, lawsuit or action by any third party that arises or results
from the use or distribution of any and all Programs and/or Software.
- JavaTM Technology Restrictions.
You may not modify the JavaTM
Platform Interface ("JPI", identified as classes contained within the
"java" package or any subpackages of the "java" package), by creating
additional classes within the JPI or otherwise causing the addition to
or modification of the classes in the JPI. In the event that you create
an additional class and associated API(s) which
- extends the functionality of the Java Platform, and
- is exposed to third party software developers for the purpose of
developing additional software which invokes such additional API, you
must promptly publish broadly an accurate specification for such API
for free use by all developers. You may not create, or authorize your
licensees to create, additional classes, interfaces, packages or
subpackages that are in any way contained in or identified as "java",
"javax", "sun" or similar convention as specified by Sun in any class
file naming convention designation.
- JavaTM Runtime Availability.
Refer to the appropriate version of the
JavaTM Runtime Environment binary
code license (currently located at
http://www.java.sun.com/jdk/index.html) for the availability of
runtime code which may be distributed with
JavaTM applets and applications.
- Trademarks and Logos.
You acknowledge and agree as between you and Sun that Sun owns the
JavaTM trademark and all
JavaTM-related trademarks, service
marks, logos and other brand designations including the Coffee Cup logo
and Duke logo ("JavaTM Marks"),
and you agree to comply with the Sun Trademark and Logo Usage
Requirements currently located at
http://www.sun.com/policies/trademarks.
Any use you make of the JavaTM Marks
inures to Sun's benefit.
- Source Code.
Software may contain source code that is provided solely for reference
purposes pursuant to the terms of this Agreement. Source code may not
be redistributed.
- Termination for Infringement.
Either party may terminate this Agreement immediately should any
Software become, or in either party's opinion be likely to become, the
subject of a claim of infringement of any intellectual property right.
This page was created on 22-Dec-99.
Copyright 1995-1999, Sun Microsystems, Inc.
All Rights Reserved