diff --git a/experimental/ecdb/trunk/README b/experimental/ecdb/trunk/README index c5646da6..f9cd6d68 100644 --- a/experimental/ecdb/trunk/README +++ b/experimental/ecdb/trunk/README @@ -1,19 +1,3 @@ CD Burner INFO++; - -Crashes: -burn_disc_free, 184 --> no bt for now - -libiso_msgs_submit, 333 (libisofs problem?) -Backtrace ------------- -#0 libiso_msgs_submit (m=0x0, origin=1048576, error_code=2, - severity=268435456, priority=0, - msg_text=0xb74c3b8c "Starting image writing...", os_errno=0, flag=0) - at libisofs/libiso_msgs.c:329 -#1 0xb7f08ba0 in iso_msg_debug (imgid=1048576, - fmt=0xb7f19697 "Starting image writing...") at libisofs/messages.c:96 -#2 0xb7f0de93 in write_function (arg=0x8079b80) at libisofs/ecma119.c:766 -#3 0xb7864125 in start_thread () from /lib/libpthread.so.0 -#4 0xb774ca0e in clone () from /lib/libc.so.6 diff --git a/experimental/ecdb/trunk/src/ecdb.c b/experimental/ecdb/trunk/src/ecdb.c index 6181afc1..a11d0465 100644 --- a/experimental/ecdb/trunk/src/ecdb.c +++ b/experimental/ecdb/trunk/src/ecdb.c @@ -89,6 +89,7 @@ ecdb_setup(void) ECDB_DRIVE_ACTION_FINISHED = ecore_event_type_new(); ECDB_DRIVE_ACTION_BEGUN = ecore_event_type_new(); ECDB_DRIVE_ACTION_UPDATE = ecore_event_type_new(); + ecdb_image_init(); ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, ecdb_shutdown, NULL); diff --git a/experimental/ecdb/trunk/src/ecdb_burn.c b/experimental/ecdb/trunk/src/ecdb_burn.c index bed94d6d..db2d990a 100644 --- a/experimental/ecdb/trunk/src/ecdb_burn.c +++ b/experimental/ecdb/trunk/src/ecdb_burn.c @@ -179,8 +179,6 @@ ecdb_burn_finished(void *data, int type, void *event) printf("Freeing session and disc\n"); burn_session_free(proj->session); - - /* Crashes on this line... */ burn_disc_free(proj->disc); printf("Releasing drive\n"); diff --git a/experimental/ecdb/trunk/src/ecdb_image.c b/experimental/ecdb/trunk/src/ecdb_image.c index 0b316001..1cba8973 100644 --- a/experimental/ecdb/trunk/src/ecdb_image.c +++ b/experimental/ecdb/trunk/src/ecdb_image.c @@ -30,8 +30,6 @@ ecdb_image_project(Ecdb_Project *proj) } } - ecdb_image_init(); - ret = iso_image_new(proj->volume_id, &image); if (!ret) @@ -110,15 +108,17 @@ ecdb_image_project(Ecdb_Project *proj) iso_image_create_burn_source(image, opts, &data_src); iso_write_opts_free(opts); - - /* unref here? not sure from docs */ iso_image_unref(image); FIFO_CREATE: fifo_src = burn_fifo_source_new(data_src, proj->fifo_chunksize, proj->fifo_chunks, 0); burn_source_free(data_src); - iso_finish(); + + /* I can't call this now, as it destroys the libiso_msgr before the + * library is finished - I'll just init and finish once... + */ + //iso_finish(); efreet_mime_shutdown(); return fifo_src; diff --git a/experimental/ecdb/trunk/src/ecdb_misc.c b/experimental/ecdb/trunk/src/ecdb_misc.c index fab6bcc8..5e38f357 100644 --- a/experimental/ecdb/trunk/src/ecdb_misc.c +++ b/experimental/ecdb/trunk/src/ecdb_misc.c @@ -13,6 +13,9 @@ ecdb_project_new(void) proj->burn_mode = BURN_MODE1; proj->fifo_chunksize = 2048; proj->fifo_chunks = 2048; + proj->underrun_proof = TRUE; + proj->opc = TRUE; + proj->multi = TRUE; return proj; }