[tracker] tracker-extract: Performance improvement for Qt-based albumart handling
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] tracker-extract: Performance improvement for Qt-based albumart handling
- Date: Tue, 1 Feb 2011 11:21:47 +0000 (UTC)
commit aef1f93d8a87ca45b741eb791f150077e4386c73
Author: Philip Van Hoof <philip codeminded be>
Date: Tue Feb 1 12:21:15 2011 +0100
tracker-extract: Performance improvement for Qt-based albumart handling
src/tracker-extract/tracker-albumart-qt.cpp | 49 ++++++++++++++++-----------
1 files changed, 29 insertions(+), 20 deletions(-)
---
diff --git a/src/tracker-extract/tracker-albumart-qt.cpp b/src/tracker-extract/tracker-albumart-qt.cpp
index d00b65c..49ef7f1 100644
--- a/src/tracker-extract/tracker-albumart-qt.cpp
+++ b/src/tracker-extract/tracker-albumart-qt.cpp
@@ -88,35 +88,44 @@ tracker_albumart_buffer_to_jpeg (const unsigned char *buffer,
const gchar *buffer_mime,
const gchar *target)
{
- QImageReader *reader = NULL;
- QByteArray array;
+ if (g_strcmp0 (buffer_mime, "image/jpeg") == 0 ||
+ g_strcmp0 (buffer_mime, "JPG") == 0) {
- array = QByteArray ((const char *) buffer, (int) len);
+ g_debug ("Saving album art using raw data as uri:'%s'",
+ target);
- QBuffer qbuffer (&array);
- qbuffer.open (QIODevice::ReadOnly);
-
- if (buffer_mime != NULL) {
- reader = new QImageReader::QImageReader (&qbuffer, QByteArray (buffer_mime));
+ g_file_set_contents (target, (const gchar*) buffer, (gssize) len, NULL);
} else {
- QByteArray format = QImageReader::imageFormat (&qbuffer);
+ QImageReader *reader = NULL;
+ QByteArray array;
+
+ array = QByteArray ((const char *) buffer, (int) len);
+
+ QBuffer qbuffer (&array);
+ qbuffer.open (QIODevice::ReadOnly);
- if (!format.isEmpty ()) {
- reader = new QImageReader::QImageReader (&qbuffer, format);
+ if (buffer_mime != NULL) {
+ reader = new QImageReader::QImageReader (&qbuffer, QByteArray (buffer_mime));
+ } else {
+ QByteArray format = QImageReader::imageFormat (&qbuffer);
+
+ if (!format.isEmpty ()) {
+ reader = new QImageReader::QImageReader (&qbuffer, format);
+ }
}
- }
- if (!reader) {
- g_message ("Could not get QImageReader from buffer");
- return FALSE;
- }
+ if (!reader) {
+ g_message ("Could not get QImageReader from buffer");
+ return FALSE;
+ }
- QImage image;
+ QImage image;
- image = reader->read ();
- image.save (QString (target), "jpeg");
+ image = reader->read ();
+ image.save (QString (target), "jpeg");
- delete reader;
+ delete reader;
+ }
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]