def convert_next_segment(self): # Figure out begin and end ebutt3_doc = self.get_segment(begin=self.last_segment_end, end=self.last_segment_end + self._segment_length) if ebutt3_doc is not None: ebuttd_bindings = self._ebuttd_converter.convert_element(ebutt3_doc.binding, dataset={}) ebuttd_doc = EBUTTDDocument.create_from_raw_binding(ebuttd_bindings) ebuttd_doc.validate() else: ebuttd_doc = self._default_ebuttd_doc self.increment_last_segment_end(self._segment_length) self._outbound_carriage_impl.emit_document(ebuttd_doc)
def convert_next_segment(self): # Figure out begin and end ebutt3_doc = self.get_segment( begin=self.last_segment_end, end=self.last_segment_end + self._segment_length ) if ebutt3_doc is not None: ebuttd_bindings = self._ebuttd_converter.convert_element(ebutt3_doc.binding, dataset={}) ebuttd_doc = EBUTTDDocument.create_from_raw_binding(ebuttd_bindings) ebuttd_doc.validate() else: ebuttd_doc = self._default_ebuttd_doc self.increment_last_segment_end(self._segment_length) self._outbound_carriage_impl.emit_document(ebuttd_doc)
def process_document(self, document, **kwargs): # Convert each received document into EBU-TT-D if self.is_document(document): self.limit_sequence_to_one(document) converted_doc = EBUTTDDocument.create_from_raw_binding( self._ebuttd_converter.convert_document(document.binding)) # Specify the time_base since the FilesystemProducerImpl can't derive it otherwise. # Hard coded to 'media' because that's all that's permitted in EBU-TT-D. Alternative # would be to extract it from the EBUTTDDocument but since it's the only permitted # value that would be an unnecessary overhead... self.producer_carriage.emit_data(data=converted_doc, sequence_identifier='default', time_base='media', **kwargs)
def convert_data(self, data, **kwargs): return EBUTTDDocument.create_from_raw_binding( self._converter.convert_document(data)), kwargs