if (ghb_audio_is_passthru (acodec))
{
- ghb_set_default_bitrate_opts (ud->builder, -1);
+ ghb_set_default_bitrate_opts (ud->builder, 0, -1);
if (ghb_get_audio_info (&ainfo, titleindex, audioindex))
{
gint br = ainfo.bitrate / 1000;
}
else if (acodec == HB_ACODEC_FAAC)
{
- gint br, last;
+ gint br, last = 160, first = 0;
if (mix == HB_AMIXDOWN_6CH)
+ {
+ first = 192;
last = 448;
- else
- last = 160;
+ }
widget = GHB_WIDGET(ud->builder, "AudioBitrate");
gval = ghb_widget_value(widget);
ghb_value_free(gval);
if (br > last)
ghb_ui_update(ud, "AudioBitrate", ghb_int64_value(last));
- ghb_set_default_bitrate_opts (ud->builder, last);
+ if (br < first)
+ ghb_ui_update(ud, "AudioBitrate", ghb_int64_value(first));
+ ghb_set_default_bitrate_opts (ud->builder, first, last);
}
else
{
- ghb_set_default_bitrate_opts (ud->builder, -1);
+ ghb_set_default_bitrate_opts (ud->builder, 0, -1);
}
}
}
static void
-audio_bitrate_opts_clean(GtkBuilder *builder, const gchar *name, gint last_rate)
+audio_bitrate_opts_clean(
+ GtkBuilder *builder,
+ const gchar *name,
+ gint first_rate,
+ gint last_rate)
{
GtkTreeIter iter;
GtkListStore *store;
gboolean done = FALSE;
gint ii = 0;
guint last = (guint)last_rate;
+ guint first = (guint)first_rate;
g_debug("audio_bitrate_opts_clean ()\n");
store = get_combo_box_store(builder, name);
{
done = !gtk_list_store_remove(store, &iter);
}
- else if (ivalue > last)
+ else if (ivalue < first || ivalue > last)
{
ii++;
gtk_list_store_set(store, &iter, 1, FALSE, -1);
}
void
-ghb_set_default_bitrate_opts(GtkBuilder *builder, gint last_rate)
+ghb_set_default_bitrate_opts(
+ GtkBuilder *builder,
+ gint first_rate,
+ gint last_rate)
{
- audio_bitrate_opts_clean(builder, "AudioBitrate", last_rate);
+ audio_bitrate_opts_clean(builder, "AudioBitrate", first_rate, last_rate);
}
static ghb_status_t hb_status;
gboolean ghb_get_audio_info(
ghb_audio_info_t *ainfo, gint titleindex, gint audioindex);
void ghb_set_passthru_bitrate_opts(GtkBuilder *builder, gint bitrate);
-void ghb_set_default_bitrate_opts(GtkBuilder *builder, gint last_rate);
+void ghb_set_default_bitrate_opts(
+ GtkBuilder *builder, gint first_rate, gint last_rate);
void ghb_grey_combo_options(GtkBuilder *builder);
void ghb_update_ui_combo_box(
signal_user_data_t *ud, const gchar *name, gint user_data, gboolean all);