/*
* myLib - https://github.com/taktod/myLib
* Copyright (c) 2014 ttProject. All rights reserved.
*
* Licensed under The MIT license.
*/
package com.ttProject.container.webm.test;
import org.apache.log4j.Logger;
import org.junit.Test;
import com.ttProject.container.IContainer;
import com.ttProject.container.IReader;
import com.ttProject.container.IWriter;
import com.ttProject.container.mkv.MkvBlockTag;
import com.ttProject.container.webm.WebmTagReader;
import com.ttProject.container.webm.WebmTagWriter;
import com.ttProject.frame.CodecType;
import com.ttProject.frame.IFrame;
import com.ttProject.nio.channels.FileReadChannel;
import com.ttProject.nio.channels.IReadChannel;
/**
* data write test for webm.
* TODO check is this work?
* @author taktod
*/
public class WebmWriteTest {
/** logger */
private Logger logger = Logger.getLogger(WebmWriteTest.class);
/**
* test
* @throws Exception
*/
@Test
public void test() throws Exception {
logger.info("start write test.");
IReadChannel source = FileReadChannel.openFileReadChannel(
Thread.currentThread().getContextClassLoader().getResource("test.webm")
);
IReader reader = new WebmTagReader();
IWriter writer = new WebmTagWriter("output.webm");
writer.prepareHeader(CodecType.VP8, CodecType.VORBIS);
IContainer container = null;
while((container = reader.read(source)) != null) {
if(container instanceof MkvBlockTag) {
MkvBlockTag blockTag = (MkvBlockTag)container;
IFrame frame = blockTag.getFrame();
logger.info(frame);
writer.addFrame(blockTag.getTrackId().get(), frame);
}
}
writer.prepareTailer();
logger.info("end");
}
}