[transmageddon] Various fixes to re-enable passthrough mode



commit 5e7d3d5bafcb9ba9e807e33a1cea2210a9d0e92f
Author: Christian Fredrik Kalager Schaller <uraeus linuxrising org>
Date:   Tue Jul 30 13:23:58 2013 +0200

    Various fixes to re-enable passthrough mode

 src/codecfinder.py       |    3 +--
 src/transcoder_engine.py |    3 ++-
 src/transmageddon.py     |   17 ++++++++++++-----
 3 files changed, 15 insertions(+), 8 deletions(-)
---
diff --git a/src/codecfinder.py b/src/codecfinder.py
index 635850d..2618371 100644
--- a/src/codecfinder.py
+++ b/src/codecfinder.py
@@ -140,8 +140,7 @@ def get_muxer_element(containercaps):
                    if x.direction == Gst.PadDirection.SRC]
            for caps in sinkcaps:
                intersect = caps.intersect(containercaps)
-               # intersect is EMPTY, not FALSE is this a bindings bug?
-               if intersect != "EMPTY":
+               if intersect.to_string() != "EMPTY":
                    if elementname == False:
                        elementname = element
                    else:
diff --git a/src/transcoder_engine.py b/src/transcoder_engine.py
index 3348997..f9ec753 100644
--- a/src/transcoder_engine.py
+++ b/src/transcoder_engine.py
@@ -150,7 +150,7 @@ class Transcoder(GObject.GObject):
                    self.encodebinprofile = GstPbutils.EncodingAudioProfile.new 
(self.audiodata[x]['outputaudiocaps'], audiopreset, Gst.Caps.new_any(), 0)
                else:
                    audiopreset=None
-                   # print(self.audiodata[x]['outputaudiocaps'])
+                   # print(self.audiodata[x]['outputaudiocaps'].to_string())
                    self.audioprofile = 
GstPbutils.EncodingAudioProfile.new(self.audiodata[x]['outputaudiocaps'], audiopreset, Gst.Caps.new_any(), 0)
                    self.audioprofilenames.append("audioprofilename"+str(x))
                    self.audioprofile.set_name(self.audioprofilenames[x])
@@ -355,6 +355,7 @@ class Transcoder(GObject.GObject):
            #self.emit('got-error', err.message)
        elif mtype == Gst.MessageType.ELEMENT:
            if GstPbutils.is_missing_plugin_message(message):
+               print("missing something")
                if self.missingplugin==False: #don't think this is correct if more than one plugin installed
                    self.missingplugin=message
                    #output=GstPbutils.missing_plugin_message_get_description(message)
diff --git a/src/transmageddon.py b/src/transmageddon.py
index a4d5297..fb95329 100644
--- a/src/transmageddon.py
+++ b/src/transmageddon.py
@@ -765,6 +765,7 @@ class TransmageddonUI(Gtk.ApplicationWindow):
        self.discovered.discover_uri_async(uri)
    
    def check_for_passthrough(self, containerchoice):
+       #print("checking for passthrough " + str(containerchoice.to_string()))
        videointersect = Gst.Caps.new_empty()
        audiointersect = []
        for x in self.audiostreamids:
@@ -1190,11 +1191,16 @@ class TransmageddonUI(Gtk.ApplicationWindow):
        self.audiodata[x]['dopassthrough']=False
        if (self.houseclean == False and self.usingpreset==False):
                no=self.audiorows[x].get_active()
-               self.audiodata[x]['outputaudiocaps'] = self.audiocodecs[x][no]
+               #print("self.audiocodecs " + self.audiocodecs[x][no])
+               if self.audiocodecs[x][no] == "pass":
+                   self.audiodata[x]['outputaudiocaps'] = self.audiodata[x]['inputaudiocaps']
+               else:
+                   self.audiodata[x]['outputaudiocaps'] = self.audiocodecs[x][no]
                if self.streamdata['container'] != False:
                    if self.audiorows[x].get_active() ==  self.audiopassmenuno:
                        self.audiodata[x]['dopassthrough']= True
                elif self.usingpreset==True:
+                   #print("preset audio codec " + self.presetaudiocodec)
                    self.audiodata[x]['outputaudiocaps'] = self.presetaudiocodec
 
    def on_videocodec_changed(self, widget):
@@ -1368,10 +1374,11 @@ class TransmageddonUI(Gtk.ApplicationWindow):
            dvd=dvdtrackchooser.dvdtrackchooser(self)
            dvd.dvdwindow.run()
            self.isdvd=dvd.isdvd
-           self.streamdata['filename'] = self.dvddevice
-           self.streamdata['filechoice'] = "dvd://"+self.dvddevice
-           self.streamdata['dvdtitle']=dvd.dvdtitle
-           self.on_filechooser_file_set(self,self.dvddevice)
+           if self.isdvd != False:
+               self.streamdata['filename'] = self.dvddevice
+               self.streamdata['filechoice'] = "dvd://"+self.dvddevice
+               self.streamdata['dvdtitle']=dvd.dvdtitle
+               self.on_filechooser_file_set(self,self.dvddevice)
 
     
    def set_source_to_path(self, path):


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