29 "Audio only",
"Small",
"SD",
"HD",
"Full HD",
"4K",
NULL
33 static const uint32_t w[] = { 0, 360, 720, 1280, 1920, 3840 };
34 static const uint32_t h[] = { 0, 240, 576, 720, 1080, 2160 };
35 if ((n >= 0) && (n < (
int)(
sizeof (w) /
sizeof (w[0])))) {
48 strlcpy (pref->
lang, lang, sizeof (pref->
lang));
63 "media.multirate.preferred_video_size", 3,
65 _(
"Preferred video size"),
66 _(
"What size of video to play when there are multiple versions."),
71 "media.multirate.preferred_language",
"",
72 _(
"Preferred language"),
73 _(
"What language to play when there are multiple versions."),
78 "media.multirate.preferred_bitrate", 2000000,
79 _(
"Preferred bitrate"),
80 _(
"What bitrate to play when there are multiple versions of same size."),
88 int w, h, n, best_n, best_s, best_b;
99 for (n = 0; n < list_size; n++) {
105 dw = dw < 0 ? -dw : dw;
106 dh = dh < 0 ? -dh : dh;
107 s = (dw << 10) / w + (dh << 10) / h;
112 }
else if (s == best_s) {
125 int n, best_n, best_b;
132 for (item = list, n = 0; n < list_size; item++, n++) {
static void multirate_cb_bitrate(void *pref_gen, xine_cfg_entry_t *entry)
Definition multirate_pref.c:56
static const char *const multirate_video_size_labels[]
Definition multirate_pref.c:28
static void multirate_pref_get(config_values_t *config, multirate_pref_t *pref)
Definition multirate_pref.c:61
static void multirate_cb_video_size(void *pref_gen, xine_cfg_entry_t *entry)
Definition multirate_pref.c:41
static void multirate_set_lang(multirate_pref_t *pref, const char *lang)
Definition multirate_pref.c:46
static int multirate_autoselect(multirate_pref_t *pref, multirate_pref_t *list, int list_size)
Definition multirate_pref.c:86
static int multirate_audio_autoselect(multirate_pref_t *pref, multirate_pref_t *list, int list_size)
Definition multirate_pref.c:123
static void multirate_cb_lang(void *pref_gen, xine_cfg_entry_t *entry)
Definition multirate_pref.c:51
static void multirate_set_video_size(multirate_pref_t *pref, int n)
Definition multirate_pref.c:32
Definition configfile.h:83
int(* register_enum)(config_values_t *self, const char *key, int def_value, char **values, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition configfile.h:139
char *(* register_string)(config_values_t *self, const char *key, const char *def_value, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition configfile.h:110
int(* register_num)(config_values_t *self, const char *key, int def_value, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition configfile.h:149
Definition multirate_pref.c:21
char lang[4]
Definition multirate_pref.c:25
uint32_t bitrate
Definition multirate_pref.c:24
uint32_t video_width
Definition multirate_pref.c:22
uint32_t video_height
Definition multirate_pref.c:23
char * str_value
Definition xine.h:1663
int num_value
Definition xine.h:1670
#define _(String)
Definition vcdplayer.h:39
NULL
Definition xine_plugin.c:78