org.vrspace.server.object
Class JMF

java.lang.Object
  extended byjava.util.Observable
      extended byorg.vrspace.server.VRObject
          extended byorg.vrspace.server.DBObject
              extended byorg.vrspace.server.PublicDBObject
                  extended byorg.vrspace.server.OwnedDBObject
                      extended byorg.vrspace.server.object.JMF
All Implemented Interfaces:
java.lang.Cloneable, Daemon, javax.media.datasink.DataSinkListener, java.util.EventListener, Owned, javax.media.rtp.ReceiveStreamListener

public class JMF
extends OwnedDBObject
implements Daemon, javax.media.datasink.DataSinkListener, javax.media.rtp.ReceiveStreamListener

JMF is a hub for JMF Players and streams. Early version.


Nested Class Summary
 class JMF.MediaThread
           
 
Field Summary
 boolean active
           
protected  javax.media.CaptureDeviceInfo audio
           
protected  Dispatcher dispatcher
           
protected  javax.media.Player player
           
protected  javax.media.Processor processor
           
 NetResource url
           
protected  javax.media.CaptureDeviceInfo video
           
 
Fields inherited from class org.vrspace.server.DBObject
db
 
Fields inherited from class org.vrspace.server.VRObject
db_id, primitiveMap, primitives
 
Constructor Summary
JMF()
           
 
Method Summary
 void addObserver(java.util.Observer o)
          Start transmit to Client - TODO
protected  JMF.MediaThread audioInit()
           
protected  void checkDone()
           
 void dataSinkUpdate(javax.media.datasink.DataSinkEvent dse)
           
 void deleteObserver(java.util.Observer o)
          Stop transmit to Client - TODO
 void init()
           
 void initialized()
          This is called on each Damon after dispatcher is initialized (space loaded & all daemons started)
static void main(java.lang.String[] args)
           
 void play(javax.media.MediaLocator location)
           
 void play(java.lang.String location)
           
protected  void playerInit()
           
 void receive()
           
 void shutdown()
           
 void startup(Dispatcher dispatcher)
           
 void transmit(java.lang.String address, javax.media.MediaLocator input, javax.media.Format format)
           
 void transmitAudio()
           
 void update(javax.media.rtp.event.ReceiveStreamEvent rse)
           
protected  JMF.MediaThread videoInit()
           
 
Methods inherited from class org.vrspace.server.OwnedDBObject
addOwner, isOwned, notifyOwners, ownershipRequired, processEvent, removeOwner, sendEvent
 
Methods inherited from class org.vrspace.server.PublicDBObject
setValue
 
Methods inherited from class org.vrspace.server.DBObject
delete, get, put, put
 
Methods inherited from class org.vrspace.server.VRObject
arrayToString, canRead, canWrite, clone, equals, fieldToText, fromString, fromText, getClassName, getField, getFields, getId, getID, getMemebers, hasField, hasMethod, isNew, newInstance, sendResponse, setField, setField, setField, setFields, setFields, stringToArray, toString, toText, toText, toText
 
Methods inherited from class java.util.Observable
clearChanged, countObservers, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

video

protected javax.media.CaptureDeviceInfo video

audio

protected javax.media.CaptureDeviceInfo audio

player

protected javax.media.Player player

processor

protected javax.media.Processor processor

dispatcher

protected Dispatcher dispatcher

active

public boolean active

url

public NetResource url
Constructor Detail

JMF

public JMF()
Method Detail

main

public static void main(java.lang.String[] args)

startup

public void startup(Dispatcher dispatcher)
Specified by:
startup in interface Daemon

shutdown

public void shutdown()
Specified by:
shutdown in interface Daemon

initialized

public void initialized()
Description copied from interface: Daemon
This is called on each Damon after dispatcher is initialized (space loaded & all daemons started)

Specified by:
initialized in interface Daemon

transmitAudio

public void transmitAudio()
                   throws java.lang.Exception
Throws:
java.lang.Exception

addObserver

public void addObserver(java.util.Observer o)
Start transmit to Client - TODO


deleteObserver

public void deleteObserver(java.util.Observer o)
Stop transmit to Client - TODO


transmit

public void transmit(java.lang.String address,
                     javax.media.MediaLocator input,
                     javax.media.Format format)
              throws java.io.IOException,
                     javax.media.NoDataSinkException,
                     javax.media.NoProcessorException,
                     javax.media.NoDataSourceException,
                     java.lang.InterruptedException
Throws:
java.io.IOException
javax.media.NoDataSinkException
javax.media.NoProcessorException
javax.media.NoDataSourceException
java.lang.InterruptedException

receive

public void receive()
             throws java.lang.Exception
Throws:
java.lang.Exception

init

public void init()

videoInit

protected JMF.MediaThread videoInit()
                             throws java.lang.Exception
Throws:
java.lang.Exception

audioInit

protected JMF.MediaThread audioInit()
                             throws java.lang.Exception
Throws:
java.lang.Exception

playerInit

protected void playerInit()

play

public void play(javax.media.MediaLocator location)
          throws java.lang.Exception
Throws:
java.lang.Exception

play

public void play(java.lang.String location)
          throws java.lang.Exception
Throws:
java.lang.Exception

checkDone

protected void checkDone()

dataSinkUpdate

public void dataSinkUpdate(javax.media.datasink.DataSinkEvent dse)
Specified by:
dataSinkUpdate in interface javax.media.datasink.DataSinkListener

update

public void update(javax.media.rtp.event.ReceiveStreamEvent rse)
Specified by:
update in interface javax.media.rtp.ReceiveStreamListener