public VideoListener(IMediaReader reader, int width, int height) {
this.reader = reader;
IContainer container = reader.getContainer();
int numStreams = container.getNumStreams();
for (int i = 0; i < numStreams; i++) {
IStream stream = container.getStream(i);
IStreamCoder coder = stream.getStreamCoder();
if (coder.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) {
videoStream = i;
videoCoder = coder;
}
}
if (videoCoder != null) {
videoConverter = ConverterFactory.createConverter(ConverterFactory.XUGGLER_BGR_24, videoCoder.getPixelType(), videoCoder.getWidth(), videoCoder.getHeight());
videoPicture = IVideoPicture.make(videoCoder.getPixelType(), width, height);
videoResampler = IVideoResampler.make(width, height, videoCoder.getPixelType(), videoCoder.getWidth(), videoCoder.getHeight(), videoCoder.getPixelType());
}
videoReaderThread = new VideoReaderThread(reader);
videoReaderThread.setName("Video Reader Thread");
videoReaderThread.setDaemon(true);
videoReaderThread.start();
}