[transmageddon/gtk3] Add changes to make remuxing work fully



commit a7c0c81b8f72d6f0d47c9e00a1a2184efd02eda3
Author: Christian Fredrik Kalager Schaller <christian schaller collabora co uk>
Date:   Thu Feb 9 11:41:01 2012 +0000

    Add changes to make remuxing work fully

 src/transcoder_engine.py |   13 +++----------
 src/transmageddon.py     |   17 ++++++++++-------
 2 files changed, 13 insertions(+), 17 deletions(-)
---
diff --git a/src/transcoder_engine.py b/src/transcoder_engine.py
index f5b54aa..b7d7c61 100644
--- a/src/transcoder_engine.py
+++ b/src/transcoder_engine.py
@@ -57,6 +57,7 @@ class Transcoder(GObject.GObject):
        # or switch to remuxing mode if any of the values are set to 'pastr'
        self.stoptoggle=False
        self.videocaps = VIDEOCODECVALUE # "novid" means we have a video file input, but do not want it
+       print "self.videopass from ui is " + str(self.videocaps)
                                         #  while False means we don't have any video
        self.audiopasstoggle = AUDIOPASSTOGGLE
        self.interlaced = INTERLACED
@@ -126,7 +127,7 @@ class Transcoder(GObject.GObject):
 
                   #self.deinterlacer = Gst.ElementFactory.make('deinterlace', None)
                   # self.pipeline.add(self.deinterlacer)
-                       
+   
                    # self.deinterlacer.link(self.colorspaceconverter)
 	           self.colorspaceconverter.link(self.videoflipper)
                    #self.deinterlacer.set_state(Gst.State.PAUSED)
@@ -136,6 +137,7 @@ class Transcoder(GObject.GObject):
            if self.videocaps != "novid":
                if (self.videocaps != False):
                    videopreset=None
+                   print "videocaps are " + str(self.videocaps)
                    self.videoprofile = GstPbutils.EncodingVideoProfile.new(self.videocaps, videopreset, Gst.Caps.new_any(), 0)
                    self.encodebinprofile.add_profile(self.videoprofile)
 
@@ -346,11 +348,8 @@ class Transcoder(GObject.GObject):
                c = origin.to_string()
                if not c.startswith("text/"):
                    if not (c.startswith("video/") and (self.videocaps == False)):
-                       # print "origin is " + str(c)
                        sinkpad = self.encodebin.emit("request-pad", origin)
                if c.startswith("audio/"):
-                   # print "src_pad is " +str(src_pad)
-                   # print "sinkpad is " +str(sinkpad)
                    src_pad.link(sinkpad)
                elif ((c.startswith("video/") or c.startswith("image/")) and (self.videocaps != False)):
                    if self.videopasstoggle==False:
@@ -361,12 +360,6 @@ class Transcoder(GObject.GObject):
                        self.videoflipper.get_static_pad("src").link(sinkpad)
                        
                    else:
-                       srccaps=src_pad.get_caps()
-                       srcstring=srccaps.to_string()
-                       #print "source pad is " + str(srcstring)
-                       sinkcaps=sinkpad.get_caps()
-                       sinkstring=sinkcaps.to_string()
-                       #print "sinkpad is " + str(sinkstring)
                        src_pad.link(sinkpad)
 
        # Grab element from encodebin which supports tagsetter interface and set app name
diff --git a/src/transmageddon.py b/src/transmageddon.py
index 56708b1..4b72f49 100644
--- a/src/transmageddon.py
+++ b/src/transmageddon.py
@@ -641,18 +641,17 @@ class TransmageddonUI:
                    if (x.direction == Gst.PadDirection.SINK):
                        sourcecaps = x.get_caps()
                        if self.havevideo == True:
-                           if Gst.Caps.is_empty(videointersect):
+                           if videointersect.is_empty():
                               videointersect = sourcecaps.intersect(self.videodata['videotype'])
                            else:
-                                  if self.vsourcecaps != False:
-                                      self.vsourcecaps = videointersect
+                               # if self.vsourcecaps != False:
+                                   self.vsourcecaps = videointersect
                        if self.haveaudio == True:
                            if audiointersect.is_empty():
                                audiointersect = sourcecaps.intersect(self.audiodata['audiotype'])
                            else:
                                self.asourcecaps = audiointersect
-               output3 = Gst.Caps.to_string(videointersect)
-               # test=videointersect.is_empty()
+               print "vsourcecaps at source " + str(self.vsourcecaps)
                if videointersect.is_empty():
                    self.videopass=False
                else:
@@ -695,8 +694,12 @@ class TransmageddonUI:
            vwidth = self.videodata['videowidth']
            ratenum = self.videodata['fratenum']
            ratednom = self.videodata['frateden']
-           #if self.videopasstoggle == False:
-           videocodec = self.VideoCodec
+           if self.videopasstoggle == False:
+               print "toggle is false"
+               videocodec = self.VideoCodec
+           else:
+               print "self.vsourcecaps " + str(self.vsourcecaps)
+               videocodec = self.vsourcecaps
            self.outputdirectory=self.videodirectory
        else:
            self.outputdirectory=self.audiodirectory



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