当前位置: 首页>>代码示例>>Java>>正文


Java Buffer.copy方法代码示例

本文整理汇总了Java中javax.media.Buffer.copy方法的典型用法代码示例。如果您正苦于以下问题:Java Buffer.copy方法的具体用法?Java Buffer.copy怎么用?Java Buffer.copy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.media.Buffer的用法示例。


在下文中一共展示了Buffer.copy方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: read

import javax.media.Buffer; //导入方法依赖的package包/类
public void read(Buffer buffer) throws IOException {
// Wait for data to be available
// Doesn't get used much because the transferData
// call is made when data IS available. And most
// Processors/Players read the data in the same
// thread that called transferData, although that's
// not a safe assumption to make
if (!dataAvailable) {
    synchronized (bufferLock) {
	while (!dataAvailable && !terminate) {
	    try {
		bufferLock.wait(1000);
	    } catch (InterruptedException ie) {
	    }
	}
    }
}

if (dataAvailable) {
    synchronized (bufferLock) {
	// Copy the buffer attributes, but swap the data
	// attributes so that no extra copy is made.
	buffer.copy(cbuffer, true);
	dataAvailable = false;
    }
}
return;
   }
 
开发者ID:champtar,项目名称:fmj-sourceforge-mirror,代码行数:29,代码来源:MonitorStream.java

示例2: process

import javax.media.Buffer; //导入方法依赖的package包/类
@Override
public int process(Buffer input, Buffer output) {
    //System.err.println("ZMBVDecoder " + input.getTimeStamp());
    if (input.isDiscard()) {
        output.setDiscard(true);
        return BUFFER_PROCESSED_OK;
    }
    if (input.isEOM()) {
        output.setEOM(true);
        output.setData(null);
        return BUFFER_PROCESSED_OK;
    }

    output.copy(input);
    output.setFormat(outputFormat);
    output.setData(pixels);
    output.setOffset(0);
    output.setLength(pixels.length);
    //if (input.)

    byte[] inDat = (byte[]) input.getData();
    int[] swap = prevPixels;
    prevPixels = pixels;
    pixels = swap;

    // Detect if frames were skipped
    long sequenceNumber = input.getSequenceNumber();
    boolean framesWereSkipped = (sequenceNumber != previousSequenceNumber + 1);
    boolean isKeyframe = state.decode(inDat, input.getOffset(), input.getLength(), pixels, prevPixels, outputFormat.getSize().width, outputFormat.getSize().height,
            framesWereSkipped);
    if (framesWereSkipped && !isKeyframe) {
        output.setDiscard(true);
    } else {
        previousSequenceNumber = sequenceNumber;
    } 
    
    setFlag(output, Buffer.FLAG_KEY_FRAME, isKeyframe);
    return BUFFER_PROCESSED_OK;
}
 
开发者ID:pojosontheweb,项目名称:selenium-utils,代码行数:40,代码来源:ZMBVDecoder.java


注:本文中的javax.media.Buffer.copy方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。