blob: bc475e2af031db8cc3b3a185307c5588d65483ac [file] [log] [blame]
diff --git a/src/libmtp.c b/src/libmtp.c
index 288440f..c3df3f5 100644
--- a/src/libmtp.c
+++ b/src/libmtp.c
@@ -9229,6 +9229,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
* contains a track listing, these tracks will be added to the
diff --git a/src/libmtp.h b/src/libmtp.h
index ade0da0..7b31a8a 100644
--- a/src/libmtp.h
+++ b/src/libmtp.h
@@ -954,6 +954,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 7523ac0..9935e2b 100644
--- a/src/libmtp.h.in
+++ b/src/libmtp.h.in
@@ -954,6 +954,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 66b87f9..ee65ce4 100644
--- a/src/libmtp.sym
+++ b/src/libmtp.sym
@@ -103,6 +103,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