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


Java IError.make方法代码示例

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


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

示例1: makeContainer

import com.xuggle.xuggler.IError; //导入方法依赖的package包/类
public static IContainer makeContainer( String input )  {
    
    IContainer container = IContainer.make();
    
    LOG.debug( input );
    
 //if (container.open(dis, null ) < 0)
    int r = container.open(input, IContainer.Type.READ, null);
    if( r < 0)
    {
      IError error = IError.make( r );
   throw new IllegalArgumentException("could not open container from " + input + ", error = " + error.getDescription() );
    }
    
    return container;
    
}
 
开发者ID:openpreserve,项目名称:video-batch,代码行数:18,代码来源:XugglerAnalyzer.java

示例2: getErrorMessage

import com.xuggle.xuggler.IError; //导入方法依赖的package包/类
private static String getErrorMessage(int rv) {
	String errorString = "";
	IError error = IError.make(rv);
	if (error != null) {
		errorString = error.toString();
		error.delete();
	}
	return errorString;
}
 
开发者ID:BigMarker,项目名称:deskshare-public,代码行数:10,代码来源:ScreenCap.java

示例3: start

import com.xuggle.xuggler.IError; //导入方法依赖的package包/类
@SuppressWarnings("deprecation")
public void start() {
	log.debug("start {}", outputUrl);
	// open coders
	int rv = -1;
	if (outputStreamInfo.hasAudio()) {
		rv = audioCoder.open();
		if (rv < 0) {
			throw new RuntimeException("Could not open stream " + audioStream + ": " + getErrorMessage(rv));
		}
		log.debug("Audio coder opened");
	}
	if (outputStreamInfo.hasVideo()) {
		rv = videoCoder.open();
		if (rv < 0) {
			throw new RuntimeException("Could not open stream " + videoStream + ": " + getErrorMessage(rv));
		}
		log.debug("Video coder opened");
	}
	// write the header
	rv = container.writeHeader();
	if (rv >= 0) {
		log.debug("Wrote header {}", outputUrl);
	} else {
		throw new RuntimeException("Error " + IError.make(rv) + ", failed to write header to container " + container);
	}
}
 
开发者ID:Red5,项目名称:red5-hls-plugin,代码行数:28,代码来源:HLSStreamWriter.java

示例4: loop

import com.xuggle.xuggler.IError; //导入方法依赖的package包/类
/**
	 * Called when the reader needs to be reset to the beginning of the media.
	 * @return boolean true if the media was reset successfully
	 */
	public boolean loop() {
		if (this.container != null) {
			int r = this.container.seekKeyFrame(-1, 0, this.container.getStartTime(), this.container.getStartTime(), IContainer.SEEK_FLAG_BACKWARDS | IContainer.SEEK_FLAG_ANY);
			if (r < 0) {
				IError error = IError.make(r);
				LOGGER.error(error);
			} else {
				return true;
			}
//			if (this.videoCoder != null) {
//				int r = this.container.seekKeyFrame(
//						this.videoCoder.getStream().getIndex(), 
//						this.videoCoder.getStream().getStartTime(), 
//						this.videoCoder.getStream().getStartTime(), 
//						0, 
//						IContainer.SEEK_FLAG_BACKWARDS | IContainer.SEEK_FLAG_ANY);
//				if (r < 0) {
//					IError error = IError.make(r);
//					LOGGER.error(error);
//					return false;
//				}
//			} else
//			// seek the audio, if available
//			if (audioCoder != null) {
//				int r = this.container.seekKeyFrame(
//						this.audioCoder.getStream().getIndex(), 
//						this.audioCoder.getStream().getStartTime(), 
//						this.audioCoder.getStream().getStartTime(), 
//						0, 
//						IContainer.SEEK_FLAG_BACKWARDS | IContainer.SEEK_FLAG_ANY);
//				if (r < 0) {
//					IError error = IError.make(r);
//					LOGGER.error(error);
//					return false;
//				}
//			}
//			return true;
		}
		return false;
	}
 
开发者ID:wnbittle,项目名称:praisenter,代码行数:45,代码来源:XugglerMediaReaderThread.java

示例5: XugglerInputStream

