[matroska] r850 - in trunk/JEBML: . src src/org/ebml src/org/ebml/sample
[email protected] Sat, 2 Oct 2004 00:45:43 +0400 (MSD)
Newsgroups
gmane.comp.multimedia.matroska.cvs
Message-ID
<[email protected] >
Author: jcsston
Date: 2004-10-02 00:45:43 +0400 (Sat, 02 Oct 2004)
New Revision: 850
Added:
trunk/JEBML/src/org/ebml/sample/
trunk/JEBML/src/org/ebml/sample/CommandLineSample.java
trunk/JEBML/src/org/ebml/sample/EbmlSampleApp.java
trunk/JEBML/src/org/ebml/sample/EbmlSampleAppFrame.java
Removed:
trunk/JEBML/src/ebml/
Modified:
trunk/JEBML/JEBML.jpx
Log:
Moved sample apps from ebml namespace to org.ebml.sample
Modified: trunk/JEBML/JEBML.jpx
===================================================================
--- trunk/JEBML/JEBML.jpx 2004-10-01 20:35:50 UTC (rev 849)
+++ trunk/JEBML/JEBML.jpx 2004-10-01 20:45:43 UTC (rev 850)
@@ -21,7 +21,7 @@
<property category="runtime.0" name="BuildTargetOnRun" value="com.borland.jbuilder.build.ProjectBuilder$ProjectBuildAction;make"/>
<property category="runtime.0" name="ConfigurationName" value="EbmlSampleApp"/>
<property category="runtime.0" name="RunnableType" value="com.borland.jbuilder.runtime.ApplicationRunner"/>
- <property category="runtime.0" name="application.class" value="ebml.EbmlSampleApp"/>
+ <property category="runtime.0" name="application.class" value="org.ebml.sample.EbmlSampleApp"/>
<property category="runtime.1" name="BuildTargetOnRun" value="com.borland.jbuilder.build.ProjectBuilder$ProjectBuildAction;make"/>
<property category="runtime.1" name="ConfigurationName" value="JMStudio - JMF"/>
<property category="runtime.1" name="RunnableType" value="com.borland.jbuilder.runtime.ApplicationRunner"/>
@@ -82,7 +82,7 @@
<property category="archiving" name="executableFiles.3" value=""/>
<property category="archiving" name="executableFiles.4" value="JEBML2-solaris"/>
<property category="archiving" name="executableFiles.5" value="JEBML2-mac"/>
- <property category="archiving" name="manifestMainClass" value="ebml.EbmlSampleApp"/>
+ <property category="archiving" name="manifestMainClass" value="org.ebml.sample.EbmlSampleApp"/>
<property category="archiving" name="targetCompressed" value="1"/>
<property category="archiving" name="targetPath" value="JEBML-Native.jar"/>
<property category="archiving" name="usingRules" value="1"/>
@@ -93,12 +93,11 @@
<property category="archiving" name="targetCompressed" value="1"/>
<property category="archiving" name="targetPath" value="JEBML-src.jar"/>
</node>
- <file path="src/org/ebml/BinaryElement.java"/>
- <file path="src/ebml/CommandLineSample.java"/>
+ <file path="src/org/ebml/sample/CommandLineSample.java"/>
+ <file path="src/org/ebml/sample/EbmlSampleApp.java"/>
+ <file path="src/org/ebml/sample/EbmlSampleAppFrame.java"/>
<file path="src/org/ebml/DataSource.java"/>
<file path="src/org/ebml/EBMLReader.java"/>
- <file path="src/ebml/EbmlSampleApp.java"/>
- <file path="src/ebml/EbmlSampleAppFrame.java"/>
<file path="src/org/ebml/Element.java"/>
<file path="src/org/ebml/InputStreamDataSource.java"/>
<file path="src/org/ebml/SignedInteger.java"/>
Added: trunk/JEBML/src/org/ebml/sample/CommandLineSample.java
===================================================================
--- trunk/JEBML/src/org/ebml/sample/CommandLineSample.java 2004-10-01 20:35:50 UTC (rev 849)
+++ trunk/JEBML/src/org/ebml/sample/CommandLineSample.java 2004-10-01 20:45:43 UTC (rev 850)
@@ -0,0 +1,38 @@
+package org.ebml.sample;
+
+import org.ebml.matroska.*;
+import java.io.*;
+
+/**
+ * <p>Title: JEBML</p>
+ * <p>Description: Java Classes to Read EBML Elements</p>
+ * <p>Copyright: Copyright (c) 2002-2004 John Cannon <[email protected] >, Jory Stone <[email protected] ></p>
+ * <p>Company: </p>
+ * @author jcsston
+ * @version 1.0
+ */
+
+public class CommandLineSample {
+ public static void main(String[] args) {
+ System.out.println("JEBML CommandLineSample - (c) 2004 Jory 'jcsston' Stone <[email protected] >");
+
+ if (args.length < 2) {
+ System.out.println("Please provide a matroska filename on the command-line");
+ }
+
+ try {
+ System.out.println("Scanning file: " + args[1]);
+
+ FileInputStream iFS = new FileInputStream(args[1]);
+ MatroskaFile mF = new MatroskaFile(iFS);
+ mF.readFile();
+
+ System.out.println(mF.getReport());
+
+ System.out.println("Scan complete");
+ } catch (java.io.FileNotFoundException ex) {
+ ex.printStackTrace();
+ }
+
+ }
+}
\ No newline at end of file
Added: trunk/JEBML/src/org/ebml/sample/EbmlSampleApp.java
===================================================================
--- trunk/JEBML/src/org/ebml/sample/EbmlSampleApp.java 2004-10-01 20:35:50 UTC (rev 849)
+++ trunk/JEBML/src/org/ebml/sample/EbmlSampleApp.java 2004-10-01 20:45:43 UTC (rev 850)
@@ -0,0 +1,53 @@
+package org.ebml.sample;
+
+import java.awt.*;
+import javax.swing.*;
+
+/**
+ * <p>Title: EBMLReader</p>
+ * <p>Description: Java Classes to Read EBML Elements</p>
+ * <p>Copyright: Copyright (c) 2004 Jory Stone <[email protected] ></p>
+ * <p>Company: </p>
+ * @author jcsston
+ * @version 1.0
+ */
+
+public class EbmlSampleApp {
+ boolean packFrame = false;
+
+ //Construct the application
+ public EbmlSampleApp() {
+ EbmlSampleAppFrame frame = new EbmlSampleAppFrame();
+ //Validate frames that have preset sizes
+ //Pack frames that have useful preferred size info, e.g. from their layout
+ if (packFrame) {
+ frame.pack();
+ }
+ else {
+ frame.validate();
+ }
+ //Center the window
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+ Dimension frameSize = frame.getSize();
+ if (frameSize.height > screenSize.height) {
+ frameSize.height = screenSize.height;
+ }
+ if (frameSize.width > screenSize.width) {
+ frameSize.width = screenSize.width;
+ }
+ frame.setLocation((screenSize.width - frameSize.width) / 2,
+ (screenSize.height - frameSize.height) / 2);
+ frame.setVisible(true);
+ }
+
+ //Main method
+ public static void main(String[] args) {
+ try {
+ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ new EbmlSampleApp();
+ }
+}
\ No newline at end of file
Added: trunk/JEBML/src/org/ebml/sample/EbmlSampleAppFrame.java
===================================================================
--- trunk/JEBML/src/org/ebml/sample/EbmlSampleAppFrame.java 2004-10-01 20:35:50 UTC (rev 849)
+++ trunk/JEBML/src/org/ebml/sample/EbmlSampleAppFrame.java 2004-10-01 20:45:43 UTC (rev 850)
@@ -0,0 +1,151 @@
+package org.ebml.sample;
+
+import java.io.*;
+import java.lang.*;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+
+import org.ebml.*;
+import org.ebml.matroska.MatroskaFile;
+
+/**
+ * <p>Title: EBMLReader</p>
+ * <p>Description: Java Classes to Read EBML Elements</p>
+ * <p>Copyright: Copyright (c) 2004 Jory Stone <[email protected] ></p>
+ * <p>Company: </p>
+ * @author jcsston
+ * @version 1.0
+ */
+
+public class EbmlSampleAppFrame
+ extends JFrame {
+ JPanel contentPane;
+ JMenuBar jMenuBar1 = new JMenuBar();
+ JMenu jMenuFile = new JMenu();
+ JMenuItem jMenuFileExit = new JMenuItem();
+ BorderLayout borderLayout1 = new BorderLayout();
+ JMenuItem jMenuItemOpen = new JMenuItem();
+ JFileChooser jFileChooser1 = new JFileChooser();
+ JTextArea jTextArea1 = new JTextArea();
+
+ //Construct the frame
+ public EbmlSampleAppFrame() {
+ enableEvents(AWTEvent.WINDOW_EVENT_MASK);
+ try {
+ jbInit();
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ //Component initialization
+ private void jbInit() throws Exception {
+ contentPane = (JPanel)this.getContentPane();
+ contentPane.setLayout(borderLayout1);
+ this.setSize(new Dimension(400, 300));
+ this.setTitle("Ebml Sample App");
+ jMenuFile.setText("File");
+ jMenuFileExit.setText("Exit");
+ jMenuFileExit.addActionListener(new
+ EbmlSampleAppFrame_jMenuFileExit_ActionAdapter(this));
+ jMenuItemOpen.setText("Open");
+ jMenuItemOpen.addActionListener(new
+ EbmlSampleAppFrame_jMenuItemOpen_actionAdapter(this));
+ jFileChooser1.setAcceptAllFileFilterUsed(true);
+ jFileChooser1.setDialogTitle("Select a Matroska File");
+ jFileChooser1.setFileFilter(null);
+ jTextArea1.setTabSize(8);
+ jMenuFile.add(jMenuItemOpen);
+ jMenuFile.add(jMenuFileExit);
+ jMenuBar1.add(jMenuFile);
+ contentPane.add(jTextArea1, BorderLayout.CENTER);
+ this.setJMenuBar(jMenuBar1);
+ }
+
+ //File | Exit action performed
+ public void jMenuFileExit_actionPerformed(ActionEvent e) {
+ System.exit(0);
+ }
+
+ //Overridden so we can exit when window is closed
+ protected void processWindowEvent(WindowEvent e) {
+ super.processWindowEvent(e);
+ if (e.getID() == WindowEvent.WINDOW_CLOSING) {
+ jMenuFileExit_actionPerformed(null);
+ }
+ }
+
+ void jMenuItemOpen_actionPerformed(ActionEvent e) {
+ try {
+ jFileChooser1.setFileFilter(new org.ebml.matroska.MatroskaFileFilter());
+
+ int ret = jFileChooser1.showOpenDialog(this);
+ if (ret == JFileChooser.APPROVE_OPTION) {
+ /*
+ FileInputStream inFS1 = new FileInputStream("I:\\videos\\111-Videos_111\\Linkin Park - Crawling-remux.mkvmerge.mp3");
+ FileOutputStream outFS1 = new FileOutputStream("I:\\videos\\111-Videos_111\\Linkin Park - Crawling-remux.mkvmerge.java.mp3");
+ byte [] buffer = new byte[64];
+ int len = 64;
+ while (len > 0) {
+ len = inFS1.read(buffer);
+ outFS1.write(buffer, 0, len);
+ }
+ */
+ FileOutputStream outFS = new FileOutputStream(jFileChooser1.getSelectedFile() + ".mp3");
+ FileInputStream ioF = new FileInputStream(jFileChooser1.getSelectedFile());
+ jTextArea1.append("Scanning file: " + jFileChooser1.getSelectedFile().toString() + "\n");
+
+ MatroskaFile mF = new MatroskaFile(ioF);
+ mF.readFile();
+ jTextArea1.append(mF.getReport());
+
+ /*MatroskaFile.MatroskaFrame frame = mF.getNextFrame(2);
+ while (frame != null) {
+ frame = mF.getNextFrame(2);
+ if (frame != null)
+ outFS.write(frame.Data);
+ }*/
+
+ jTextArea1.append("Scan complete.\n");
+ }
+ } catch (java.io.FileNotFoundException ex) {
+ jTextArea1.append("File Not Found!\n");
+ ex.printStackTrace();
+ } catch (java.io.IOException ex) {
+ jTextArea1.append("File IO Error!\n");
+ ex.printStackTrace();
+ } catch (java.lang.RuntimeException ex) {
+ jTextArea1.append("Error: " + ex.toString() + ex.getMessage() + "\"\n");
+ ex.printStackTrace();
+ }
+ }
+}
+
+class EbmlSampleAppFrame_jMenuFileExit_ActionAdapter
+ implements ActionListener {
+ EbmlSampleAppFrame adaptee;
+
+ EbmlSampleAppFrame_jMenuFileExit_ActionAdapter(EbmlSampleAppFrame adaptee) {
+ this.adaptee = adaptee;
+ }
+
+ public void actionPerformed(ActionEvent e) {
+ adaptee.jMenuFileExit_actionPerformed(e);
+ }
+}
+
+class EbmlSampleAppFrame_jMenuItemOpen_actionAdapter
+ implements java.awt.event.ActionListener {
+ EbmlSampleAppFrame adaptee;
+
+ EbmlSampleAppFrame_jMenuItemOpen_actionAdapter(EbmlSampleAppFrame adaptee) {
+ this.adaptee = adaptee;
+ }
+
+ public void actionPerformed(ActionEvent e) {
+ adaptee.jMenuItemOpen_actionPerformed(e);
+ }
+}