📄 fmjtest.java
字号:
package net.sf.fmj.test.compat.misc;import java.io.IOException;import java.net.InetAddress;import java.net.MalformedURLException;import java.net.URL;import java.net.UnknownHostException;import java.util.Vector;import javax.media.AudioDeviceUnavailableEvent;import javax.media.Buffer;import javax.media.CachingControlEvent;import javax.media.CaptureDeviceInfo;import javax.media.Clock;import javax.media.ClockStoppedException;import javax.media.Control;import javax.media.Controller;import javax.media.ControllerAdapter;import javax.media.ControllerClosedEvent;import javax.media.ControllerErrorEvent;import javax.media.ControllerListener;import javax.media.DataSink;import javax.media.Duration;import javax.media.Format;import javax.media.IncompatibleSourceException;import javax.media.IncompatibleTimeBaseException;import javax.media.Manager;import javax.media.MediaLocator;import javax.media.PlugIn;import javax.media.Processor;import javax.media.StopByRequestEvent;import javax.media.StopEvent;import javax.media.Time;import javax.media.TimeBase;import javax.media.Track;import javax.media.bean.playerbean.MediaPlayer;import javax.media.control.BufferControl;import javax.media.control.FramePositioningControl;import javax.media.control.MpegAudioControl;import javax.media.control.PortControl;import javax.media.datasink.DataSinkListener;import javax.media.format.RGBFormat;import javax.media.format.UnsupportedFormatException;import javax.media.format.VideoFormat;import javax.media.protocol.ContentDescriptor;import javax.media.protocol.DataSource;import javax.media.protocol.FileTypeDescriptor;import javax.media.protocol.Positionable;import javax.media.protocol.RateRange;import javax.media.protocol.SourceStream;import javax.media.rtp.EncryptionInfo;import javax.media.rtp.GlobalReceptionStats;import javax.media.rtp.GlobalTransmissionStats;import javax.media.rtp.InvalidSessionAddressException;import javax.media.rtp.LocalParticipant;import javax.media.rtp.RTPStream;import javax.media.rtp.ReceiveStreamListener;import javax.media.rtp.RemoteListener;import javax.media.rtp.SSRCInUseException;import javax.media.rtp.SendStream;import javax.media.rtp.SendStreamListener;import javax.media.rtp.SessionAddress;import javax.media.rtp.SessionListener;import javax.media.rtp.SessionManager;import javax.media.rtp.event.RTPEvent;import javax.media.rtp.rtcp.SourceDescription;import junit.framework.TestCase;import net.sf.fmj.test.compat.InterfaceClasses;/** * * @author Ken Larson * */public class FMJTest extends TestCase{ private static String generateCNAME() { // generates something like user@host final String hostname; try { hostname = InetAddress.getLocalHost().getHostName(); } catch (UnknownHostException e) { throw new RuntimeException(e); } return System.getProperty("user.name") + '@' + hostname; } public void testSourceDescription() { assertEquals(SourceDescription.generateCNAME(), generateCNAME()); } public void testRTPEvent() { if (false) System.out.println(new RTPEvent(new MySessionManager()).toString()); } class MySessionManager implements SessionManager { public void addFormat(Format arg0, int arg1) { } public void addPeer(SessionAddress arg0) throws IOException, InvalidSessionAddressException { } public void addReceiveStreamListener(ReceiveStreamListener arg0) { } public void addRemoteListener(RemoteListener arg0) { } public void addSendStreamListener(SendStreamListener arg0) { } public void addSessionListener(SessionListener arg0) { } public void closeSession(String arg0) { } public SendStream createSendStream(DataSource arg0, int arg1) throws UnsupportedFormatException, IOException { return null; } public SendStream createSendStream(int arg0, DataSource arg1, int arg2) throws UnsupportedFormatException, SSRCInUseException, IOException { return null; } public String generateCNAME() { return null; } public long generateSSRC() { return 0; } public Vector getActiveParticipants() { return null; } public Vector getAllParticipants() { return null; } public long getDefaultSSRC() { return 0; } public GlobalReceptionStats getGlobalReceptionStats() { return null; } public GlobalTransmissionStats getGlobalTransmissionStats() { return null; } public LocalParticipant getLocalParticipant() { return null; } public SessionAddress getLocalSessionAddress() { return null; } public int getMulticastScope() { return 0; } public Vector getPassiveParticipants() { return null; } public Vector getPeers() { return null; } public Vector getReceiveStreams() { return null; } public Vector getRemoteParticipants() { return null; } public Vector getSendStreams() { return null; } public SessionAddress getSessionAddress() { return null; } public RTPStream getStream(long arg0) { return null; } public int initSession(SessionAddress arg0, long arg1, SourceDescription[] arg2, double arg3, double arg4) throws InvalidSessionAddressException { return 0; } public int initSession(SessionAddress arg0, SourceDescription[] arg1, double arg2, double arg3) throws InvalidSessionAddressException { return 0; } public void removeAllPeers() { } public void removePeer(SessionAddress arg0) { } public void removeReceiveStreamListener(ReceiveStreamListener arg0) { } public void removeRemoteListener(RemoteListener arg0) { } public void removeSendStreamListener(SendStreamListener arg0) { } public void removeSessionListener(SessionListener arg0) { } public void setMulticastScope(int arg0) { } public int startSession(int arg0, EncryptionInfo arg1) throws IOException { return 0; } public int startSession(SessionAddress arg0, int arg1, EncryptionInfo arg2) throws IOException, InvalidSessionAddressException { return 0; } public int startSession(SessionAddress arg0, SessionAddress arg1, SessionAddress arg2, EncryptionInfo arg3) throws IOException, InvalidSessionAddressException { return 0; } public Object getControl(String arg0) { return null; } public Object[] getControls() { return null; } } public void testRateRange() { assertTrue(new RateRange(0, -1, 1, true).isExact()); assertTrue(new RateRange(0.f, -1.f, 1.f, true).getCurrentRate() == 0.f); assertTrue(new RateRange(0.f, -1.f, 1.f, true).getMaximumRate() == 1.f); assertTrue(new RateRange(0.f, -1.f, 1.f, true).getMinimumRate() == -1.f); assertTrue(new RateRange(0.f, -1.f, 1.f, true).setCurrentRate(1.f) == 1.f); assertTrue(new RateRange(0.f, -1.f, 1.f, true).setCurrentRate(2.f) == 2.f); } public void testControllerAdapter() { final StringBuffer b = new StringBuffer(); ControllerAdapter a = new ControllerAdapter() { //@Override public void stop(StopEvent arg0) { b.append("stop\n"); } //@Override public void stopByRequest(StopByRequestEvent arg0) { b.append("stopByRequest\n"); } }; a.controllerUpdate(new StopByRequestEvent(new MyController(), 0, 0, 0, null)); assertEquals(b.toString(), "stop\nstopByRequest\n"); } class MyController implements Controller { public void addControllerListener(ControllerListener arg0) { } public void close() { } public void deallocate() { } public Control getControl(String arg0) { return null; } public Control[] getControls() { return null; } public Time getStartLatency() { return null; } public int getState() { return 0; } public int getTargetState() { return 0; } public void prefetch() { } public void realize() { } public void removeControllerListener(ControllerListener arg0) { } public Time getDuration() { return null; } public long getMediaNanoseconds() { return 0; } public Time getMediaTime() { return null; } public float getRate() { return 0; } public Time getStopTime() { return null; } public Time getSyncTime() { return null; } public TimeBase getTimeBase() { return null; } public Time mapToTimeBase(Time arg0) throws ClockStoppedException { return null; } public void setMediaTime(Time arg0) { } public float setRate(float arg0) { return 0; } public void setStopTime(Time arg0) { } public void setTimeBase(TimeBase arg0) throws IncompatibleTimeBaseException { } public void stop() { } public void syncStart(Time arg0) { } } class MyDataSink implements DataSink { public void addDataSinkListener(DataSinkListener arg0) { } public void close() { } public String getContentType() { return null; } public MediaLocator getOutputLocator() { return null; } public void open() throws IOException, SecurityException { } public void removeDataSinkListener(DataSinkListener arg0) { } public void setOutputLocator(MediaLocator arg0) { } public void start() throws IOException { } public void stop() throws IOException { } public void setSource(DataSource arg0) throws IOException, IncompatibleSourceException { } public Object getControl(String arg0) { return null; } public Object[] getControls() { return null; } } public void testDataSinkEvent() { //System.out.println(new DataSinkEvent(new MyDataSink()).toString()); } public void testMediaLocator() throws MalformedURLException { try { new MediaLocator((String) null);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -