Mode séquence photo
Le mode séquence photo permet de capturer une séquence de photos en réponse à un seul clic de photo de l’appareil photo. Dans ce mode, le système de capture envoie en permanence des mémoires tampons au pilote de l’appareil photo pour capturer les photos dans une séquence. Ce mode permet également de capturer des photos à partir d’une période antérieure au clic photo.
Opération de séquence photo
Un pilote d’appareil photo prend en charge le contrôle KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE si est capable de séquencer des photos. Le pipeline de capture démarre une séquence de photos en envoyant un déclencheur KS_VideoControlFlag_StartPhotoSequenceCapture au flux de photos. À ce stade, le pilote doit commencer à envoyer des mémoires tampons de capture. Le pipeline de capture arrête la séquence de photos en envoyant des KS_VideoControlFlag_StopPhotoSequenceCapture vers le bas pour déclencher le flux de photos désactivé. Pour chaque photo terminée, une nouvelle mémoire tampon est envoyée au pilote pour qu’elle capture des images.
Le pipeline de capture a une phase de configuration pour le mode séquence de photos au cours de laquelle il configure le nombre d’images passées nécessaires pour une session de séquence photo particulière. Pendant la phase de configuration, le pilote doit spécifier le nombre maximal d’images photo passées qu’il prend en charge. En outre, le pilote spécifie le nombre de mémoires tampons nécessaires pour prendre en charge le nombre requis d’images passées.
Le contrôle étendu, KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTRIGGERTIME, transmet l’heure à laquelle l’utilisateur a cliqué sur le déclencheur photo dans l’application de l’appareil photo pour prendre la séquence photo. Sans cette fois, le pilote ne saura pas à partir de quelle capture de photo commencer à retourner des images lorsque le déclencheur KS_VideoControlFlag_StartPhotoSequenceCapture arrive. Avec ce contrôle, le pilote est censé retourner la photo qui est la plus proche de l’heure du déclencheur photo donnée.
Négociation du nombre de trames
La séquence d’opérations suivante définit le mode photo et le nombre d’images pour le pilote d’appareil photo.
Une application appelle une API pour préparer le système de capture et le pilote pour une capture de séquence photo.
Le système de capture envoie un appel à la demande de propriété étendue mode photo au pilote, KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE avec KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE défini dans les indicateurs, pour démarrer la transition du pilote en mode séquence photo.
Le pilote reçoit le nombre de trames d’historique demandé à partir de l’application. Le pilote doit retourner le nombre de trames d’historique qu’il est capable de prendre en charge, ainsi que le nombre de mémoires tampons nécessaires pour contenir les images d’historique.
Le pilote doit mettre à jour la structure des exigences d’allocation de la broche avec le nombre de mémoires tampons par l’appel de transition en mode séquence photo à l’aide de KsEdit.
Le pilote va changer son état interne en mode séquence photo.
Le système de capture fait passer l’épingle à KSSTATE_RUN et fournit au pilote le nombre de mémoires tampons demandées pour le mode séquence photo.
Exigences de prise en charge des contrôles
La prise en charge des contrôles étendus suivants est requise pour qu’un pilote d’appareil photo prend en charge le mode séquence photo.
Photo Mode
Contrôle : KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE
Fréquence d’images photo
Fréquence d’images maximale des photos
Contrôle : KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMAXFRAMERATE
Heure du déclencheur photo
Contrôle : KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTRIGGERTIME
Miniature de la photo
Fréquence d’images vidéo maximale
Contrôle : KSPROPERTY_CAMERACONTROL_EXTENDED_MAXVIDFPS_PHOTORES
Mode Flash (prise en charge de la fonctionnalité KSCAMERA_EXTENDEDPROP_FLASH_SINGLEFLASH)
Contrôle : KSPROPERTY_CAMERACONTROL_EXTENDED_FLASHMODE