import com.xuggle.xuggler.IError; //导入方法依赖的package包/类
public XugglerInputStream(InputStream in, long start, long end, long frame_offset, XugglerDecompressor dec)
        throws IOException {
    super(in, start, end);
    
    this.frame_offset = frame_offset;

    decompressor = dec;
    
    FSDataInputStream fIn = (FSDataInputStream) in;
    
    int header_size = (int) dec.getHeaderSize();
    byte[] header = new byte[header_size];
    
    // read header 
    fIn.seek(0);
    int b = fIn.read(header, 0, header_size);
    LOG.debug( "header read, count bytes: " + b );
    LOG.debug( "after header reading, fIn.pos = " + fIn.getPos() );
    
    xfsdis = new XugglerFSDataInputStream(in, start, end);
    
    xfsdis.setHeader( header );
    
    this.container = IContainer.make();

    // IMetaData metadata = container.getMetaData();
    // format.setInputFlag(IContainerFormat.Flags.FLAG_GLOBALHEADER, true);
    // this.container.setParameters(parameters);
    int r = this.container.open( xfsdis, null);
    
    LOG.debug("container.open = " + r);

    if (r < 0) {
        IError error = IError.make(r);
        LOG.debug("error: " + error.getDescription());
        throw new IOException( "Could not create Container from given InputStream");
    }
    
    // store container info: streams, coders ... whatever is needed later for decoding
    int numStreams = this.container.getNumStreams();
    this.streams = new IStream[numStreams];
    this.coder = new IStreamCoder[numStreams];
    this.streamTypes = new Type[numStreams];
    
    for (int s = 0; s < this.streams.length; s++) {
        this.streams[s] = this.container.getStream(s);
        printStreamInfo(streams[s]);
        this.coder[s] = this.streams[s] != null ? this.streams[s].getStreamCoder() : null;
        this.streamTypes[s] = this.coder[s] != null ? this.coder[s].getCodecType() : null;
    }
    //testDecoding();
}
 
开发者ID:openpreserve,项目名称:video-batch,代码行数:53,代码来源:XugglerInputStream.java

示例6: init

import com.xuggle.xuggler.IError; //导入方法依赖的package包/类
public void init(URI file) throws RuntimeException {

        LOG.debug( "Input file: " + file );

        if( file.toString().startsWith("hdfs"))
            mgr.registerFactory("hdfs", new HDFSProtocolHandlerFactory());

        container = IContainer.make();
        
        int r = container.open(file.toString(), IContainer.Type.READ, null);

        if( r < 0)
        {
          IError error = IError.make( r );
	      throw new IllegalArgumentException("could not open container from " + file + ", error = " + error.getDescription() );
        }

	    numStreams = container.getNumStreams();
	    
	    if( numStreams <= 0 )
	        throw new IllegalArgumentException( "No streams found in container." );
    }
 
开发者ID:openpreserve,项目名称:video-batch,代码行数:23,代码来源:XugglerMediaFramework.java

示例7: close

import com.xuggle.xuggler.IError; //导入方法依赖的package包/类
/** {@inheritDoc} */
public void close() {
	log.debug("close {}", outputUrl);
	MpegTsHandlerFactory.getFactory().deleteStream(outputUrl);
	int rv;
	// flush coders
	flush();
	// write the trailer on the output container
	if ((rv = container.writeTrailer()) < 0) {
		log.error("Error {}, failed to write trailer to {}", IError.make(rv), outputUrl);
	}
	// close the coders opened by this MediaWriter
	if (outputStreamInfo.hasVideo()) {
		try {
			if ((rv = videoCoder.close()) < 0) {
				log.error("Error {}, failed close coder {}", getErrorMessage(rv), videoCoder);
			}
		} finally {
			videoCoder.delete();
		}
	}
	if (outputStreamInfo.hasAudio()) {
		try {
			if ((rv = audioCoder.close()) < 0) {
				log.error("Error {}, failed close coder {}", getErrorMessage(rv), audioCoder);
			}
		} finally {
			audioCoder.delete();
		}
	}
	// if we're supposed to, close the container
	if ((rv = container.close()) < 0) {
		throw new RuntimeException("error " + IError.make(rv) + ", failed close IContainer " + container + " for " + outputUrl);
	}
	// get the current segment, if one exists
	Segment segment = facade.getSegment();
	// mark it as "last" and close
	if (segment != null && !segment.isLast()) {
		// mark it as the last
		segment.setLast(true);
		segment.close();
	}
}
 
开发者ID:Red5,项目名称:red5-hls-plugin,代码行数:44,代码来源:HLSStreamWriter.java


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