本文整理汇总了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;
}
示例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;
}
示例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);
}
}
示例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;
}
示例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();
}
示例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." );
}
示例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();
}
}