diff options
Diffstat (limited to 'libmediaart/extractqt.cpp')
-rw-r--r-- | libmediaart/extractqt.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/libmediaart/extractqt.cpp b/libmediaart/extractqt.cpp index d39ddd7..dda324f 100644 --- a/libmediaart/extractqt.cpp +++ b/libmediaart/extractqt.cpp @@ -82,8 +82,9 @@ media_art_plugin_shutdown (void) } gboolean -media_art_file_to_jpeg (const gchar *filename, - const gchar *target) +media_art_file_to_jpeg (const gchar *filename, + const gchar *target, + GError **error) { if (max_width_in_bytes < 0) { g_debug ("Not saving album art from file, disabled in config"); @@ -91,6 +92,7 @@ media_art_file_to_jpeg (const gchar *filename, } /* TODO: Add resizing support */ + /* TODO: Add error reporting */ QFile file (filename); @@ -129,10 +131,11 @@ media_art_file_to_jpeg (const gchar *filename, } gboolean -media_art_buffer_to_jpeg (const unsigned char *buffer, - size_t len, - const gchar *buffer_mime, - const gchar *target) +media_art_buffer_to_jpeg (const unsigned char *buffer, + size_t len, + const gchar *buffer_mime, + const gchar *target, + GError **error) { if (max_width_in_bytes < 0) { g_debug ("Not saving album art from buffer, disabled in config"); @@ -144,14 +147,16 @@ media_art_buffer_to_jpeg (const unsigned char *buffer, (g_strcmp0 (buffer_mime, "image/jpeg") == 0 || g_strcmp0 (buffer_mime, "JPG") == 0) && (buffer && len > 2 && buffer[0] == 0xff && buffer[1] == 0xd8 && buffer[2] == 0xff)) { - g_debug ("Saving album art using raw data as uri:'%s'", - target); - g_file_set_contents (target, (const gchar*) buffer, (gssize) len, NULL); + g_debug ("Saving album art using raw data as uri:'%s'", target); + if (!g_file_set_contents (target, (const gchar*) buffer, (gssize) len, error)) { + return FALSE; + } } else { QImageReader *reader = NULL; QByteArray array; /* TODO: Add resizing support */ + /* TODO: Add error reporting */ array = QByteArray ((const char *) buffer, (int) len); |