def __camara_video_run(self): """ Cambia modo Cámara de video. """ if PR: print "__camara_video_run" self.control = True device = self.camara_setting.device salida = self.video_out_setting.formato xid = self.pantalla.get_property('window').xid self.jamediawebcam = JAMediaWebCamVideo(xid, device=device, formato=salida, efectos=[]) self.jamediawebcam.connect("update", self.__update_record) self.jamediawebcam.connect("stop-rafaga", self.__recibe_stop_rafaga) self.jamediawebcam.connect("endfile", self.__control_grabacion_end) if "Escritorio" in device: self.get_toplevel().toolbar.permitir_filmar(True) else: if "/dev/video" in device: self.get_toplevel().toolbar.permitir_filmar(True) else: self.get_toplevel().toolbar.permitir_filmar(False) self.jamediawebcam.play() self.control = False
def __re_init_video_web_cam(self, device=False, salida=False): """ Cuando se agregan o quitan efectos o se cambia la fuente de video, se crea un nuevo objeto gstreamer que mantiene las configuraciones realizadas hasta el momento. """ if PR: print "__re_init_video_web_cam", device, salida rot = 0 config = {} if self.jamediawebcam: rot = self.jamediawebcam.get_rotacion() config = self.jamediawebcam.get_config() efectos = self.efectos_en_pipe.get_efectos() if not device: device = self.camara_setting.device if not salida: salida = self.video_out_setting.formato if self.jamediawebcam: try: self.jamediawebcam.disconnect_by_func(self.__update_record) self.jamediawebcam.disconnect_by_func( self.__recibe_stop_rafaga) self.jamediawebcam.disconnect_by_func( self.__control_grabacion_end) except: pass self.jamediawebcam.stop() del (self.jamediawebcam) self.jamediawebcam = False time.sleep(3) xid = self.pantalla.get_property('window').xid self.jamediawebcam = JAMediaWebCamVideo(xid, device=device, formato=salida, efectos=efectos) self.jamediawebcam.connect("update", self.__update_record) self.jamediawebcam.connect("stop-rafaga", self.__recibe_stop_rafaga) self.jamediawebcam.connect("endfile", self.__control_grabacion_end) self.jamediawebcam.play() self.__re_config(rot, config, efectos)
def __camara_foto_run(self): """ Cambia a modo Cámara de Fotografía. """ if PR: print "__camara_foto_run" self.control = True device = self.camara_setting.device salida = self.video_out_setting.formato xid = self.pantalla.get_property('window').xid self.jamediawebcam = JAMediaWebCamVideo(xid, device=device, formato=salida, efectos=[]) self.jamediawebcam.connect("update", self.__update_record) self.jamediawebcam.connect("stop-rafaga", self.__recibe_stop_rafaga) gobject.idle_add(self.jamediawebcam.play) self.control = False