Full HTML for

Basic foilset Overview of Java Media Framework

Given by Grzegorz Lewandowski at Tango Group Internal Technology Seminars on Spring 99. Foils prepared May 19 99
Outside Index Summary of Material


Before JMF
What is JMF?
What's inside JMF?
How do we use JMF?
What's next?

Table of Contents for full HTML of Overview of Java Media Framework

Denote Foils where Image Critical
Denote Foils where HTML is sufficient

1 Java Media Framework
2 Overview
3 Before JMF
4 What is JMF?
5 JMF implementations
6 JMF functionality
7 JMF architecture
8 Player interface
9 Player interface (cont.)
10 DataSource interface
11 Control interface
12 How do we use JMF?
13 Basic functionality
14 Synchronization of streams
15 Extending JMF
16 Problems with JMF
17 What's next?
18 Reading about JMF

Outside Index Summary of Material



HTML version of Basic Foils prepared May 19 99

Foil 1 Java Media Framework

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Grzegorz Lewandowski

HTML version of Basic Foils prepared May 19 99

Foil 2 Overview

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Before JMF
What is JMF?
What's inside JMF?
How do we use JMF?
What's next?

HTML version of Basic Foils prepared May 19 99

Foil 3 Before JMF

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Limited custom solutions:
  • AWT for video
  • AudioClip or sun.audio.* for audio
Problems:
  • performance (video)
  • limited functionality (audio)
  • no standards

HTML version of Basic Foils prepared May 19 99

Foil 4 What is JMF?

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
JMF API
  • specifies a simple, unified architecture, messaging protocol, and programming interface for media playback
JMF implementations
  • implements JMF API
  • several implementations exist: Sun, Intel

HTML version of Basic Foils prepared May 19 99

Foil 5 JMF implementations

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Intel
  • for MS Windows - discontinued
Sun
  • cross-platform (written in Java)
  • platform specific (Solaris, MS Windows)
Other
  • Macintosh

HTML version of Basic Foils prepared May 19 99

Foil 6 JMF functionality

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Depends on implementation

HTML version of Basic Foils prepared May 19 99

Foil 7 JMF architecture

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Player
  • associated with media format
DataSource
  • associated with protocol
Control
  • provides control over players and data sources

HTML version of Basic Foils prepared May 19 99

Foil 8 Player interface

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Player
Controller
Clock
Duration
MediaHandler

HTML version of Basic Foils prepared May 19 99

Foil 9 Player interface (cont.)

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Reads data from DataSource (MediaHandler)
Renders media
Provides methods for retrieving AWT components, GUI and Controls
Can manage multiple Controllers

HTML version of Basic Foils prepared May 19 99

Foil 10 DataSource interface

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Is defined by transport protocol
  • RTP, file, HTTP
Manages connection to source of data
Provides simple information about data
  • content type
  • duration
Provides Controls

HTML version of Basic Foils prepared May 19 99

Foil 11 Control interface

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Provide uniform way for integrating arbitrary control over an object
API-compliant way to provide possibly non-compliant functionality
Single method: getControlComponent
It is possible to extend it: GainControl

HTML version of Basic Foils prepared May 19 99

Foil 12 How do we use JMF?

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Basic functionality
  • applet playing .wav files
Synchronization of several streams
  • synchronized video and audio streams
  • two synchronized audio streams
Extending JMF
  • adding new media formats

HTML version of Basic Foils prepared May 19 99

Foil 13 Basic functionality

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Very, very simple
Basic calls:
  • p = Manager.createPlayer( url );
  • p.start()
  • p.stop()
GUI:
  • getControlPanelComponent()
  • getVisualComponent()

HTML version of Basic Foils prepared May 19 99

Foil 14 Synchronization of streams

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Two ways:
  • simple
    • uses Player ability to control multiple Controllers
    • problem: simple synchronization model
  • hard
    • by hand
    • requires more coding
    • problem: differences between JMF implementations

HTML version of Basic Foils prepared May 19 99

Foil 15 Extending JMF

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
What we can change:
  • Add new media formats (Players)
  • Add new protocols (DataSources)
  • Add new controls
  • Replace old implementations
How to do it:
  • PacketManager class

HTML version of Basic Foils prepared May 19 99

Foil 16 Problems with JMF

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Implementations are not JMF API compliant
  • example: CachingControl
Implementations are different
  • media time
JMF API is complex and does not provide helpers

HTML version of Basic Foils prepared May 19 99

Foil 17 What's next?

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
JMF API 2.0 under development by Sun and IBM
  • promises new features (media capture)
  • still in development (early access April 1999)

HTML version of Basic Foils prepared May 19 99

Foil 18 Reading about JMF

From Overview of Java Media Framework Tango Group Internal Technology Seminars -- Spring 99. *
Full HTML Index
Essential JMF by Rob Gordon & Stephen Talley
http://java.sun.com/products/java-media/jmf/

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Wed May 19 1999