All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.monte.media.avi.AVIPCMAudioCodec Maven / Gradle / Ivy

There is a newer version: 1.1
Show newest version
/*
 * @(#)PCMAudioCodec.java  1.0  2011-07-10
 * 
 * Copyright (c) 2011 Werner Randelshofer, Goldau, Switzerland.
 * All rights reserved.
 * 
 * You may not use, copy or modify this file, except in compliance with the
 * license agreement you entered into with Werner Randelshofer.
 * For details see accompanying license terms.
 */
package org.monte.media.avi;

import org.monte.media.audio.*;
import org.monte.media.Format;
import java.nio.ByteOrder;
import java.util.Arrays;
import java.util.HashSet;
import static org.monte.media.AudioFormatKeys.*;

/**
 * {@code PCMAudioCodec} performs sign conversion, endian conversion and
 * quantization conversion of PCM audio data.
 * 

* Does not perform sampling rate conversion or channel conversion. *

* FIXME Maybe create separate subclasses for AVI PCM and QuickTime PCM. * * @author Werner Randelshofer * @version 1.0 2011-07-10 Created. */ public class AVIPCMAudioCodec extends PCMAudioCodec { private final static HashSet supportedEncodings = new HashSet( Arrays.asList(new String[]{ ENCODING_PCM_SIGNED, ENCODING_PCM_UNSIGNED, ENCODING_AVI_PCM,})); public AVIPCMAudioCodec() { super(new Format[]{ new Format(MediaTypeKey,MediaType.AUDIO,// EncodingKey,ENCODING_PCM_SIGNED,// MimeTypeKey,MIME_JAVA,// SignedKey,true),// new Format(MediaTypeKey,MediaType.AUDIO,// EncodingKey,ENCODING_PCM_UNSIGNED,// MimeTypeKey,MIME_JAVA,// SignedKey,false),// new Format(MediaTypeKey,MediaType.AUDIO,// EncodingKey,ENCODING_AVI_PCM,// MimeTypeKey,MIME_AVI,// SignedKey,false,SampleSizeInBitsKey,8),// new Format(MediaTypeKey,MediaType.AUDIO,// EncodingKey,ENCODING_AVI_PCM,// MimeTypeKey,MIME_AVI,// ByteOrderKey,ByteOrder.LITTLE_ENDIAN, SignedKey,true,SampleSizeInBitsKey,16),// new Format(MediaTypeKey,MediaType.AUDIO,// EncodingKey,ENCODING_AVI_PCM,// MimeTypeKey,MIME_AVI,// ByteOrderKey,ByteOrder.LITTLE_ENDIAN, SignedKey,true,SampleSizeInBitsKey,24),// new Format(MediaTypeKey,MediaType.AUDIO,// EncodingKey,ENCODING_AVI_PCM,// MimeTypeKey,MIME_AVI,// ByteOrderKey,ByteOrder.LITTLE_ENDIAN, SignedKey,true,SampleSizeInBitsKey,32),// }); name="AVI PCM Codec"; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy