Skip to content

Instantly share code, notes, and snippets.

View He-Pin's full-sized avatar
🎈
Playing Xenoblade 3

He-Pin(kerr) He-Pin

🎈
Playing Xenoblade 3
View GitHub Profile
package us.sosia.media.video;
import java.awt.image.BufferedImage;
import java.nio.ByteBuffer;
import us.sosia.net.udt.codec.AbstractChainO2OEncode;
import com.xuggle.xuggler.ICodec;
import com.xuggle.xuggler.IPacket;
import com.xuggle.xuggler.IPixelFormat.Type;
package us.sosia.media.ui;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
package us.sosia.media.webcam;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public void write(ByteBuffer data){
if (data == null) {
return;
}
writeBuffers.offer(data);
//start an notify
writer.execute(new Runnable() {
@Override
public void run() {
package us.sosia.net.udt.channel;
import java.io.IOException;
import java.net.SocketAddress;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@He-Pin
He-Pin / gist:4351360
Created December 21, 2012 08:05
the test code
package us.sosia.net.udt;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.util.Iterator;