blob: b8aa0451e29a42f9a521656174288dc5975c5588 [file] [log] [blame]
diff --git a/src/libmtp.c b/src/libmtp.c
index ac4e9c7..3516e8b 100644
--- a/src/libmtp.c
+++ b/src/libmtp.c
@@ -9310,6 +9310,27 @@ int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *device, uint32_t const id,
}
+/**
+ * Get thumbnail format of a file.
+ * @param device a pointer to the device to get thumbnail format of.
+ * @param id the object ID of the file to get thumbnail format of.
+ * @return 0 on success, any other value means failure.
+ */
+int LIBMTP_Get_Thumbnail_Format(LIBMTP_mtpdevice_t *device, uint32_t const id,
+ uint16_t *format)
+{
+ PTPParams *params = (PTPParams *) device->params;
+ uint16_t ret;
+
+ PTPObjectInfo object_info;
+ ret = ptp_getobjectinfo(params, id, &object_info);
+ if (ret != PTP_RC_OK)
+ return -1;
+
+ *format = object_info.ThumbFormat;
+ return 0;
+}
+
/**
* This routine updates an album based on the metadata
* supplied. If the <code>tracks</code> field of the metadata
diff --git a/src/libmtp.h b/src/libmtp.h
index 689bcc6..1c7c71a 100644
--- a/src/libmtp.h
+++ b/src/libmtp.h
@@ -968,6 +968,8 @@ int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
LIBMTP_filesampledata_t *);
int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const,
unsigned char **data, unsigned int *size);
+int LIBMTP_Get_Thumbnail_Format(LIBMTP_mtpdevice_t *device, uint32_t const id,
+ uint16_t *format);
/**
* @}
diff --git a/src/libmtp.h.in b/src/libmtp.h.in
index 56166fa..db055ff 100644
--- a/src/libmtp.h.in
+++ b/src/libmtp.h.in
@@ -968,6 +968,8 @@ int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
LIBMTP_filesampledata_t *);
int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const,
unsigned char **data, unsigned int *size);
+int LIBMTP_Get_Thumbnail_Format(LIBMTP_mtpdevice_t *device, uint32_t const id,
+ uint16_t *format);
/**
* @}
diff --git a/src/libmtp.sym b/src/libmtp.sym
index c8bc10f..d4b09f1 100644
--- a/src/libmtp.sym
+++ b/src/libmtp.sym
@@ -105,6 +105,7 @@ LIBMTP_Set_Playlist_Name
LIBMTP_Set_Album_Name
LIBMTP_Set_Object_Filename
LIBMTP_Get_Thumbnail
+LIBMTP_Get_Thumbnail_Format
LIBMTP_Read_Event
LIBMTP_Read_Event_Async
LIBMTP_Handle_Events_Timeout_Completed