def set_visualizador(self, nombre): """ Setea el visualizador de audio. """ self.audio_visualizador = nombre self.stop() # Quitar efectos multi_out_tee = self.pipeline.get_by_name('multi_out_tee') audio_visualizador_bin = self.pipeline.get_by_name('audio_visualizador_bin') efectos_bin = self.pipeline.get_by_name('efectos_bin') multi_out_tee.unlink(audio_visualizador_bin) audio_visualizador_bin.unlink(efectos_bin) self.pipeline.remove(audio_visualizador_bin) del(audio_visualizador_bin) # Agregar efectos audio_visualizador_bin = Audio_Visualizador_bin(self.audio_visualizador) self.pipeline.add(audio_visualizador_bin) multi_out_tee.link(audio_visualizador_bin) audio_visualizador_bin.link(efectos_bin) self.play()
def set_base_pipe(self): """ Linkea los elementos base. """ #self.autoaudiosrc multi_out_tee = Gst.ElementFactory.make('tee', "multi_out_tee") audio_visualizador_bin = Audio_Visualizador_bin(self.audio_visualizador) efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) #self.videobalance #self.gamma #self.videoflip queue_xvimagesink = Gst.ElementFactory.make('queue', "queue_xvimagesink") queue_xvimagesink.set_property('max-size-buffers', 1000) queue_xvimagesink.set_property('max-size-bytes', 0) queue_xvimagesink.set_property('max-size-time', 0) pantalla = Gst.ElementFactory.make('xvimagesink', "xvimagesink") self.pipeline.add(self.autoaudiosrc) self.pipeline.add(multi_out_tee) self.pipeline.add(audio_visualizador_bin) self.pipeline.add(efectos_bin) self.pipeline.add(self.videobalance) self.pipeline.add(self.gamma) self.pipeline.add(self.videoflip) self.pipeline.add(queue_xvimagesink) self.pipeline.add(pantalla) self.autoaudiosrc.link(multi_out_tee) multi_out_tee.link(audio_visualizador_bin) audio_visualizador_bin.link(efectos_bin) efectos_bin.link(self.videobalance) self.videobalance.link(self.gamma) self.gamma.link(self.videoflip) self.videoflip.link(queue_xvimagesink) queue_xvimagesink.link(pantalla)