⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formattest.java

📁 FMJ(freedom media for java)是java视频开发的新选择
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
package net.sf.fmj.test.compat.formats;import java.awt.Dimension;import javax.media.Format;import javax.media.format.AudioFormat;import javax.media.format.H261Format;import javax.media.format.H263Format;import javax.media.format.IndexedColorFormat;import javax.media.format.JPEGFormat;import javax.media.format.RGBFormat;import javax.media.format.VideoFormat;import javax.media.format.YUVFormat;import com.sun.media.format.WavAudioFormat;import junit.framework.TestCase;/** *  * @author Ken Larson * */public class FormatTest extends TestCase{		class MyFormat extends Format	{		public MyFormat(String arg0, Class arg1)		{			super(arg0, arg1);		}		public MyFormat(String arg0)		{			super(arg0);		}				public Class getClazz()		{	return this.clz;		}			}		public void testWavFormat()	{				{			final WavAudioFormat f = new WavAudioFormat("abc");			assertEquals(f.getEncoding(), "abc");			assertEquals(f.getSampleRate(), (double) Format.NOT_SPECIFIED);			assertEquals(f.getSampleSizeInBits(), Format.NOT_SPECIFIED);			assertEquals(f.getChannels(), Format.NOT_SPECIFIED);			assertEquals(f.getFrameSizeInBits(), Format.NOT_SPECIFIED);			assertEquals(f.getAverageBytesPerSecond(), Format.NOT_SPECIFIED);			assertEquals(f.getFrameRate(), (double) Format.NOT_SPECIFIED);			assertEquals(f.getEndian(), Format.NOT_SPECIFIED);			assertEquals(f.getSigned(), Format.NOT_SPECIFIED);			assertEquals(f.getDataType(), Format.byteArray);		}				{			final WavAudioFormat f = new WavAudioFormat("abc", 1.0, 2, 3, 4, 5, 6, 7, 8.f, Format.byteArray, new byte[] {(byte) 0});			assertEquals(f.getEncoding(), "abc");			assertEquals(f.getSampleRate(), 1.0);			assertEquals(f.getSampleSizeInBits(), 2);			assertEquals(f.getChannels(), 3);			assertEquals(f.getFrameSizeInBits(), 4);			assertEquals(f.getAverageBytesPerSecond(), 5);			assertEquals(f.getFrameRate(), 5.0);			assertEquals(f.getEndian(), 6);			assertEquals(f.getSigned(), 7);			assertEquals(f.getDataType(), Format.byteArray);		}				{			final WavAudioFormat f = new WavAudioFormat("abc", 1.0, 2, 3, 4, 10, 6, 7, 8.f, Format.byteArray, new byte[] {(byte) 0});			assertEquals(f.getEncoding(), "abc");			assertEquals(f.getSampleRate(), 1.0);			assertEquals(f.getSampleSizeInBits(), 2);			assertEquals(f.getChannels(), 3);			assertEquals(f.getFrameSizeInBits(), 4);			assertEquals(f.getAverageBytesPerSecond(), 10);			assertEquals(f.getFrameRate(), 10.0);			assertEquals(f.getEndian(), 6);			assertEquals(f.getSigned(), 7);			assertEquals(f.getDataType(), Format.byteArray);		}				{			final WavAudioFormat f = new WavAudioFormat("abc", 1.0, 2, 3, 4, Format.NOT_SPECIFIED, 6, 7, 8.f, Format.byteArray, new byte[] {(byte) 0});			assertEquals(f.getEncoding(), "abc");			assertEquals(f.getSampleRate(), 1.0);			assertEquals(f.getSampleSizeInBits(), 2);			assertEquals(f.getChannels(), 3);			assertEquals(f.getFrameSizeInBits(), 4);			assertEquals(f.getAverageBytesPerSecond(), Format.NOT_SPECIFIED);			assertEquals(f.getFrameRate(), (double) Format.NOT_SPECIFIED);			assertEquals(f.getEndian(), 6);			assertEquals(f.getSigned(), 7);			assertEquals(f.getDataType(), Format.byteArray);		}				{			final WavAudioFormat f = new WavAudioFormat("abc", 1.0, 2, 3, 4, 5, new byte[] {(byte) 0});			assertEquals(f.getEncoding(), "abc");			assertEquals(f.getSampleRate(), 1.0);			assertEquals(f.getSampleSizeInBits(), 2);			assertEquals(f.getChannels(), 3);			assertEquals(f.getFrameSizeInBits(), 4);			assertEquals(f.getAverageBytesPerSecond(), 5);			assertEquals(f.getFrameRate(), 5.0);			assertEquals(f.getEndian(), Format.NOT_SPECIFIED);			assertEquals(f.getSigned(), Format.NOT_SPECIFIED);			assertEquals(f.getDataType(), Format.byteArray);		}					}		public void testToString()	{			// strings		assertEquals(new Format("abc").toString(), "abc");		assertEquals(new Format(null).toString(), null);		assertEquals(new Format("abc", Format.byteArray).toString(), "abc");		assertEquals(new Format("abc", Format.intArray).toString(), "abc");		assertEquals(new Format("abc", Format.shortArray).toString(), "abc");		assertEquals(new VideoFormat("abc").toString(), "ABC");		assertEquals(new VideoFormat(null).toString(), "N/A");		assertEquals(new VideoFormat(VideoFormat.MPEG).toString(), "MPEG");				assertEquals(new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.byteArray, 1.f).toString(), "MPEG, 0x0, FrameRate=1.0, Length=1000");		assertEquals(new VideoFormat(VideoFormat.MPEG, null, 1000, Format.byteArray, 1.f).toString(), "MPEG, FrameRate=1.0, Length=1000");		assertEquals(new VideoFormat(VideoFormat.MPEG, null, Format.NOT_SPECIFIED, Format.byteArray, 1.f).toString(), "MPEG, FrameRate=1.0");				assertEquals(new VideoFormat(VideoFormat.CINEPAK).toString(), "CVID");		assertEquals(new VideoFormat(VideoFormat.JPEG_RTP).toString(), "JPEG/RTP");		assertEquals(new VideoFormat(VideoFormat.IRGB).toString(), "IRGB");		assertEquals(new VideoFormat(VideoFormat.INDEO32).toString(), "IV32");				assertEquals(new YUVFormat().toString(), "YUV Video Format: Size = null MaxDataLength = -1 DataType = class [B yuvType = -1 StrideY = -1 StrideUV = -1 OffsetY = -1 OffsetU = -1 OffsetV = -1\n");		assertEquals(new YUVFormat(YUVFormat.YUV_111).toString(), "YUV Video Format: Size = null MaxDataLength = -1 DataType = class [B yuvType = 8 StrideY = -1 StrideUV = -1 OffsetY = -1 OffsetU = -1 OffsetV = -1\n");		assertEquals(new YUVFormat(new java.awt.Dimension(120, 200), 1000, YUVFormat.byteArray, 1.f, YUVFormat.YUV_111, 2, 3, 4, 5, 6).toString(), "YUV Video Format: Size = java.awt.Dimension[width=120,height=200] MaxDataLength = 1000 DataType = class [B yuvType = 8 StrideY = 2 StrideUV = 3 OffsetY = 4 OffsetU = 5 OffsetV = 6\n");				assertEquals(new RGBFormat().toString(), "RGB, -1-bit, Masks=-1:-1:-1, PixelStride=-1, LineStride=-1");				assertEquals(new JPEGFormat().toString(), "jpeg video format: dataType = class [B");		assertEquals(new JPEGFormat(new Dimension(1, 1), 1000, Format.shortArray, 1.f, 2, 3).toString(), "jpeg video format: size = 1x1 FrameRate = 1.0 maxDataLength = 1000 dataType = class [S q factor = 2 decimation = 3");		assertEquals(new JPEGFormat(new Dimension(1, 1), 1000, Format.shortArray, 1.f, -1, 3).toString(), "jpeg video format: size = 1x1 FrameRate = 1.0 maxDataLength = 1000 dataType = class [S decimation = 3");						assertEquals(new H261Format().toString(), "H.261 video format");		assertEquals(new H261Format(new Dimension(1, 1), 2000, Format.byteArray, 3.f, 1).toString(), "H.261 video format"); 		assertEquals(new H263Format().toString(), "H.263 video format");				assertEquals(new H263Format(new Dimension(1, 1), 2000, Format.shortArray, 2.f, 1, 2, 3, 4, 5, 6).toString(), "H.263 video format"); 				assertEquals(new IndexedColorFormat(new Dimension(1, 1), 2000, Format.byteArray, 3.f, 1, 2, new byte[] {0, 0}, new byte[] {0, 0}, new byte[] {0, 0}).toString(), "IRGB, 1x1, FrameRate=3.0, Length=2000");		assertEquals(new IndexedColorFormat(new Dimension(1, 1), 2000, Format.byteArray, -1.f, 1, 2, new byte[] {0, 0}, new byte[] {0, 0}, new byte[] {0, 0}).toString(), "IRGB, 1x1, Length=2000");		assertEquals(new IndexedColorFormat(new Dimension(1, 1), -1, Format.byteArray, -1.f, 1, 2, new byte[] {0, 0}, new byte[] {0, 0}, new byte[] {0, 0}).toString(), "IRGB, 1x1");		assertEquals(new IndexedColorFormat(null, -1, Format.byteArray, -1.f, 1, 2, new byte[] {0, 0}, new byte[] {0, 0}, new byte[] {0, 0}).toString(), "IRGB");				assertEquals(new AudioFormat(AudioFormat.DOLBYAC3).toString(), "dolbyac3, Unknown Sample Rate");		assertEquals(new AudioFormat(AudioFormat.DOLBYAC3, 2.0, 1, 2, 3, 4, 5, 6.0, Format.byteArray).toString(), "dolbyac3, 2.0 Hz, 1-bit, Stereo, Unsigned, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.DOLBYAC3, 2.0, 1, 1, 3, 4, 5, 6.0, Format.byteArray).toString(), "dolbyac3, 2.0 Hz, 1-bit, Mono, Unsigned, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.DOLBYAC3, 2.0, 1, 0, 3, 4, 5, 6.0, Format.byteArray).toString(), "dolbyac3, 2.0 Hz, 1-bit, 0-channel, Unsigned, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.DOLBYAC3, 2.0, 1, 3, 3, 4, 5, 6.0, Format.byteArray).toString(), "dolbyac3, 2.0 Hz, 1-bit, 3-channel, Unsigned, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.DOLBYAC3, 2.0, 1, 3, 3, 0, 5, 6.0, Format.byteArray).toString(), "dolbyac3, 2.0 Hz, 1-bit, 3-channel, Unsigned, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.DOLBYAC3, 2.0, 1, 3, 3, 1, 5, 6.0, Format.byteArray).toString(), "dolbyac3, 2.0 Hz, 1-bit, 3-channel, Signed, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.DOLBYAC3, 2.0, 32, 3, 1, 1, 5, 6.0, Format.byteArray).toString(), "dolbyac3, 2.0 Hz, 32-bit, 3-channel, BigEndian, Signed, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.DOLBYAC3, 2.0, 32, 3, 0, 1, 5, 6.0, Format.byteArray).toString(), "dolbyac3, 2.0 Hz, 32-bit, 3-channel, LittleEndian, Signed, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.LINEAR, 2.0, 16, 3, 1, 1, 5, 6.0, Format.byteArray).toString(), "LINEAR, 2.0 Hz, 16-bit, 3-channel, BigEndian, Signed, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.LINEAR, 2.0, 8, 3, 1, 1, 5, 6.0, Format.byteArray).toString(), "LINEAR, 2.0 Hz, 8-bit, 3-channel, Signed, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.LINEAR, 2.0, 9, 3, 1, 1, 5, 6.0, Format.byteArray).toString(), "LINEAR, 2.0 Hz, 9-bit, 3-channel, BigEndian, Signed, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(AudioFormat.LINEAR, 2.0, -1, 3, 1, 1, 5, 6.0, Format.byteArray).toString(), "LINEAR, 2.0 Hz, 3-channel, Signed, 6.0 frame rate, FrameSize=5 bits");		assertEquals(new AudioFormat(null).toString(), "null, Unknown Sample Rate");	}		private static class CopiableFormat extends Format	{		public CopiableFormat(String arg0, Class arg1)		{			super(arg0, arg1);		}		public CopiableFormat(String arg0)		{			super(arg0);		}				public void doCopy(Format f)		{			copy(f);		}	}		private static class CopiableVideoFormat extends VideoFormat	{		public CopiableVideoFormat(String arg0, Dimension arg1, int arg2, Class arg3, float arg4)		{			super(arg0, arg1, arg2, arg3, arg4);		}		public CopiableVideoFormat(String arg0)		{			super(arg0);		}		public void doCopy(Format f)		{			copy(f);		}	}		public void testCopy()	{		{			final Format f1 = new Format("abc", Format.shortArray);			final CopiableFormat f2 = new CopiableFormat("xyz", Format.byteArray);			f2.doCopy(f1);			assertEquals(f1.getEncoding(), "abc");			assertEquals(f2.getEncoding(), "xyz");			assertEquals(f1.getDataType(), f2.getDataType());		}				{			final Format f1 = new Format("abc", null);			final CopiableFormat f2 = new CopiableFormat("xyz", Format.byteArray);			f2.doCopy(f1);			assertEquals(f1.getEncoding(), "abc");			assertEquals(f2.getEncoding(), "xyz");			assertEquals(f1.getDataType(), f2.getDataType());		}				{			final Format f1 = new Format("abc", null);			final CopiableFormat f2 = new CopiableFormat(null, Format.byteArray);			f2.doCopy(f1);			assertEquals(f1.getEncoding(), "abc");			assertEquals(f2.getEncoding(), null);			assertEquals(f1.getDataType(), f2.getDataType());		}				{			final VideoFormat f1 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), 1000, Format.byteArray, 1.f);			final CopiableVideoFormat f2 = new CopiableVideoFormat(VideoFormat.CINEPAK, new Dimension(1, 0), 1001, Format.shortArray, 2.f);			f2.doCopy(f1);			assertEquals(f1.getEncoding(), "mpeg");			assertEquals(f2.getEncoding(), "cvid");			assertEquals(f1.getDataType(), f2.getDataType());			assertEquals(f1.getFrameRate(), f2.getFrameRate());			assertEquals(f1.getMaxDataLength(), f2.getMaxDataLength());			assertEquals(f1.getSize(), f2.getSize());		}				{			final VideoFormat f1 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), Format.NOT_SPECIFIED, Format.byteArray, 1.f);			final CopiableVideoFormat f2 = new CopiableVideoFormat(VideoFormat.CINEPAK, null, 1001, Format.shortArray, 2.f);			f2.doCopy(f1);			assertEquals(f1.getEncoding(), "mpeg");			assertEquals(f2.getEncoding(), "cvid");			assertEquals(f1.getDataType(), f2.getDataType());			assertEquals(f1.getFrameRate(), f2.getFrameRate());			assertEquals(f1.getMaxDataLength(), f2.getMaxDataLength());			assertEquals(f1.getSize(), f2.getSize());		}				try		{			final Format f1 = new Format(VideoFormat.MPEG, Format.byteArray);			final CopiableVideoFormat f2 = new CopiableVideoFormat(VideoFormat.CINEPAK, null, 1001, Format.shortArray, 2.f);			f2.doCopy(f1);			assertTrue(false);		}		catch (ClassCastException e)		{		}				{			final VideoFormat f1 = new VideoFormat(VideoFormat.MPEG, new Dimension(0, 0), Format.NOT_SPECIFIED, Format.byteArray, 1.f);			final CopiableFormat f2 = new CopiableFormat(VideoFormat.CINEPAK, Format.shortArray);			f2.doCopy(f1);			assertEquals(f1.getEncoding(), "mpeg");			assertEquals(f2.getEncoding(), "cvid");			assertEquals(f1.getDataType(), f2.getDataType());					}							}		public void testIntersects()	{				// intersects:		{			final Format f1 = new Format("abc");			final Format f2 = new Format("abc");			assertEquals(f1.intersects(f2), f1);			assertEquals(f1.intersects(f2), f2);			assertEquals(f2.intersects(f1), f1);			assertEquals(f2.intersects(f1), f2);		}				{			final Format f1 = new Format("abc");			final Format f2 = new Format("xyz");			assertEquals(f1.intersects(f2), f2);			assertNotEquals(f1.intersects(f2), f1);			assertNotEquals(f2.intersects(f1), f2);			assertEquals(f2.intersects(f1), f1);		}				{			final Format f1 = new Format("abc");			final Format f2 = new Format(null);			assertEquals(f1.intersects(f2), f1);			assertNotEquals(f1.intersects(f2), f2);			assertEquals(f2.intersects(f1), f1);		}				{			final Format f1 = new Format("abc", Format.byteArray);			final Format f2 = new Format(null);			assertEquals(f1.intersects(f2), f1);			assertNotEquals(f1.intersects(f2), f2);			assertEquals(f2.intersects(f1), f1);		}				{			final Format f1 = new Format("abc", Format.byteArray);			final Format f2 = new Format("xyz", Format.shortArray);			assertEquals(f1.intersects(f2), f2);			assertNotEquals(f1.intersects(f2), f1);			assertNotEquals(f2.intersects(f1), f2);			assertEquals(f2.intersects(f1), f1);		}		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -