From 01d7d84ae27131a811d53e5d91370fa41257b887 Mon Sep 17 00:00:00 2001 From: jb-alvarado Date: Wed, 3 Feb 2021 17:27:01 +0100 Subject: [PATCH] remove get_category, check for last and next node, less param for filter --- ffplayout/playlist.py | 67 ++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 42 deletions(-) diff --git a/ffplayout/playlist.py b/ffplayout/playlist.py index 629d575c..76f9c0b5 100644 --- a/ffplayout/playlist.py +++ b/ffplayout/playlist.py @@ -59,6 +59,8 @@ class GetSourceFromPlaylist: self.list_date = get_date(True) self.node = None + self.node_last = None + self.node_next = None self.src = None self.begin = 0 self.seek = 0 @@ -109,18 +111,18 @@ class GetSourceFromPlaylist: self.clip_nodes = None def get_clip_in_out(self, node): - if is_float(node["in"]): - self.seek = node["in"] + if is_float(node['in']): + self.seek = node['in'] else: self.seek = 0 - if is_float(node["duration"]): - self.duration = node["duration"] + if is_float(node['duration']): + self.duration = node['duration'] else: self.duration = 20 - if is_float(node["out"]): - self.out = node["out"] + if is_float(node['out']): + self.out = node['out'] else: self.out = self.duration @@ -130,39 +132,20 @@ class GetSourceFromPlaylist: self.seek, self.out, self.first, self.last ) - def get_category(self, index, node): - if 'category' in node: - if index - 1 >= 0: - last_category = self.clip_nodes[ - "program"][index - 1]["category"] - else: - last_category = 'noad' + def last_and_next_node(self, index): + if index - 1 >= 0: + self.node_last = self.clip_nodes['program'][index - 1] + else: + self.node_last = None - if index + 2 <= len(self.clip_nodes["program"]): - next_category = self.clip_nodes[ - "program"][index + 1]["category"] - else: - next_category = 'noad' - - if node["category"] == 'advertisement': - self.ad = True - else: - self.ad = False - - if last_category == 'advertisement': - self.ad_last = True - else: - self.ad_last = False - - if next_category == 'advertisement': - self.ad_next = True - else: - self.ad_next = False + if index + 2 <= len(self.clip_nodes['program']): + self.node_next = self.clip_nodes['program'][index + 1] + else: + self.node_next = None def set_filtergraph(self): self.filtergraph = build_filtergraph( - self.node, self.duration, self.seek, self.out, - self.ad, self.ad_last, self.ad_next, self.probe, messenger) + self.node, self.node_last, self.node_next, self.seek, self.probe) def check_for_next_playlist(self): if not self.next_playlist: @@ -208,13 +191,13 @@ class GetSourceFromPlaylist: self.last = False - def peperation_task(self, index, node): + def peperation_task(self, index): # call functions in order to prepare source and filter - self.src = node["source"] + self.src = self.node['source'] self.probe.load(self.src) self.get_input() - self.get_category(index, node) + self.last_and_next_node(index) self.set_filtergraph() self.check_for_next_playlist() @@ -231,23 +214,23 @@ class GetSourceFromPlaylist: self.begin = self.init_time # loop through all clips in playlist and get correct clip in time - for index, self.node in enumerate(self.clip_nodes["program"]): + for index, self.node in enumerate(self.clip_nodes['program']): self.get_clip_in_out(self.node) # first time we end up here if self.first and \ self.last_time < self.begin + self.out - self.seek: - self.peperation_task(index, self.node) + self.peperation_task(index) self.first = False break elif self.last_time < self.begin: - if index + 1 == len(self.clip_nodes["program"]): + if index + 1 == len(self.clip_nodes['program']): self.last = True else: self.last = False - self.peperation_task(index, self.node) + self.peperation_task(index) break self.begin += self.out - self.seek