[transmageddon] Add WebM support



commit e28b2fa4c1afc624d237eb469dd930d2f109bbda
Author: Christian Schaller <christian schaller collabora co uk>
Date:   Fri May 21 11:18:27 2010 +0500

    Add WebM support

 configure.ac             |    2 +-
 src/Makefile.am          |    3 ++-
 src/codecfinder.py       |    6 +++---
 src/transcoder_engine.py |    2 +-
 src/transmageddon.py     |   17 ++++++++++-------
 src/transmageddon.ui     |   29 ++++++++++++++++++-----------
 6 files changed, 35 insertions(+), 24 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index b8d0659..951b1a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ(2.52)
 dnl initialize autoconf
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT(transmageddon, 0.15,
+AC_INIT(transmageddon, 0.16,
     http://www.linuxrising.org/transmageddon,
     transmageddon)
 
diff --git a/src/Makefile.am b/src/Makefile.am
index cce6785..b59eec9 100755
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -10,7 +10,8 @@ transmageddon_PYTHON = \
         discoverer.py \
 	presets.py \
 	utils.py \
-	about.py
+	about.py \
+        which.py
 
 BUILT_SOURCES=
 
diff --git a/src/codecfinder.py b/src/codecfinder.py
index 5a595dc..1b4aea0 100644
--- a/src/codecfinder.py
+++ b/src/codecfinder.py
@@ -37,11 +37,11 @@ containermap = { 'Ogg' : "application/ogg",'Matroska' : "video/x-matroska", 'MXF
                         'Quicktime' : "video/quicktime,variant=apple", 'MPEG4' : "video/quicktime,variant=iso", 
                         'MPEG PS' : "video/mpeg,mpegversion=2,systemstream=true", 
                         'MPEG TS' : "video/mpegts", 'FLV' : "video/x-flv", '3GPP' : "video/quicktime,variant=3gpp",
-                        'ASF' : "video/x-ms-asf" }
+                        'ASF' : "video/x-ms-asf", 'WebM' : "video/webm" }
 
 csuffixmap =   { 'Ogg' : ".ogg", 'Matroska' : ".mkv", 'MXF' : ".mxf", 'AVI' : ".avi", 'Quicktime' : ".mov",
                         'MPEG4' : ".mp4", 'MPEG PS' : ".mpg", 'MPEG TS' : ".ts", 'FLV' : ".flv", '3GPP' : ".3gp",
-                 'ASF' : ".asf" }
+                 'ASF' : ".asf", 'WebM' : ".webm" }
 
 codecmap = {     'vorbis' : "audio/x-vorbis", 'flac' : "audio/x-flac", 'mp3' : "audio/mpeg, mpegversion=(int)1, layer=(int)3", 
                         'aac' : "audio/mpeg,mpegversion=4", 'ac3' : "audio/x-ac3", 'speex' : "audio/x-speex", 
@@ -51,7 +51,7 @@ codecmap = {     'vorbis' : "audio/x-vorbis", 'flac' : "audio/x-flac", 'mp3' : "
                         'xvid' : "video/x-xvid", 'dnxhd' : "video/x-dnxhd", 'wmv2' : "video/x-wmv,wmvversion=2",
                         'dnxhd' : "video/x-dnxhd", 'divx5' : "video/x-divx,divxversion=5", 
                         'divx4' : "video/x-divx,divxversion=4", 'amrnb' : "audio/AMR", 
-                        'h263p' : "video/x-h263,variant=itu,h263version=h263p"}
+                        'h263p' : "video/x-h263,variant=itu,h263version=h263p", 'vp8' : "video/x-vp8"}
 #####
 #This code checks for available muxers and return a unique caps string
 #for each. It also creates a python dictionary mapping the caps strings 
diff --git a/src/transcoder_engine.py b/src/transcoder_engine.py
index 3066025..b988e92 100644
--- a/src/transcoder_engine.py
+++ b/src/transcoder_engine.py
@@ -73,7 +73,7 @@ class Transcoder(gobject.GObject):
        self.fratenum = FRATENUM
        self.frateden = FRATEDEN
        self.achannels = ACHANNELS
