File xine-ui-crippled-LOCAL.diff of Package xine-ui
Index: configure.ac
===================================================================
--- configure.ac.orig 2018-01-23 15:09:34.754548489 +0200
+++ configure.ac 2018-01-23 15:10:06.827563191 +0200
@@ -711,6 +711,7 @@ AC_DEFUN([XINE_LOCATE_MEDIA],
XINE_LOCATE_MEDIA([XINE_LOGO_MRL], [jpg png mpv], [mpv], [xine-ui_logo], [logo], [official logo MRL])
XINE_LOCATE_MEDIA([XINE_LOGO2_MRL], [mpg], [mpg], [xine-ui_logo], [logo2], [official logo MRL])
+XINE_LOCATE_MEDIA([XINE_LOGO_CRIPPLED_MRL], [jpg png mpv], [mpv], [xine-ui_logo-crippled], [logo], [logo MRL for reduced functionality])
XINE_LOCATE_MEDIA([XINE_SPLASH], [jpg png], [png], [xine_splash], [splash], [splash image filename])
XINE_VISDIR="${datadir}/xine/visuals"
Index: misc/xine-check.sh.in
===================================================================
--- misc/xine-check.sh.in.orig 2018-01-23 15:09:34.754548489 +0200
+++ misc/xine-check.sh.in 2018-01-23 15:10:06.827563191 +0200
@@ -593,7 +593,13 @@ if test -n "$skindir"; then
if test -f xine-ui_logo.mpv || test -f xine-ui_logo.png || test -f xine-ui_logo.jpg; then
msg logo-exists
else
- msg no-xine-logo 2
+ if test -f xine-ui_logo-crippled.png; then
+ msg ONLY the CRIPPLED logo exists
+ msg this is NOT a full enabled version of xine !
+ msg most likely it is not possible to play DVDs !
+ else
+ msg no-xine-logo 2
+ fi
fi
skins=
for dir in *; do
Index: src/xitk/common.h
===================================================================
--- src/xitk/common.h.orig 2018-01-23 15:09:34.754548489 +0200
+++ src/xitk/common.h 2018-01-23 15:10:06.827563191 +0200
@@ -246,6 +246,8 @@ typedef struct {
int logo_mode;
const char *logo_mrl;
+ const char *logo_crippled_mrl;
+ int logo_select;
pthread_mutex_t logo_mutex;
int logo_has_changed;
int display_logo;
Index: src/xitk/main.c
===================================================================
--- src/xitk/main.c.orig 2018-01-23 15:09:34.758548614 +0200
+++ src/xitk/main.c 2018-01-23 15:10:12.923756244 +0200
@@ -410,6 +410,10 @@ static void main_change_logo_cb(void *da
gGui_t *gui = data;
gui->logo_mrl = cfg->str_value;
}
+static void main_change_logo_crippled_cb(void *data, xine_cfg_entry_t *cfg) {
+ gGui_t *gui = data;
+ gui->logo_crippled_mrl = cfg->str_value;
+}
static void sub_autoload_cb(void *data, xine_cfg_entry_t *cfg) {
gGui_t *gui = data;
gui->subtitle_autoload = cfg->num_value;
@@ -1420,6 +1424,9 @@ int main(int argc, char *argv[]) {
char **session_argv = NULL;
int session_argv_num = 0;
int retval = 0;
+ const char * const *decoders;
+ const char * const *d;
+ int i;
pthread_mutexattr_t mutexattr;
/* Set stdout always line buffered to get every */
@@ -2276,6 +2283,21 @@ int main(int argc, char *argv[]) {
gui->logo_has_changed = 0;
gui->logo_mrl = xine_config_register_string (gui->xine, "gui.logo_mrl", USE_XINE_LOGO_MRL,
_("Logo MRL"), CONFIG_NO_HELP, CONFIG_LEVEL_EXP, main_change_logo_cb, gGui);
+ gui->logo_crippled_mrl = xine_config_register_string (gui->xine, "gui.logo_crippled_mrl", XINE_LOGO_CRIPPLED_MRL,
+ _("Logo MRL (reduced functionality)"), CONFIG_NO_HELP, CONFIG_LEVEL_EXP, main_change_logo_crippled_cb, gGui);
+
+ /*
+ * Check for important codecs and select logo
+ */
+ decoders = xine_list_video_decoder_plugins (gui->xine);
+ i = 0;
+ for (d = decoders; *d; d++) {
+ if (strcmp (*d, "mpeg2") == 0)
+ i |= 1;
+ if (strcmp (*d, "ffmpegvideo") == 0)
+ i |= 2;
+ }
+ gui->logo_select = (i == 3) ? 0 : 1;
gui->event_queue = xine_event_new_queue(gui->stream);
xine_event_create_listener_thread (gui->event_queue, event_listener, gui);
Index: src/xitk/videowin.c
===================================================================
--- src/xitk/videowin.c.orig 2018-01-23 15:09:34.758548614 +0200
+++ src/xitk/videowin.c 2018-01-23 15:22:49.568151904 +0200
@@ -2085,6 +2085,8 @@ void video_window_get_mag (float *xmag,
* Change displayed logo, if selected skin want to customize it.
*/
void video_window_update_logo (xui_vwin_t *vwin) {
+ char *mrl_entry;
+ char *mrl_default;
xine_cfg_entry_t cfg_entry;
const char *skin_logo;
int cfg_err_result;
@@ -2094,7 +2096,8 @@ void video_window_get_mag (float *xmag,
if (!vwin)
return;
- cfg_err_result = xine_config_lookup_entry (vwin->gui->xine, "gui.logo_mrl", &cfg_entry);
+ mrl_entry = (vwin->gui->logo_select) ? "gui.logo_crippled_mrl" : "gui.logo_mrl";
+ cfg_err_result = xine_config_lookup_entry (vwin->gui->xine, mrl_entry, &cfg_entry);
skin_logo = xitk_skin_get_logo (vwin->gui->skin_config);
if(skin_logo) {
@@ -2103,7 +2106,7 @@ void video_window_get_mag (float *xmag,
goto __done;
}
- config_update_string("gui.logo_mrl", skin_logo);
+ config_update_string(mrl_entry, skin_logo);
goto __play_logo_now;
}
@@ -2118,8 +2121,9 @@ void video_window_get_mag (float *xmag,
#else
# define USE_XINE_LOGO_MRL XINE_LOGO_MRL
#endif
- if (vwin->logo_synthetic && (cfg_err_result) && (strcmp (cfg_entry.str_value, USE_XINE_LOGO_MRL))) {
- config_update_string ("gui.logo_mrl", USE_XINE_LOGO_MRL);
+ mrl_default = (vwin->gui->logo_select) ? XINE_LOGO_CRIPPLED_MRL : USE_XINE_LOGO_MRL;
+ if (vwin->logo_synthetic && (cfg_err_result) && (strcmp (cfg_entry.str_value, mrl_default))) {
+ config_update_string (mrl_entry, mrl_default);
__play_logo_now:
Index: src/xitk/actions.c
===================================================================
--- src/xitk/actions.c.orig 2018-01-23 15:10:06.827563191 +0200
+++ src/xitk/actions.c 2018-01-23 15:18:26.783585471 +0200
@@ -257,7 +257,10 @@ void gui_display_logo(void) {
panel_update_channel_display (gui->panel);
if(gui->display_logo)
- (void) gui_xine_open_and_play((char *)gui->logo_mrl, NULL, 0, 0, 0, 0, 1);
+ (void) gui_xine_open_and_play((char *) ((gui->logo_select) ?
+ gui->logo_crippled_mrl :
+ gui->logo_mrl),
+ NULL, 0, 0, 0, 0, 1);
gui->logo_mode = 1;