summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2021-01-31 10:15:00 +0100
committerMarcus Meissner <marcus@jet.franken.de>2021-01-31 10:15:30 +0100
commite2c7afc75abff24882d2de9e6f9583aa9d94f5a5 (patch)
tree5a6b661c6db1fcc4327764616d333fe6d2cb57c4
parentfde666be126c07d2f50c79f6d49182b2c6c54a42 (diff)
downloadlibgphoto2-e2c7afc75abff24882d2de9e6f9583aa9d94f5a5.tar.gz
added 9414 getliveview config
-rw-r--r--camlibs/ptp2/ptp.c18
-rw-r--r--camlibs/ptp2/ptp.h3
2 files changed, 21 insertions, 0 deletions
diff --git a/camlibs/ptp2/ptp.c b/camlibs/ptp2/ptp.c
index 56b3109e0..500ac409f 100644
--- a/camlibs/ptp2/ptp.c
+++ b/camlibs/ptp2/ptp.c
@@ -1046,6 +1046,24 @@ ptp_panasonic_9401 (PTPParams* params, uint32_t param1)
return ret;
}
+/* liveview format query
+ * 0d800012 - get imageformats
+ * 0d800011 - get current imageformat ?
+ */
+uint16_t
+ptp_panasonic_9414 (PTPParams* params, uint32_t param1)
+{
+ PTPContainer ptp;
+ uint16_t ret;
+ unsigned int *size = 0;
+ unsigned char *data = NULL;
+
+ PTP_CNT_INIT(ptp, PTP_OC_PANASONIC_GetLiveViewParameters, param1);
+ ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, size);
+ free(data);
+ return ret;
+}
+
uint16_t
ptp_panasonic_setdeviceproperty (PTPParams* params, uint32_t propcode,
unsigned char *value, uint16_t valuesize)
diff --git a/camlibs/ptp2/ptp.h b/camlibs/ptp2/ptp.h
index 992537ca5..bde5d869c 100644
--- a/camlibs/ptp2/ptp.h
+++ b/camlibs/ptp2/ptp.h
@@ -937,6 +937,8 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_OC_PANASONIC_SetGPSDataInfo 0x9411
#define PTP_OC_PANASONIC_Liveview 0x9412 /* 0d000010 start, 0d000011 stop */
#define PTP_OC_PANASONIC_PollEvents 0x9414 /* ? 1 arg e.g 12000020 */
+#define PTP_OC_PANASONIC_GetLiveViewParameters 0x9414 /* either all formats 0x0d800012 or current format 0x0d800011 */
+#define PTP_OC_PANASONIC_SetLiveViewParameters 0x9415 /* current format 0x0d800011 */
#define PTP_OC_PANASONIC_ManualFocusDrive 0x9416 /* Rec Ctrl Mf Assist, Rec Ctrl Backup Req ... 1 arg */
#define PTP_OC_PANASONIC_ChangeEvent 0x9603 /* 2 args ... e.g. 0x4002, new (change object added event) */
@@ -4681,6 +4683,7 @@ uint16_t ptp_panasonic_getdevicepropertysize (PTPParams *params, uint32_t propco
uint16_t ptp_panasonic_setcapturetarget (PTPParams *params, uint16_t mode);
uint16_t ptp_panasonic_manualfocusdrive (PTPParams* params, uint16_t mode);
uint16_t ptp_panasonic_9401 (PTPParams* params, uint32_t x);
+uint16_t ptp_panasonic_9414 (PTPParams* params, uint32_t x);
uint16_t ptp_olympus_liveview_image (PTPParams* params, unsigned char **data, unsigned int *size);
#define ptp_olympus_omd_move_focus(params,direction,step_size) ptp_generic_no_data(params,PTP_OC_OLYMPUS_OMD_MFDrive,2,direction,step_size)