gnu.javax.sound.sampled.gstreamer.lines

Class GstDataLine

Implemented Interfaces:
AutoCloseable, DataLine, Line
Known Direct Subclasses:
GstSourceDataLine

public abstract class GstDataLine
extends Object
implements DataLine

Field Summary

static int
DEFAULT_BUFFER_SIZE
protected Boolean
open
Represents if this Line is opened or not.

Constructor Summary

GstDataLine(AudioFormat format)
GstDataLine(AudioFormat format, int bufferSize)

Method Summary

void
addLineListener(LineListener listener)
Add a listener which will be notified whenever this Line changes state.
int
getBufferSize()
Control
getControl(Control.Type what)
Return the control associated with this Line that matches the argument.
Control[]
getControls()
Return an array of controls associated with this Line.
AudioFormat
getFormat()
float
getLevel()
Line.Info
getLineInfo()
Return the Info object associated with this Line.
boolean
isControlSupported(Control.Type what)
Return true if a Control matching the argument is available for this Line, false otherwise.
boolean
isOpen()
Return true if this line is open, false otherwise.
void
removeLineListener(LineListener listener)
Remove the listener from this Line; after this call the listener will no longer be notified when this Line changes state.
protected void
setBufferSize(int bufferSize)
protected void
setFormat(AudioFormat format)
protected void
setOpen(Boolean open)

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

DEFAULT_BUFFER_SIZE

public static final int DEFAULT_BUFFER_SIZE
Field Value:
1024

open

protected Boolean open
Represents if this Line is opened or not.

Constructor Details

GstDataLine

public GstDataLine(AudioFormat format)

GstDataLine

public GstDataLine(AudioFormat format,
                   int bufferSize)

Method Details

addLineListener

public void addLineListener(LineListener listener)
Add a listener which will be notified whenever this Line changes state.
Specified by:
addLineListener in interface Line
Parameters:
listener - the listener to notify

getBufferSize

public int getBufferSize()
Specified by:
getBufferSize in interface DataLine

getControl

public Control getControl(Control.Type what)
Return the control associated with this Line that matches the argument.
Specified by:
getControl in interface Line
Parameters:
what - the type of the control to match
Returns:
the associated control
Throws:
IllegalArgumentException - if a control of this type is not available for this line

getControls

public Control[] getControls()
Return an array of controls associated with this Line. Note that this method will not return null -- if there are no controls, it will return a zero-length array.
Specified by:
getControls in interface Line

getFormat

public AudioFormat getFormat()
Specified by:
getFormat in interface DataLine

getLevel

public float getLevel()
Specified by:
getLevel in interface DataLine

getLineInfo

public Line.Info getLineInfo()
Return the Info object associated with this Line.
Specified by:
getLineInfo in interface Line

isControlSupported

public boolean isControlSupported(Control.Type what)
Return true if a Control matching the argument is available for this Line, false otherwise.
Specified by:
isControlSupported in interface Line
Parameters:
what - the type of the control to match

isOpen

public boolean isOpen()
Return true if this line is open, false otherwise.
Specified by:
isOpen in interface Line

removeLineListener

public void removeLineListener(LineListener listener)
Remove the listener from this Line; after this call the listener will no longer be notified when this Line changes state.
Specified by:
removeLineListener in interface Line
Parameters:
listener - the listener to remove

setBufferSize

protected void setBufferSize(int bufferSize)
Parameters:
bufferSize - the bufferSize to set

setFormat

protected void setFormat(AudioFormat format)
Parameters:
format - the format to set

setOpen

protected void setOpen(Boolean open)
Parameters:
open - the open to set

GstDataLine.java -- Abstract DataLine. Copyright (C) 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.