Class JpegImagesToMovie

java.lang.Object
  extended by JpegImagesToMovie
All Implemented Interfaces:
javax.media.ControllerListener, javax.media.datasink.DataSinkListener

public class JpegImagesToMovie
extends Object
implements javax.media.ControllerListener, javax.media.datasink.DataSinkListener

This program takes a list of JPEG image files and converts them into a QuickTime or AVI movie.

Author:
Sun - orig, Barb Ericson ericson@cc.gatech.edu modified to use List instead of Vector and added methods for Quicktime and AVI

Nested Class Summary
(package private)  class JpegImagesToMovie.ImageDataSource
          A DataSource to read from a list of JPEG image files and turn that into a stream of JMF buffers.
(package private)  class JpegImagesToMovie.ImageSourceStream
          The source stream to go along with ImageDataSource.
 
Field Summary
(package private)  boolean fileDone
           
(package private)  boolean fileSuccess
           
(package private)  boolean stateTransitionOK
           
(package private)  Object waitFileSync
           
(package private)  Object waitSync
           
 
Constructor Summary
JpegImagesToMovie()
           
 
Method Summary
 void controllerUpdate(javax.media.ControllerEvent evt)
          Controller Listener.
(package private)  javax.media.DataSink createDataSink(javax.media.Processor p, javax.media.MediaLocator outML)
          Create the DataSink.
(package private) static javax.media.MediaLocator createMediaLocator(String url)
          Create a media locator from the given string.
 void dataSinkUpdate(javax.media.datasink.DataSinkEvent evt)
          Event handler for the file writer.
 boolean doIt(int width, int height, int frameRate, List<String> inFiles, javax.media.MediaLocator outML, String type)
          Method to write out the movie for a given type
 boolean doItAVI(int width, int height, int frameRate, List<String> inFiles, javax.media.MediaLocator outML)
          Method to write out an AVI movie
 boolean doItAVI(int width, int height, int frameRate, List<String> inFiles, javax.media.MediaLocator outML, String type)
          Method to write out the movie for an AVI movie
 boolean doItAVI(int width, int height, int frameRate, List<String> inFiles, String outputURL)
          Method to write out an AVI movie
 boolean doItQuicktime(int width, int height, int frameRate, List<String> inFiles, javax.media.MediaLocator outML)
          Method to write out a quicktime movie
 boolean doItQuicktime(int width, int height, int frameRate, List<String> inFiles, String outputURL)
          Method to write out a quicktime movie
static void main(String[] args)
           
(package private) static void prUsage()
           
(package private)  boolean waitForFileDone()
          Block until file writing is done.
(package private)  boolean waitForState(javax.media.Processor p, int state)
          Block until the processor has transitioned to the given state.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

waitSync

Object waitSync

stateTransitionOK

boolean stateTransitionOK

waitFileSync

Object waitFileSync

fileDone

boolean fileDone

fileSuccess

boolean fileSuccess
Constructor Detail

JpegImagesToMovie

public JpegImagesToMovie()
Method Detail

doItQuicktime

public boolean doItQuicktime(int width,
                             int height,
                             int frameRate,
                             List<String> inFiles,
                             javax.media.MediaLocator outML)
Method to write out a quicktime movie

Parameters:
width - the width of the resulting movie
height - the height of the resulting movie
frameRate - the number of frames per second
inFiles - string full path names of the frames
outML - the Media Locator

doItQuicktime

public boolean doItQuicktime(int width,
                             int height,
                             int frameRate,
                             List<String> inFiles,
                             String outputURL)
Method to write out a quicktime movie

Parameters:
width - the width of the resulting movie
height - the height of the resulting movie
frameRate - the number of frames per second
inFiles - string full path names of the frames
outputURL - the output URL for the movie

doItAVI

public boolean doItAVI(int width,
                       int height,
                       int frameRate,
                       List<String> inFiles,
                       String outputURL)
Method to write out an AVI movie

Parameters:
width - the width of the resulting movie
height - the height of the resulting movie
frameRate - the number of frames per second
inFiles - string full path names of the frames
outputURL - the output URL for the movie

doItAVI

public boolean doItAVI(int width,
                       int height,
                       int frameRate,
                       List<String> inFiles,
                       javax.media.MediaLocator outML)
Method to write out an AVI movie

Parameters:
width - the width of the resulting movie
height - the height of the resulting movie
frameRate - the number of frames per second
inFiles - string full path names of the frames
outML - the Media Locator

doIt

public boolean doIt(int width,
                    int height,
                    int frameRate,
                    List<String> inFiles,
                    javax.media.MediaLocator outML,
                    String type)
Method to write out the movie for a given type

Parameters:
width - the width of the resulting movie
height - the height of the resulting movie
frameRate - the number of frames per second
inFiles - string full path names of the frames
outML - the Media Locator
type - the VideoFormat type

doItAVI

public boolean doItAVI(int width,
                       int height,
                       int frameRate,
                       List<String> inFiles,
                       javax.media.MediaLocator outML,
                       String type)
Method to write out the movie for an AVI movie

Parameters:
width - the width of the resulting movie
height - the height of the resulting movie
frameRate - the number of frames per second
inFiles - string full path names of the frames
outML - the Media Locator
type - the VideoFormat type

createDataSink

javax.media.DataSink createDataSink(javax.media.Processor p,
                                    javax.media.MediaLocator outML)
Create the DataSink.


waitForState

boolean waitForState(javax.media.Processor p,
                     int state)
Block until the processor has transitioned to the given state. Return false if the transition failed.


controllerUpdate

public void controllerUpdate(javax.media.ControllerEvent evt)
Controller Listener.

Specified by:
controllerUpdate in interface javax.media.ControllerListener

waitForFileDone

boolean waitForFileDone()
Block until file writing is done.


dataSinkUpdate

public void dataSinkUpdate(javax.media.datasink.DataSinkEvent evt)
Event handler for the file writer.

Specified by:
dataSinkUpdate in interface javax.media.datasink.DataSinkListener

main

public static void main(String[] args)

prUsage

static void prUsage()

createMediaLocator

static javax.media.MediaLocator createMediaLocator(String url)
Create a media locator from the given string.