GtkWidget *w = GHB_WIDGET(ud->builder, "AudioBitrate");
ghb_audio_bitrate_opts_filter(GTK_COMBO_BOX(w), low, high);
+ w = GHB_WIDGET(ud->builder, "AudioMixdown");
+ ghb_mix_opts_filter(GTK_COMBO_BOX(w), acodec);
+ w = GHB_WIDGET(ud->builder, "AudioSamplerate");
+ ghb_audio_samplerate_opts_filter(GTK_COMBO_BOX(w), acodec);
ghb_ui_update(ud, "AudioEncoder",
ghb_dict_get_value(asettings, "Encoder"));
ghb_audio_bitrate_opts_filter(GTK_COMBO_BOX(w), low, high);
w = find_widget(GTK_WIDGET(row), "AudioMixdown");
ghb_mix_opts_filter(GTK_COMBO_BOX(w), enc);
+ w = find_widget(GTK_WIDGET(row), "AudioSamplerate");
+ ghb_audio_samplerate_opts_filter(GTK_COMBO_BOX(w), enc);
}
void audio_def_set_all_limits_cb(GtkWidget *widget, gpointer data)
ghb_audio_samplerate_opts_set(combo);
}
+void
+ghb_audio_samplerate_opts_filter(GtkComboBox *combo, gint acodec)
+{
+ GtkTreeIter iter;
+ GtkListStore *store;
+ gdouble irate;
+
+ store = GTK_LIST_STORE(gtk_combo_box_get_model(combo));
+ if (!gtk_tree_model_get_iter_first( GTK_TREE_MODEL(store), &iter))
+ return;
+
+ do
+ {
+ gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 3, &irate, -1);
+ // If irate == 0.0, the item is the "Same as Source" item,
+ // so set to TRUE. Otherwise, ask libhb
+ gtk_list_store_set(store, &iter, 1, irate == 0.0 ? TRUE :
+ hb_audio_samplerate_is_supported(irate, acodec), -1);
+ } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(store), &iter));
+}
+
+
const hb_rate_t sas_rate =
{
.name = N_("Same as source"),
void ghb_mix_opts_set(GtkComboBox *combo);
void ghb_mix_opts_filter(GtkComboBox *combo, gint acodec);
void ghb_audio_samplerate_opts_set(GtkComboBox *combo);
+void ghb_audio_samplerate_opts_filter(GtkComboBox *combo, gint acodec);
int ghb_lookup_lang(const GhbValue *glang);
const iso639_lang_t* ghb_iso639_lookup_by_int(int idx);