Merge branch 'bug_673_dvdburn_keyerror'
[enigma2.git] / lib / python / Plugins / Extensions / DVDBurn / Process.py
index f7f44db6442469d0637c593c481deb9d1241d5a4..2e7435bbe21401d22c69f03edad434995d4d5ef8 100644 (file)
@@ -95,6 +95,8 @@ class DemuxTask(Task):
                self.relevantAudioPIDs = [ ]
                self.getRelevantAudioPIDs(title)
                self.generated_files = [ ]
+               self.mplex_audiofiles = { }
+               self.mplex_videofile = ""
                self.mplex_streamfiles = [ ]
                if len(self.cutlist) > 1:
                        self.args += [ "-cut", self.cutfile ]
@@ -132,8 +134,10 @@ class DemuxTask(Task):
        def haveNewFile(self, file):
                print "[DemuxTask] produced file:", file, self.currentPID
                self.generated_files.append(file)
-               if self.currentPID in self.relevantAudioPIDs or file.endswith("m2v"):
-                       self.mplex_streamfiles.append(file)
+               if self.currentPID in self.relevantAudioPIDs:
+                       self.mplex_audiofiles[self.currentPID] = file
+               elif file.endswith("m2v"):
+                       self.mplex_videofile = file
 
        def haveProgress(self, progress):
                #print "PROGRESS [%s]" % progress
@@ -167,6 +171,13 @@ class DemuxTask(Task):
                f.close()
 
        def cleanup(self, failed):
+               print "[DemuxTask::cleanup]"
+               self.mplex_streamfiles = [ self.mplex_videofile ]
+               for pid in self.relevantAudioPIDs:
+                       if pid in self.mplex_audiofiles:
+                               self.mplex_streamfiles.append(self.mplex_audiofiles[pid])
+               print self.mplex_streamfiles
+
                if failed:
                        import os
                        for file in self.generated_files:
@@ -888,7 +899,7 @@ class DVDJob(Job):
                                        burnargs += [ "-use-the-force-luke=4gms", "-speed=1", "-R" ]
                        elif output == "iso":
                                self.name = _("Create DVD-ISO")
-                               tool = "mkisofs"
+                               tool = "genisoimage"
                                isopathfile = getISOfilename(self.project.settings.isopath.getValue(), volName)
                                burnargs = [ "-o", isopathfile ]
                        burnargs += [ "-dvd-video", "-publisher", "Dreambox", "-V", volName, self.workspace + "/dvd" ]
@@ -927,7 +938,7 @@ class DVDdataJob(Job):
                        if self.project.size/(1024*1024) > self.project.MAX_SL:
                                burnargs += [ "-use-the-force-luke=4gms", "-speed=1", "-R" ]
                elif output == "iso":
-                       tool = "mkisofs"
+                       tool = "genisoimage"
                        self.name = _("Create DVD-ISO")
                        isopathfile = getISOfilename(self.project.settings.isopath.getValue(), volName)
                        burnargs = [ "-o", isopathfile ]