package main; import java.awt.BorderLayout; import java.awt.Dimension; import java.io.File; import javax.swing.JFrame; import javax.swing.SwingUtilities; import javax.swing.WindowConstants; import org.gstreamer.Gst; import org.gstreamer.State; import org.gstreamer.elements.PlayBin2; import org.gstreamer.swing.VideoComponent; public class Java2DTest { public Java2DTest() { } public static void main(String[] args) { try { LibraryLoaderImpl.getInstance().load(); } catch (Exception e) { e.printStackTrace(); } Gst.init("VideoPlayer", null); final PlayBin2 playbin = new PlayBin2("VideoPlayer"); playbin.setInputFile(new File("dmc4_1024x512.ogv")); SwingUtilities.invokeLater(new Runnable() { public void run() { VideoComponent videoComponent = new VideoComponent(); playbin.setVideoSink(videoComponent.getElement()); JFrame frame = new JFrame("VideoPlayer"); frame.getContentPane().add(videoComponent, BorderLayout.CENTER); frame.setPreferredSize(new Dimension(640, 480)); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); playbin.setState(State.PLAYING); } }); Gst.main(); playbin.setState(State.NULL); } }