Commit 264f9803 authored by Jan Kiene's avatar Jan Kiene
Browse files

prevent infinite loop when no input files are found

parent 291c1b0f
Loading
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -964,10 +964,13 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector):
        nd = 0
        nm = 0
        for mode in self.flat_mode_list:
            nm += 1
            nel = len(self.flat_mode_list[mode]["item_list"])
            nd += len(self.flat_mode_list[mode]["cmd"]["dec"]) * nel
            ne += nel
            nd_tmp = len(self.flat_mode_list[mode]["cmd"]["dec"]) * nel
            ne_tmp = nel
            if nd_tmp != 0 and ne_tmp != 0:
                nm += 1
                nd += nd_tmp
                ne += ne_tmp
        self.stats["num_modes"] = nm
        if self.run_encoder:
            self.stats["num_encs_total"] = ne
@@ -1528,6 +1531,13 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector):

    def run_enc_dec_threads(self):
        self.get_modes_initial_statistics()

        self.results = []
        # check if there are any files found
        if self.stats["num_encs_total"] == 0 and self.stats["num_decs_total"] == 0:
            self.logger.error("Found no items to run the modes.")
            raise NoInputForAnyModesFound

        self.create_enc_queue()

        self.dec_queue = {
@@ -1536,7 +1546,6 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector):
            "all_encoded": False,
        }
        # run all encoders
        self.results = []
        run_dec = 1
        tasks_enc = []
        tasks_dec = []
@@ -1648,4 +1657,5 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector):
        return decoded_item_list


# if __name__ == '__main__':
class NoInputForAnyModesFound(Exception):
    pass
 No newline at end of file