diff options
author | Christophe Thommeret <hftom@free.fr> | 2009-02-07 10:34:36 +0000 |
---|---|---|
committer | Christophe Thommeret <hftom@free.fr> | 2009-02-07 10:34:36 +0000 |
commit | c65baeabb4c0d31faabb8f1af1b8e7a923dec292 (patch) | |
tree | 360810b4c5af67cf32bc8fd4cb9fe9d931dfa1c3 | |
parent | 3fb7d03899d6863b4a49896a649d18395810e128 (diff) | |
download | xine-lib-c65baeabb4c0d31faabb8f1af1b8e7a923dec292.tar.gz xine-lib-c65baeabb4c0d31faabb8f1af1b8e7a923dec292.tar.bz2 |
Don't remove vdpau decoders from catalogue if failed to open.
It could be because of no free decoder (it should be tried again later).
-rw-r--r-- | src/xine-engine/load_plugins.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c index 4f7492c65..f0e33ceed 100644 --- a/src/xine-engine/load_plugins.c +++ b/src/xine-engine/load_plugins.c @@ -1959,7 +1959,13 @@ video_decoder_t *_x_get_video_decoder (xine_stream_t *stream, uint8_t stream_typ vd = ((video_decoder_class_t *)node->plugin_class)->open_plugin(node->plugin_class, stream); - if (vd) { + if (vd == 1) { + /* HACK: plugin failed to instantiate because required resources are unavailable at that time, + but may be available later, so don't remove this plugin from catalog. */ + xprintf(stream->xine, XINE_VERBOSITY_DEBUG, + "load_plugins: plugin %s failed to instantiate, resources temporarily unavailable.\n", node->info->id); + } + else if (vd) { inc_node_ref(node); vd->node = node; xprintf(stream->xine, XINE_VERBOSITY_DEBUG, |