-       print "transcoder_engine achannels is " + str(self.achannels)
+       # print "transcoder_engine achannels is " + str(self.achannels)
        self.blackborderflag = False
        self.multipass = MULTIPASS
        self.passcounter = PASSCOUNTER
diff --git a/src/transmageddon.py b/src/transmageddon.py
index edacc10..5f2955a 100644
--- a/src/transmageddon.py
+++ b/src/transmageddon.py
@@ -70,7 +70,8 @@ supported_containers = [
         "MPEG4",
         "3GPP",
         "MXF",
-        "ASF"
+        "ASF",
+        "WebM"
 ]
 
 supported_audio_codecs = [
@@ -95,25 +96,27 @@ supported_video_codecs = [
        "mpeg4",
        "xvid",
        "h263p",
-       "wmv2"
+       "wmv2",
+       "vp8"
 ]
 
 # Maps containers to the codecs they support.  The first two elements are
 # "special" in that they are the default audio/video selections for that
 # container.
 supported_container_map = {
-    'Ogg':        [ 'vorbis', 'theora', 'flac', 'speex', 'celt', 'dirac' ],
+    'Ogg':        [ 'vorbis', 'theora', 'flac', 'speex', 'celt', 'dirac', 'vp8' ],
     'MXF':        [ 'mp3', 'h264', 'aac', 'ac3', 'mpeg2', 'mpeg4' ],
-    'Matroska':   [ 'flac', 'dirac', 'aac', 'ac3', 'theora', 'mp3', 'h264',
+    'Matroska':   [ 'flac', 'dirac', 'aac', 'ac3', 'theora', 'mp3', 'h264', 'vp8',
     'mpeg4', 'mpeg2', 'xvid', 'vorbis', 'h263p' ],
-    'AVI':        [ 'mp3', 'h264', 'dirac', 'ac3', 'mpeg2', 'mpeg4', 'xvid','wma2','wmv2' ],
-    'Quicktime':  [ 'aac', 'h264', 'ac3', 'dirac', 'mp3', 'mpeg2', 'mpeg4' ],
+    'AVI':        [ 'mp3', 'h264', 'dirac', 'ac3', 'mpeg2', 'mpeg4', 'xvid','wma2','wmv2', 'vp8' ],
+    'Quicktime':  [ 'aac', 'h264', 'ac3', 'dirac', 'mp3', 'mpeg2', 'mpeg4', 'vp8' ],
     'MPEG4':      [ 'aac', 'h264', 'mp3', 'mpeg2', 'mpeg4' ],
     '3GPP':       [ 'aac', 'h264', 'mp3', 'mpeg2', 'mpeg4','amrnb','h263p' ],
     'MPEG PS':    [ 'mp3', 'mpeg2', 'ac3', 'h264', 'aac', 'mpeg4' ],
     'MPEG TS':    [ 'mp3', 'h264', 'ac3', 'mpeg2', 'aac', 'mpeg4', 'dirac' ],
     'FLV':        [ 'mp3', 'h264' ],
-    'ASF':        [ 'wma2','wmv2','mp3']
+    'ASF':        [ 'wma2','wmv2','mp3'],
+    'WebM':       [ 'vorbis','vp8']
 }
 
 class TransmageddonUI:
diff --git a/src/transmageddon.ui b/src/transmageddon.ui
index 74c125f..bacf783 100644
--- a/src/transmageddon.ui
+++ b/src/transmageddon.ui
@@ -931,17 +931,6 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label1">
-                    <property name="visible">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">10</property>
-                    <property name="bottom_attach">11</property>
-                  </packing>
-                </child>
-                <child>
                   <object class="GtkLabel" id="vspacer11">
                     <property name="width_request">12</property>
                     <property name="visible">True</property>
@@ -972,6 +961,24 @@
                     <property name="bottom_attach">10</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkRadioButton" id="vp8button">
+                    <property name="label" translatable="yes">_On2 VP8</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="relief">none</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">theorabutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">10</property>
+                    <property name="bottom_attach">11</property>
+                  </packing>
+                </child>
               </object>
               <packing>
                 <property name="position">1</property>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]