diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-06-24 22:36:42 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-06-24 22:36:42 +0900 |
commit | f643355717f541980638b84933b987f6e4ed27a1 (patch) | |
tree | c22496e8d3f0e5129dfa47840f1b88a8c479e858 /amarok/src/engine/xine/xine-scope.c | |
parent | 3cb66a9f5f91b18aff24a5d08287fad1b08813e6 (diff) | |
download | amarok-f643355717f541980638b84933b987f6e4ed27a1.tar.gz amarok-f643355717f541980638b84933b987f6e4ed27a1.zip |
Fixed FTBFS with xine 1.2.10. The use of the xine scope plugin is currently
disabled when xine >= 1.2.10 is detected.
This resolves bug 3065 and 3066.
Additional info:
The xine scope plugin is statically linked and therefore written by
accessing internal xine data that are no longer publicly available from
xine 1.2.10.
To add back the scope plugin functionality, the plugin will have to be
converted into a dynamically linked one and further work done to fix the
logic of the plugin itself.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'amarok/src/engine/xine/xine-scope.c')
-rw-r--r-- | amarok/src/engine/xine/xine-scope.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/amarok/src/engine/xine/xine-scope.c b/amarok/src/engine/xine/xine-scope.c index 8ff422e9..c2ecf5ca 100644 --- a/amarok/src/engine/xine/xine-scope.c +++ b/amarok/src/engine/xine/xine-scope.c @@ -65,6 +65,8 @@ scope_port_close( xine_audio_port_t *port_gen, xine_stream_t *stream ) static void scope_port_put_buffer( xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream ) { +#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) || \ + (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION < 10) /* FIXME With 8-bit samples the scope won't work correctly. For a special 8-bit code path, the sample size could be checked like this: if( port->bits == 8 ) */ @@ -97,6 +99,7 @@ scope_port_put_buffer( xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_st * this is thread-safe due to the way we handle the list in the GUI thread */ new_node->next = this->list->next; this->list->next = new_node; +#endif #undef port #undef this @@ -153,12 +156,15 @@ scope_plugin_new( xine_t *xine, xine_audio_port_t *audio_target ) post_plugin->dispose = scope_dispose; } +#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) || \ + (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION < 10) /* code is straight from xine_init_post() can't use that function as it only dlopens the plugins and our plugin is statically linked in */ post_plugin->running_ticket = xine->port_ticket; post_plugin->xine = xine; +#endif /* scope_plugin_t init */ scope_plugin->list = xine_xmalloc( sizeof(MyNode) ); |