{
if (cancel_encode("Closing HandBrake will terminate encoding.\n"))
{
+ ghb_hb_cleanup();
gtk_main_quit();
return;
}
return;
}
+ ghb_hb_cleanup();
gtk_main_quit();
}
window_destroy_event_cb(GtkWidget *widget, GdkEvent *event, signal_user_data_t *ud)
{
g_debug("window_destroy_event_cb ()\n");
+ ghb_hb_cleanup();
gtk_main_quit();
return FALSE;
}
{
if (cancel_encode("Closing HandBrake will terminate encoding.\n"))
{
+ ghb_hb_cleanup();
gtk_main_quit();
return FALSE;
}
return TRUE;
}
+ ghb_hb_cleanup();
gtk_main_quit();
return FALSE;
}
current_id = -1;
if (ghb_autostart)
{
+ ghb_hb_cleanup();
gtk_main_quit();
}
} break;
#include "hb.h"
#include "hbversion.h"
#include <gtk/gtk.h>
+#include <glib/gstdio.h>
#include "hb-backend.h"
#include "settings.h"
#include "callbacks.h"
};
#define LANG_TABLE_SIZE (sizeof(language_table)/ sizeof(iso639_lang_t))
+static void
+del_tree(const gchar *name)
+{
+ const gchar *file;
+
+ if (g_file_test(name, G_FILE_TEST_IS_DIR))
+ {
+ GDir *gdir = g_dir_open(name, 0, NULL);
+ file = g_dir_read_name(gdir);
+ while (file)
+ {
+ gchar *path;
+ path = g_strdup_printf("%s/%s", name, file);
+ del_tree(path);
+ g_free(path);
+ file = g_dir_read_name(gdir);
+ }
+ g_rmdir(name);
+ }
+ else
+ {
+ g_unlink(name);
+ }
+}
+
const gchar*
ghb_version()
{
// Handle for libhb. Gets set by ghb_backend_init()
static hb_handle_t * h = NULL;
+extern void hb_get_tempory_directory(hb_handle_t *h, char path[512]);
+
+void
+ghb_hb_cleanup()
+{
+ char dir[512];
+
+ hb_get_tempory_directory(h, dir);
+ del_tree(dir);
+}
+
static hb_audio_config_t*
get_hb_audio(gint titleindex, gint track)
{
gboolean ghb_validate_vquality(GHashTable *settings);
gboolean ghb_validate_audio(signal_user_data_t *ud);
gboolean ghb_validate_video(signal_user_data_t *ud);
+void ghb_hb_cleanup();
+
#endif // _HBBACKEND_H_