def agregar_efecto(self, nombre_efecto): """ Agrega un efecto segĂșn su nombre. """ self.efectos.append(nombre_efecto) self.config_efectos[nombre_efecto] = {} self.stop() # Quitar efectos efectos_bin = self.pipeline.get_by_name('efectos_bin') jamedia_camara_bin = self.pipeline.get_by_name('jamedia_camara_bin') jamedia_camara_bin.unlink(efectos_bin) efectos_bin.unlink(self.gamma) self.pipeline.remove(efectos_bin) del (efectos_bin) # Agregar efectos efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) self.pipeline.add(efectos_bin) jamedia_camara_bin.link(efectos_bin) efectos_bin.link(self.gamma) self.play()
def agregar_efecto(self, nombre_efecto): """ Agrega un efecto segĂșn su nombre. """ self.efectos.append(nombre_efecto) self.config_efectos[nombre_efecto] = {} self.stop() # Quitar efectos efectos_bin = self.pipeline.get_by_name("efectos_bin") jamedia_camara_bin = self.pipeline.get_by_name("jamedia_camara_bin") jamedia_camara_bin.unlink(efectos_bin) efectos_bin.unlink(self.gamma) self.pipeline.remove(efectos_bin) del (efectos_bin) # Agregar efectos efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) self.pipeline.add(efectos_bin) jamedia_camara_bin.link(efectos_bin) efectos_bin.link(self.gamma) self.play()
def __set_base_pipe(self): """ Linkea los elementos base. """ #self.camara #efectos #self.gamma #self.videoflip multi_out_tee = Gst.ElementFactory.make('tee', "multi_out_tee") 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") efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) fotobin = Foto_bin() self.pipeline.add(self.camara) self.pipeline.add(efectos_bin) self.pipeline.add(self.gamma) self.pipeline.add(self.videoflip) self.pipeline.add(multi_out_tee) self.pipeline.add(queue_xvimagesink) # multi_out_tee. #1 self.pipeline.add(pantalla) self.pipeline.add(fotobin) self.camara.link(efectos_bin) efectos_bin.link(self.gamma) self.gamma.link(self.videoflip) self.videoflip.link(multi_out_tee) multi_out_tee.link(queue_xvimagesink) # multi_out_tee. #1 queue_xvimagesink.link(pantalla) multi_out_tee.link(fotobin)
def __set_base_pipe(self): """ Linkea los elementos base. """ # self.camara # efectos # self.gamma # self.videoflip multi_out_tee = Gst.ElementFactory.make("tee", "multi_out_tee") 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") efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) fotobin = Foto_bin() self.pipeline.add(self.camara) self.pipeline.add(efectos_bin) self.pipeline.add(self.gamma) self.pipeline.add(self.videoflip) self.pipeline.add(multi_out_tee) self.pipeline.add(queue_xvimagesink) # multi_out_tee. #1 self.pipeline.add(pantalla) self.pipeline.add(fotobin) self.camara.link(efectos_bin) efectos_bin.link(self.gamma) self.gamma.link(self.videoflip) self.videoflip.link(multi_out_tee) multi_out_tee.link(queue_xvimagesink) # multi_out_tee. #1 queue_xvimagesink.link(pantalla) multi_out_tee.link(fotobin)
def quitar_efecto(self, indice_efecto): """ Quita el efecto correspondiente al indice o al nombre que recibe. """ if type(indice_efecto) == int: self.efectos.remove(self.efectos[indice_efecto]) if self.efectos[indice_efecto] in self.config_efectos.keys(): del (self.config_efectos[self.efectos[indice_efecto]]) elif type(indice_efecto) == str: for efecto in self.efectos: if efecto == indice_efecto: self.efectos.remove(efecto) if efecto in self.config_efectos.keys(): del (self.config_efectos[efecto]) break self.stop() # Quitar efectos efectos_bin = self.pipeline.get_by_name('efectos_bin') jamedia_camara_bin = self.pipeline.get_by_name('jamedia_camara_bin') jamedia_camara_bin.unlink(efectos_bin) efectos_bin.unlink(self.gamma) self.pipeline.remove(efectos_bin) del (efectos_bin) # Agregar efectos efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) self.pipeline.add(efectos_bin) jamedia_camara_bin.link(efectos_bin) efectos_bin.link(self.gamma) self.play()
def quitar_efecto(self, indice_efecto): """ Quita el efecto correspondiente al indice o al nombre que recibe. """ if type(indice_efecto) == int: self.efectos.remove(self.efectos[indice_efecto]) if self.efectos[indice_efecto] in self.config_efectos.keys(): del (self.config_efectos[self.efectos[indice_efecto]]) elif type(indice_efecto) == str: for efecto in self.efectos: if efecto == indice_efecto: self.efectos.remove(efecto) if efecto in self.config_efectos.keys(): del (self.config_efectos[efecto]) break self.stop() # Quitar efectos efectos_bin = self.pipeline.get_by_name("efectos_bin") jamedia_camara_bin = self.pipeline.get_by_name("jamedia_camara_bin") jamedia_camara_bin.unlink(efectos_bin) efectos_bin.unlink(self.gamma) self.pipeline.remove(efectos_bin) del (efectos_bin) # Agregar efectos efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) self.pipeline.add(efectos_bin) jamedia_camara_bin.link(efectos_bin) efectos_bin.link(self.gamma) self.play()