/*
* @(#)MergingCDPushBDS.java 1.2 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.ibm.media.protocol;
import java.io.*;
import javax.media.*;
import javax.media.protocol.*;
import javax.media.control.FormatControl;
import java.util.Vector;
public class MergingCDPushBDS extends MergingPushBufferDataSource implements CaptureDevice {
FormatControl [] fcontrols = null;
public MergingCDPushBDS(PushBufferDataSource[] sources) {
super(sources);
consolidateFormatControls(sources);
}
public FormatControl [] getFormatControls() {
return fcontrols;
}
public CaptureDeviceInfo getCaptureDeviceInfo() {
return null;
}
protected void consolidateFormatControls(PushBufferDataSource[] sources) {
Vector fcs = new Vector(1);
for (int i = 0; i < sources.length; i++) {
if (sources[i] instanceof CaptureDevice) {
CaptureDevice cd = (CaptureDevice) sources[i];
FormatControl [] cdfcs = cd.getFormatControls();
for (int j = 0; j < cdfcs.length; j++)
fcs.addElement(cdfcs[j]);
}
}
if (fcs.size() > 0) {
fcontrols = new FormatControl[fcs.size()];
for (int f = 0; f < fcs.size(); f++)
fcontrols[f] = (FormatControl) fcs.elementAt(f);
} else {
fcontrols = new FormatControl[0];
}
}
}
|