commit 1ffeead1f2783410088724cc1db894d75fd2ba44
Author: phantomjinx <[email protected]>
Date: Sat Dec 11 23:25:25 2010 +0000
Add more debugging and add another file removal if conversion failed
* file_convert.c
* add some more debugging statements
* if conversion failed but track is still valid then the track still
needs to be removed and cleaned up
libgtkpod/file_convert.c | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
---
diff --git a/libgtkpod/file_convert.c b/libgtkpod/file_convert.c
index fe2d883..99dc4ce 100644
--- a/libgtkpod/file_convert.c
+++ b/libgtkpod/file_convert.c
@@ -1016,6 +1016,7 @@ static gboolean conversion_add_track(Conversion *conv,
Track *track) {
else { /* an error has occured */
if (ctr->errormessage) {
gtkpod_warning(ctr->errormessage);
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(ctr->errormessage);
ctr->errormessage = NULL;
}
@@ -1182,6 +1183,7 @@ static gboolean conversion_scheduler_unlocked(Conversion
*conv) {
GList *gli, *nextgli;
g_return_val_if_fail (conv, TRUE);
+ debug("Conversion scheduler unlocked\n");
if (!conv->cachedir) {
/* Cachedir is not available. Not good! Remove the timeout function. */
@@ -1193,6 +1195,7 @@ static gboolean conversion_scheduler_unlocked(Conversion
*conv) {
}
if (conv->scheduled) {
+ debug("Conversion scheduled. Setting up thread\n");
if ((conv->threads_num < conv->max_threads_num) && ((conv->dirsize <=
conv->max_dirsize)
|| conv->conversion_force)) {
GList *gl;
@@ -1221,6 +1224,7 @@ static gboolean conversion_scheduler_unlocked(Conversion
*conv) {
}
if (conv->processing) {
+ debug("Conversion is processing\n");
GList *gl;
for (gl = conv->processing; gl; gl = gl->next) {
ConvTrack *ctr = gl->data;
@@ -1232,6 +1236,7 @@ static gboolean conversion_scheduler_unlocked(Conversion
*conv) {
}
if (conv->failed) {
+ debug("Conversion has failed\n");
GList *gl;
for (gl = conv->failed; gl; gl = gl->next) {
ConvTrack *ctr = gl->data;
@@ -1244,6 +1249,7 @@ static gboolean conversion_scheduler_unlocked(Conversion
*conv) {
ExtraTrackData *etr;
if (ctr->errormessage) {
gtkpod_warning(ctr->errormessage);
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(ctr->errormessage);
ctr->errormessage = NULL;
}
@@ -1270,6 +1276,7 @@ static gboolean conversion_scheduler_unlocked(Conversion
*conv) {
}
if (conv->converted) {
+ debug("Conversion has successfully converted\n");
GList *gl;
for (gl = conv->converted; gl; gl = gl->next) {
ConvTrack *ctr = gl->data;
@@ -1329,6 +1336,7 @@ static gboolean conversion_scheduler_unlocked(Conversion
*conv) {
}
if (conv->finished) {
+ debug("Conversion has finished converting\n");
GList *gl;
for (gl = conv->finished; gl; gl = gl->next) {
ConvTrack *ctr = gl->data;
@@ -1434,6 +1442,7 @@ static gboolean conversion_scheduler_unlocked(Conversion
*conv) {
if (tri->valid && ctr->valid) {
if (ctr->errormessage) {
gtkpod_warning(ctr->errormessage);
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(ctr->errormessage);
ctr->errormessage = NULL;
}
@@ -1475,7 +1484,7 @@ static gboolean conversion_scheduler(gpointer data) {
gboolean result;
g_return_val_if_fail (data, FALSE);
- debug ("conversion_scheduler enter\n");
+// debug ("conversion_scheduler enter\n");
gdk_threads_enter();
if (!g_mutex_trylock(conv->mutex)) {
@@ -1488,7 +1497,7 @@ static gboolean conversion_scheduler(gpointer data) {
g_mutex_unlock (conv->mutex);
gdk_threads_leave();
- debug ("conversion_scheduler exit\n");
+// debug ("conversion_scheduler exit\n");
return result;
}
@@ -1764,6 +1773,7 @@ static gchar *conversion_get_fname_extension(Conversion
*conv, ConvTrack *ctr) {
if (ctr->valid) {
gchar *buf = conversion_get_track_info(ctr);
ctr->errormessage = g_strdup_printf(_("Conversion of '%s' failed:
'%s'.\n\n"), buf, error->message);
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(buf);
}
if (conv)
@@ -1779,6 +1789,7 @@ static gchar *conversion_get_fname_extension(Conversion
*conv, ConvTrack *ctr) {
ctr->errormessage
= g_strdup_printf(_("Conversion of '%s' failed: '%s %s'
returned exit status %d.\n\n"), buf, argv[0], argv[1],
WEXITSTATUS (exit_status));
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(buf);
}
if (conv)
@@ -1803,6 +1814,7 @@ static gchar *conversion_get_fname_extension(Conversion
*conv, ConvTrack *ctr) {
gchar *buf = conversion_get_track_info(ctr);
ctr->errormessage
= g_strdup_printf(_("Conversion of '%s' failed: '\"%s\"
%s' did not return filename extension as expected.\n\n"), buf, argv[0],
argv[1]);
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(buf);
}
if (conv)
@@ -1867,6 +1879,7 @@ static gboolean conversion_set_valid_filename(Conversion
*conv, ConvTrack *ctr)
char *buf = conversion_get_track_info(ctr);
ctr->errormessage
= g_strdup_printf(_("Conversion of '%s'
failed: Could not access original file '%s' (%s).\n\n"), buf, ctr->orig_file,
strerror(errno));
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(buf);
g_mutex_unlock (conv->mutex);
return FALSE;
@@ -1910,6 +1923,7 @@ static gboolean conversion_set_valid_filename(Conversion
*conv, ConvTrack *ctr)
gchar *buf = conversion_get_track_info(ctr);
ctr->errormessage
= g_strdup_printf(_("Conversion of '%s' failed: Could
not create directory '%s'.\n\n"), buf, rootdir);
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(buf);
}
}
@@ -1989,6 +2003,7 @@ static gboolean conversion_convert_track(Conversion
*conv, ConvTrack *ctr) {
if (ctr->valid) {
gchar *buf = conversion_get_track_info(ctr);
ctr->errormessage = g_strdup_printf(_("Conversion of '%s'
failed: '%s'.\n\n"), buf, error->message);
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(buf);
}
g_error_free(error);
@@ -2017,6 +2032,7 @@ static gboolean conversion_convert_track(Conversion
*conv, ConvTrack *ctr) {
ctr->errormessage
= g_strdup_printf(_("Conversion of '%s'
failed: '%s' returned exit status %d.\n\n"), buf, ctr->conversion_cmd,
WEXITSTATUS (status));
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(buf);
}
if (g_file_test(ctr->converted_file, G_FILE_TEST_EXISTS)) {
@@ -2049,6 +2065,7 @@ static gboolean conversion_convert_track(Conversion
*conv, ConvTrack *ctr) {
gchar *buf = conversion_get_track_info(ctr);
ctr->errormessage
= g_strdup_printf(_("Conversion of '%s' failed: could not
stat the converted file '%s'.\n\n"), buf, ctr->converted_file);
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(buf);
g_free(ctr->converted_file);
ctr->converted_file = NULL;
@@ -2156,6 +2173,8 @@ static gpointer conversion_thread(gpointer data) {
}
else { /* add to failed */
conv->failed = g_list_concat(gl, conv->failed);
+ /* remove (converted_file) */
+ g_idle_add((GSourceFunc) gp_remove_track_cb, ctr->track);
}
}
else { /* track is no longer valid -> remove converted file
@@ -2617,6 +2636,7 @@ static FileTransferStatus
transfer_transfer_track(TransferItdb *tri, ConvTrack *
g_mutex_lock (conv->mutex);
if (error) {
ctr->errormessage = g_strdup_printf("%s\n", error->message);
+ debug("Conversion error: %s\n", ctr->errormessage);
g_error_free(error);
}
g_mutex_unlock (conv->mutex);
@@ -2637,6 +2657,7 @@ static FileTransferStatus
transfer_transfer_track(TransferItdb *tri, ConvTrack *
gchar *buf = conversion_get_track_info(ctr);
ctr->errormessage
= g_strdup_printf(_("Transfer of '%s' failed.
%s\n\n"), buf, error ? error->message : "");
+ debug("Conversion error: %s\n", ctr->errormessage);
g_free(buf);
}
}
------------------------------------------------------------------------------
Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL,
new data types, scalar functions, improved concurrency, built-in packages,
OCI, SQL*Plus, data movement tools, best practices and more.
http://p.sf.net/sfu/oracle-sfdev2dev
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2