diff options
-rw-r--r-- | gtk/src/audiohandler.c | 12 | ||||
-rw-r--r-- | gtk/src/callbacks.c | 68 | ||||
-rw-r--r-- | gtk/src/callbacks.h | 3 | ||||
-rw-r--r-- | gtk/src/preview.c | 6 | ||||
-rw-r--r-- | gtk/src/subtitlehandler.c | 8 | ||||
-rw-r--r-- | gtk/src/widgetdeps.c | 1 | ||||
-rw-r--r-- | gtk/src/x264handler.c | 44 |
7 files changed, 94 insertions, 48 deletions
diff --git a/gtk/src/audiohandler.c b/gtk/src/audiohandler.c index 17699915f..ea13c9060 100644 --- a/gtk/src/audiohandler.c +++ b/gtk/src/audiohandler.c @@ -347,7 +347,7 @@ audio_codec_changed_cb(GtkWidget *widget, signal_user_data_t *ud) } ghb_adjust_audio_rate_combos(ud); ghb_grey_combo_options (ud->builder); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); prev_acodec = acodec_code; asettings = get_selected_asettings(ud); if (asettings != NULL) @@ -366,7 +366,7 @@ audio_track_changed_cb(GtkWidget *widget, signal_user_data_t *ud) g_debug("audio_track_changed_cb ()"); ghb_adjust_audio_rate_combos(ud); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_grey_combo_options(ud->builder); asettings = get_selected_asettings(ud); if (asettings != NULL) @@ -388,7 +388,7 @@ audio_mix_changed_cb(GtkWidget *widget, signal_user_data_t *ud) g_debug("audio_mix_changed_cb ()"); ghb_adjust_audio_rate_combos(ud); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); asettings = get_selected_asettings(ud); if (asettings != NULL) { @@ -404,7 +404,7 @@ audio_widget_changed_cb(GtkWidget *widget, signal_user_data_t *ud) GValue *asettings; g_debug("audio_widget_changed_cb ()"); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); asettings = get_selected_asettings(ud); if (asettings != NULL) { @@ -430,7 +430,7 @@ drc_widget_changed_cb(GtkWidget *widget, gdouble val, signal_user_data_t *ud) drc = g_strdup_printf("%.1f", val); gtk_label_set_text(label, drc); g_free(drc); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); asettings = get_selected_asettings(ud); if (asettings != NULL) { @@ -450,7 +450,7 @@ subtitle_changed_cb(GtkWidget *widget, signal_user_data_t *ud) const gchar *name = gtk_widget_get_name(widget); g_debug("subtitle_changed_cb () %s", name); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_live_reset(ud); } diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c index ca9ac86a4..27c879380 100644 --- a/gtk/src/callbacks.c +++ b/gtk/src/callbacks.c @@ -114,8 +114,7 @@ dep_check(signal_user_data_t *ud, const gchar *name, gboolean *out_hide) widget_name = ghb_value_string(ghb_array_get_nth(data, 0)); widget = GHB_WIDGET(ud->builder, widget_name); dep_object = gtk_builder_get_object(ud->builder, name); - g_free(widget_name); - if (!GTK_WIDGET_SENSITIVE(widget)) + if (widget != NULL && !GTK_WIDGET_SENSITIVE(widget)) continue; if (dep_object == NULL) { @@ -138,7 +137,7 @@ dep_check(signal_user_data_t *ud, const gchar *name, gboolean *out_hide) if (widget) value = ghb_widget_string(widget); else - value = ghb_settings_get_string(ud->settings, name); + value = ghb_settings_get_string(ud->settings, widget_name); while (values && values[jj]) { if (values[jj][0] == '>') @@ -177,12 +176,16 @@ dep_check(signal_user_data_t *ud, const gchar *name, gboolean *out_hide) g_strfreev (values); g_free(value); } + g_free(widget_name); } return result; } void -ghb_check_dependency(signal_user_data_t *ud, GtkWidget *widget) +ghb_check_dependency( + signal_user_data_t *ud, + GtkWidget *widget, + const char *alt_name) { GObject *dep_object; const gchar *name; @@ -191,11 +194,16 @@ ghb_check_dependency(signal_user_data_t *ud, GtkWidget *widget) gchar *dep_name; GType type; - type = GTK_WIDGET_TYPE(widget); - if (type == GTK_TYPE_COMBO_BOX || type == GTK_TYPE_COMBO_BOX_ENTRY) - if (gtk_combo_box_get_active(GTK_COMBO_BOX(widget)) < 0) return; + if (widget != NULL) + { + type = GTK_WIDGET_TYPE(widget); + if (type == GTK_TYPE_COMBO_BOX || type == GTK_TYPE_COMBO_BOX_ENTRY) + if (gtk_combo_box_get_active(GTK_COMBO_BOX(widget)) < 0) return; + name = gtk_widget_get_name(widget); + } + else + name = alt_name; - name = gtk_widget_get_name(widget); g_debug("ghb_check_dependency () %s", name); if (dep_map == NULL) return; @@ -1266,7 +1274,7 @@ container_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("container_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); update_acodec_combo(ud); ghb_update_destination_extension(ud); ghb_clear_presets_selection(ud); @@ -1406,7 +1414,7 @@ title_changed_cb(GtkWidget *widget, signal_user_data_t *ud) g_debug("title_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); titleindex = ghb_settings_combo_int(ud->settings, "title"); ghb_update_ui_combo_box (ud, "AudioTrack", titleindex, FALSE); @@ -1448,7 +1456,7 @@ G_MODULE_EXPORT void setting_widget_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); } @@ -1457,7 +1465,7 @@ G_MODULE_EXPORT void chapter_markers_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); ghb_update_destination_extension(ud); @@ -1467,7 +1475,7 @@ G_MODULE_EXPORT void vquality_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); @@ -1491,7 +1499,7 @@ G_MODULE_EXPORT void http_opt_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); // AC3 is not allowed when Web optimized @@ -1506,7 +1514,7 @@ vcodec_changed_cb(GtkWidget *widget, signal_user_data_t *ud) gint digits; ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); ghb_vquality_range(ud, &vqmin, &vqmax, &step, &page, &digits, &inverted); @@ -1523,7 +1531,7 @@ target_size_changed_cb(GtkWidget *widget, signal_user_data_t *ud) const gchar *name = gtk_widget_get_name(widget); g_debug("target_size_changed_cb () %s", name); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); if (ghb_settings_get_boolean(ud->settings, "vquality_type_target")) @@ -1547,7 +1555,7 @@ start_chapter_changed_cb(GtkWidget *widget, signal_user_data_t *ud) end = ghb_settings_get_int(ud->settings, "end_chapter"); if (start > end) ghb_ui_update(ud, "end_chapter", ghb_int_value(start)); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); if (ghb_settings_get_boolean(ud->settings, "chapters_in_destination")) { set_destination(ud); @@ -1577,7 +1585,7 @@ end_chapter_changed_cb(GtkWidget *widget, signal_user_data_t *ud) end = ghb_settings_get_int(ud->settings, "end_chapter"); if (start > end) ghb_ui_update(ud, "start_chapter", ghb_int_value(end)); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); if (ghb_settings_get_boolean(ud->settings, "chapters_in_destination")) { set_destination(ud); @@ -1600,7 +1608,7 @@ scale_width_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("scale_width_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); if (GTK_WIDGET_SENSITIVE(widget)) ghb_set_scale (ud, GHB_PIC_KEEP_WIDTH); @@ -1620,7 +1628,7 @@ scale_height_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("scale_height_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); if (GTK_WIDGET_SENSITIVE(widget)) ghb_set_scale (ud, GHB_PIC_KEEP_HEIGHT); @@ -1643,7 +1651,7 @@ crop_changed_cb(GtkWidget *widget, signal_user_data_t *ud) g_debug("crop_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); if (GTK_WIDGET_SENSITIVE(widget)) ghb_set_scale (ud, 0); @@ -1681,7 +1689,7 @@ display_width_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("display_width_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); if (GTK_WIDGET_SENSITIVE(widget)) @@ -1695,7 +1703,7 @@ display_height_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("display_height_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); if (GTK_WIDGET_SENSITIVE(widget)) @@ -1709,7 +1717,7 @@ par_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("par_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); if (GTK_WIDGET_SENSITIVE(widget)) @@ -1723,7 +1731,7 @@ scale_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("scale_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); ghb_live_reset(ud); if (GTK_WIDGET_SENSITIVE(widget)) @@ -1765,7 +1773,7 @@ show_crop_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("show_crop_changed_cb ()"); ghb_widget_to_setting(ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_live_reset(ud); if (GTK_WIDGET_SENSITIVE(widget)) ghb_set_scale (ud, 0); @@ -3281,7 +3289,7 @@ pref_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("pref_changed_cb"); ghb_widget_to_setting (ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); const gchar *name = gtk_widget_get_name(widget); ghb_pref_save(ud->settings, name); } @@ -3291,7 +3299,7 @@ use_m4v_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("use_m4v_changed_cb"); ghb_widget_to_setting (ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); const gchar *name = gtk_widget_get_name(widget); ghb_pref_save(ud->settings, name); ghb_update_destination_extension(ud); @@ -3302,7 +3310,7 @@ show_status_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("show_status_cb"); ghb_widget_to_setting (ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); const gchar *name = gtk_widget_get_name(widget); ghb_pref_save(ud->settings, name); @@ -3318,7 +3326,7 @@ vqual_granularity_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { g_debug("vqual_granularity_changed_cb"); ghb_widget_to_setting (ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); const gchar *name = gtk_widget_get_name(widget); ghb_pref_save(ud->settings, name); diff --git a/gtk/src/callbacks.h b/gtk/src/callbacks.h index 2ba51517c..a124ab59f 100644 --- a/gtk/src/callbacks.h +++ b/gtk/src/callbacks.h @@ -51,7 +51,8 @@ void ghb_init_dep_map(void); void ghb_cancel_encode(signal_user_data_t *ud, const gchar *extra_msg); gboolean ghb_cancel_encode2(signal_user_data_t *ud, const gchar *extra_msg); GValue* ghb_start_next_job(signal_user_data_t *ud, gboolean find_first); -void ghb_check_dependency(signal_user_data_t *ud, GtkWidget *widget); +void ghb_check_dependency( + signal_user_data_t *ud, GtkWidget *widget, const gchar *alt_name); void ghb_do_scan( signal_user_data_t *ud, const gchar *filename, gint titlenum, gboolean force); void ghb_log(gchar *log, ...); diff --git a/gtk/src/preview.c b/gtk/src/preview.c index 8748fae38..ee522f7a8 100644 --- a/gtk/src/preview.c +++ b/gtk/src/preview.c @@ -850,7 +850,7 @@ preview_button_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud) GTK_TOGGLE_BUTTON(xwidget))); } ghb_widget_to_setting (ud->settings, xwidget); - ghb_check_dependency(ud, xwidget); + ghb_check_dependency(ud, xwidget, NULL); const gchar *name = gtk_widget_get_name(xwidget); ghb_pref_save(ud->settings, name); } @@ -914,7 +914,7 @@ fullscreen_clicked_cb(GtkWidget *toggle, signal_user_data_t *ud) g_debug("fullscreen_clicked_cb()"); ghb_widget_to_setting (ud->settings, toggle); - ghb_check_dependency(ud, toggle); + ghb_check_dependency(ud, toggle, NULL); const gchar *name = gtk_widget_get_name(toggle); ghb_pref_save(ud->settings, name); @@ -1051,7 +1051,7 @@ preview_duration_changed_cb(GtkWidget *widget, signal_user_data_t *ud) g_debug("preview_duration_changed_cb ()"); ghb_live_reset(ud); ghb_widget_to_setting (ud->settings, widget); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); const gchar *name = gtk_widget_get_name(widget); ghb_pref_save(ud->settings, name); } diff --git a/gtk/src/subtitlehandler.c b/gtk/src/subtitlehandler.c index b781cfb79..c5fc0b83b 100644 --- a/gtk/src/subtitlehandler.c +++ b/gtk/src/subtitlehandler.c @@ -777,7 +777,7 @@ subtitle_track_changed_cb(GtkWidget *widget, signal_user_data_t *ud) GValue *settings; g_debug("subtitle_track_changed_cb ()"); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_widget_to_setting(ud->settings, widget); settings = ghb_selected_subtitle_settings(ud); if (settings != NULL) @@ -805,7 +805,7 @@ srt_changed_cb(GtkWidget *widget, signal_user_data_t *ud) GValue *settings; g_debug("srt_changed_cb ()"); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_widget_to_setting(ud->settings, widget); settings = ghb_selected_subtitle_settings(ud); if (settings != NULL) @@ -823,7 +823,7 @@ srt_file_changed_cb(GtkWidget *widget, signal_user_data_t *ud) GValue *settings; g_debug("srt_changed_cb ()"); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_widget_to_setting(ud->settings, widget); settings = ghb_selected_subtitle_settings(ud); if (settings != NULL) @@ -857,7 +857,7 @@ srt_lang_changed_cb(GtkWidget *widget, signal_user_data_t *ud) GValue *settings; g_debug("srt_lang_changed_cb ()"); - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_widget_to_setting(ud->settings, widget); settings = ghb_selected_subtitle_settings(ud); if (settings != NULL) diff --git a/gtk/src/widgetdeps.c b/gtk/src/widgetdeps.c index 4747f69de..929ddb2c0 100644 --- a/gtk/src/widgetdeps.c +++ b/gtk/src/widgetdeps.c @@ -72,6 +72,7 @@ static dependency_t dep_map[] = {"x264_subme", "x264_psy_trell", "<6", TRUE, FALSE}, {"x264_cabac", "x264_psy_trell", "TRUE", FALSE, FALSE}, {"x264_trellis", "x264_psy_trell", "0", TRUE, FALSE}, + {"x264_mbtree", "x264_bpyramid", "TRUE", TRUE, FALSE}, {"ChapterMarkers", "chapters_list", "TRUE", FALSE, FALSE}, {"use_source_name", "chapters_in_destination", "TRUE", FALSE, FALSE}, {"use_source_name", "title_no_in_destination", "TRUE", FALSE, FALSE}, diff --git a/gtk/src/x264handler.c b/gtk/src/x264handler.c index 0080927a6..a46641203 100644 --- a/gtk/src/x264handler.c +++ b/gtk/src/x264handler.c @@ -37,7 +37,7 @@ x264_widget_changed_cb(GtkWidget *widget, signal_user_data_t *ud) x264_opt_update(ud, widget); ignore_options_update = FALSE; } - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); } @@ -53,7 +53,7 @@ x264_me_changed_cb(GtkWidget *widget, signal_user_data_t *ud) x264_opt_update(ud, widget); ignore_options_update = FALSE; } - ghb_check_dependency(ud, widget); + ghb_check_dependency(ud, widget, NULL); ghb_clear_presets_selection(ud); widget = GHB_WIDGET(ud->builder, "x264_merange"); me = ghb_settings_combo_int(ud->settings, "x264_me"); @@ -121,6 +121,8 @@ x264_focus_out_cb(GtkWidget *widget, GdkEventFocus *event, enum { X264_OPT_NONE, + X264_OPT_BOOL_NONE, + X264_OPT_INT_NONE, X264_OPT_DEBLOCK, X264_OPT_PSY, X264_OPT_INT, @@ -184,7 +186,7 @@ struct x264_opt_map_s x264_opt_map[] = {x264_me_syns, "x264_me", "hex", X264_OPT_COMBO}, {x264_merange_syns, "x264_merange", "16", X264_OPT_INT}, {x264_subme_syns, "x264_subme", "7", X264_OPT_COMBO}, - {x264_aqmode_syns, "x264_aqmode", "1", X264_OPT_NONE}, + {x264_aqmode_syns, "x264_aqmode", "1", X264_OPT_INT_NONE}, {x264_analyse_syns, "x264_analyse", "some", X264_OPT_COMBO}, {x264_8x8dct_syns, "x264_8x8dct", "1", X264_OPT_BOOL}, {x264_deblock_syns, "x264_deblock_alpha", "0,0", X264_OPT_DEBLOCK}, @@ -195,7 +197,7 @@ struct x264_opt_map_s x264_opt_map[] = {x264_cabac_syns, "x264_cabac", "1", X264_OPT_BOOL}, {x264_psy_syns, "x264_psy_rd", "1,0", X264_OPT_PSY}, {x264_psy_syns, "x264_psy_trell", "1,0", X264_OPT_PSY}, - {x264_mbtree_syns, "x264_mbtree", "1", X264_OPT_NONE}, + {x264_mbtree_syns, "x264_mbtree", "1", X264_OPT_BOOL_NONE}, }; #define X264_OPT_MAP_SIZE (sizeof(x264_opt_map)/sizeof(struct x264_opt_map_s)) @@ -223,6 +225,17 @@ x264_update_int(signal_user_data_t *ud, const gchar *name, const gchar *val) ghb_ui_update(ud, name, ghb_int64_value(ival)); } +static void +x264_update_int_setting(signal_user_data_t *ud, const gchar *name, const gchar *val) +{ + gint ival; + + if (val == NULL) return; + ival = g_strtod (val, NULL); + ghb_settings_set_value(ud->settings, name, ghb_int64_value(ival)); + ghb_check_dependency(ud, NULL, name); +} + static gchar *true_str[] = { "true", @@ -253,6 +266,17 @@ x264_update_bool(signal_user_data_t *ud, const gchar *name, const gchar *val) } static void +x264_update_bool_setting(signal_user_data_t *ud, const gchar *name, const gchar *val) +{ + if (val == NULL) + ghb_settings_set_value(ud->settings, name, ghb_boolean_value(1)); + else + ghb_settings_set_value(ud->settings, name, ghb_boolean_value(str_is_true(val))); + + ghb_check_dependency(ud, NULL, name); +} + +static void x264_update_combo(signal_user_data_t *ud, const gchar *name, const gchar *val) { GtkTreeModel *store; @@ -422,6 +446,12 @@ ghb_x264_parse_options(signal_user_data_t *ud, const gchar *options) x264_opt_map[jj+1].found = TRUE; x264_update_psy(ud, val); break; + case X264_OPT_BOOL_NONE: + x264_update_bool_setting(ud, x264_opt_map[jj].name, val); + break; + case X264_OPT_INT_NONE: + x264_update_int_setting(ud, x264_opt_map[jj].name, val); + break; } break; } @@ -451,6 +481,12 @@ ghb_x264_parse_options(signal_user_data_t *ud, const gchar *options) case X264_OPT_PSY: x264_update_psy(ud, val); break; + case X264_OPT_BOOL_NONE: + x264_update_bool_setting(ud, x264_opt_map[jj].name, val); + break; + case X264_OPT_INT_NONE: + x264_update_int_setting(ud, x264_opt_map[jj].name, val); + break; } x264_opt_map[jj].found = TRUE; g_free(val); |