diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/totem-missing-plugins.c | 13 |
2 files changed, 20 insertions, 2 deletions
@@ -1,5 +1,14 @@ 2007-03-21 Tim-Philipp Müller <tim at centricular dot net> + * src/totem-missing-plugins.c: + (on_plugin_installation_done): + Also add the missing plugins to the local blacklist if the user + aborts the installer, so we either just play what we can the next + time or show an error message (presumably the user doesn't want + to see the installer, so let's honour that wish). + +2007-03-21 Tim-Philipp Müller <tim at centricular dot net> + * src/Makefile.am: * src/list_v4l.c: Removed. * src/video-dev.c: Removed. diff --git a/src/totem-missing-plugins.c b/src/totem-missing-plugins.c index 035b2b659..0b81d4ca4 100644 --- a/src/totem-missing-plugins.c +++ b/src/totem-missing-plugins.c @@ -145,10 +145,19 @@ on_plugin_installation_done (GstInstallPluginsReturn res, gpointer user_data) break; case GST_INSTALL_PLUGINS_USER_ABORT: { - if (ctx->playing) + /* blacklist on user abort, so we show an error next time (or + * just play what we can) instead of calling the installer */ + for (p = ctx->details; p != NULL && *p != NULL; ++p) + totem_codec_install_blacklist_plugin (*p); + + if (ctx->playing) { bacon_video_widget_play (ctx->totem->bvw, NULL); - else + } else { + /* if we couldn't play anything, do stop/play again, + * so that an error message gets shown */ bacon_video_widget_stop (ctx->totem->bvw); + bacon_video_widget_play (ctx->totem->bvw, NULL); + } } break; case GST_INSTALL_PLUGINS_ERROR: |