File xine-ui-crippled-LOCAL.diff of Package xine-ui
diff -ur xine-ui-0.99.8.orig/configure.ac xine-ui-0.99.8/configure.ac
--- xine-ui-0.99.8.orig/configure.ac 2014-02-25 18:48:33.000000000 +0100
+++ xine-ui-0.99.8/configure.ac 2014-04-12 00:42:35.065918676 +0200
@@ -694,6 +694,7 @@
])
XINE_LOCATE_MEDIA([XINE_LOGO_MRL], [jpg png mpv], [mpv], [xine-ui_logo], [logo], [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"
diff -ur xine-ui-0.99.8.orig/misc/xine-check.sh.in xine-ui-0.99.8/misc/xine-check.sh.in
--- xine-ui-0.99.8.orig/misc/xine-check.sh.in 2014-04-12 00:38:00.002818000 +0200
+++ xine-ui-0.99.8/misc/xine-check.sh.in 2014-04-12 00:42:35.067918626 +0200
@@ -602,7 +602,13 @@
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
diff -ur xine-ui-0.99.8.orig/src/xitk/actions.c xine-ui-0.99.8/src/xitk/actions.c
--- xine-ui-0.99.8.orig/src/xitk/actions.c 2014-02-25 17:52:58.000000000 +0100
+++ xine-ui-0.99.8/src/xitk/actions.c 2014-04-12 00:42:35.071918525 +0200
@@ -218,7 +218,10 @@
panel_update_channel_display();
if(gGui->display_logo)
- (void) gui_xine_open_and_play((char *)gGui->logo_mrl, NULL, 0, 0, 0, 0, 1);
+ (void) gui_xine_open_and_play((char *) ((gGui->logo_select) ?
+ gGui->logo_crippled_mrl :
+ gGui->logo_mrl),
+ NULL, 0, 0, 0, 0, 1);
gGui->logo_mode = 1;
diff -ur xine-ui-0.99.8.orig/src/xitk/common.h xine-ui-0.99.8/src/xitk/common.h
--- xine-ui-0.99.8.orig/src/xitk/common.h 2014-02-25 17:52:58.000000000 +0100
+++ xine-ui-0.99.8/src/xitk/common.h 2014-04-12 00:42:35.072918500 +0200
@@ -245,6 +245,8 @@
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;
diff -ur xine-ui-0.99.8.orig/src/xitk/main.c xine-ui-0.99.8/src/xitk/main.c
--- xine-ui-0.99.8.orig/src/xitk/main.c 2014-02-25 17:53:54.000000000 +0100
+++ xine-ui-0.99.8/src/xitk/main.c 2014-04-12 00:42:35.075918425 +0200
@@ -414,6 +414,9 @@
static void main_change_logo_cb(void *data, xine_cfg_entry_t *cfg) {
gGui->logo_mrl = cfg->str_value;
}
+static void main_change_logo_crippled_cb(void *data, xine_cfg_entry_t *cfg) {
+ gGui->logo_crippled_mrl = cfg->str_value;
+}
static void sub_autoload_cb(void *data, xine_cfg_entry_t *cfg) {
gGui->subtitle_autoload = cfg->num_value;
}
@@ -1408,6 +1411,9 @@
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 */
@@ -2226,6 +2232,25 @@
CONFIG_LEVEL_EXP,
main_change_logo_cb,
CONFIG_NO_DATA);
+ gGui->logo_crippled_mrl = xine_config_register_string (__xineui_global_xine_instance, "gui.logo_crippled_mrl", XINE_LOGO_CRIPPLED_MRL,
+ _("Logo mrl (reduced functionality)"),
+ CONFIG_NO_HELP,
+ CONFIG_LEVEL_EXP,
+ main_change_logo_crippled_cb,
+ CONFIG_NO_DATA);
+
+ /*
+ * Check for important codecs and select logo
+ */
+ decoders = xine_list_video_decoder_plugins (__xineui_global_xine_instance);
+ i = 0;
+ for (d = decoders; *d; d++) {
+ if (strcmp (*d, "mpeg2") == 0)
+ i |= 1;
+ if (strcmp (*d, "ffmpegvideo") == 0)
+ i |= 2;
+ }
+ gGui->logo_select = (i == 3) ? 0 : 1;
gGui->event_queue = xine_event_new_queue(gGui->stream);
xine_event_create_listener_thread(gGui->event_queue, event_listener, NULL);
diff -ur xine-ui-0.99.8.orig/src/xitk/videowin.c xine-ui-0.99.8/src/xitk/videowin.c
--- xine-ui-0.99.8.orig/src/xitk/videowin.c 2014-02-25 17:52:58.000000000 +0100
+++ xine-ui-0.99.8/src/xitk/videowin.c 2014-04-12 00:42:35.077918375 +0200
@@ -2050,11 +2050,23 @@
* Change displayed logo, if selected skin want to customize it.
*/
void video_window_update_logo(void) {
+ char *mrl_entry;
+ char *mrl_default;
xine_cfg_entry_t cfg_entry;
char *skin_logo;
int cfg_err_result;
-
- cfg_err_result = xine_config_lookup_entry(__xineui_global_xine_instance, "gui.logo_mrl", &cfg_entry);
+
+ if (gGui->logo_select == 0) {
+ mrl_entry = "gui.logo_mrl";
+ mrl_default = XINE_LOGO_MRL;
+ } else {
+ mrl_entry = "gui.logo_crippled_mrl";
+ mrl_default = XINE_LOGO_CRIPPLED_MRL;
+ }
+
+ cfg_err_result = xine_config_lookup_entry(__xineui_global_xine_instance, mrl_entry,
+ &cfg_entry);
+
skin_logo = xitk_skin_get_logo(gGui->skin_config);
if(skin_logo) {
@@ -2065,7 +2077,7 @@
goto __done;
}
- config_update_string("gui.logo_mrl", skin_logo);
+ config_update_string(mrl_entry, skin_logo);
goto __play_logo_now;
}
@@ -2075,8 +2087,9 @@
* Back to default logo only on a skin
* change, not at the first skin loading.
**/
- if(gVw.logo_synthetic && (cfg_err_result) && (strcmp(cfg_entry.str_value, XINE_LOGO_MRL))) {
- config_update_string("gui.logo_mrl", XINE_LOGO_MRL);
+ if(gVw.logo_synthetic && (cfg_err_result) &&
+ (strcmp(cfg_entry.str_value, mrl_default))) {
+ config_update_string(mrl_entry, mrl_default);
__play_logo_now: