summaryrefslogtreecommitdiffstats
path: root/src/app/xineEngine.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-06-25 12:28:32 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-06-25 12:28:32 +0900
commitb51af279c4be77dd401b0ba910a34d9977b2453f (patch)
tree355f8087049cb9fad63bc8417adc0f8c11852d47 /src/app/xineEngine.cpp
parent088b37ef3c54e32143d16300ad9fa82524e84fc4 (diff)
downloadcodeine-b51af279c4be77dd401b0ba910a34d9977b2453f.tar.gz
codeine-b51af279c4be77dd401b0ba910a34d9977b2453f.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. 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 'src/app/xineEngine.cpp')
-rw-r--r--src/app/xineEngine.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/app/xineEngine.cpp b/src/app/xineEngine.cpp
index 2e113c8..d89d300 100644
--- a/src/app/xineEngine.cpp
+++ b/src/app/xineEngine.cpp
@@ -146,16 +146,19 @@ VideoWindow::init()
xine_osd_set_text_palette( m_osd, XINE_TEXTPALETTE_WHITE_BLACK_TRANSPARENT, XINE_OSD_TEXT1 );
}
- #ifndef XINE_SAFE_MODE
+#ifndef XINE_SAFE_MODE
+#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)
debug() << "scope_plugin_new()\n";
m_scope = scope_plugin_new( m_xine, m_audioPort );
+#endif
//FIXME this one seems to make seeking unstable for Codeine, perhaps
xine_set_param( m_stream, XINE_PARAM_METRONOM_PREBUFFER, 6000 ); //less buffering, faster seeking..
// causes an abort currently
//xine_trick_mode( m_stream, XINE_TRICK_MODE_SEEK_TO_TIME, 1 );
- #endif
+#endif
{
@@ -266,11 +269,14 @@ VideoWindow::load( const KURL &url )
// FIXME leaves one erroneous buffer
timerEvent( 0 );
+#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)
if( m_scope ) {
xine_post_out_t *source = xine_get_audio_source( m_stream );
xine_post_in_t *target = (xine_post_in_t*)xine_post_input( m_scope, const_cast<char*>("audio in") );
xine_post_wire( source, target );
}
+#endif
#endif
announceStateChange();
@@ -572,6 +578,8 @@ VideoWindow::scope()
if( xine_get_status( m_stream ) != XINE_STATUS_PLAY )
return scope;
+#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)
//prune the buffer list and update the m_current_vpts timestamp
timerEvent( 0 );
@@ -618,6 +626,7 @@ VideoWindow::scope()
m_current_vpts = best_node->vpts_end;
m_current_vpts++; //FIXME needs to be done for some reason, or you get situations where it uses same buffer again and again
}
+#endif
return scope;
}
@@ -625,6 +634,8 @@ VideoWindow::scope()
void
VideoWindow::timerEvent( TQTimerEvent* )
{
+#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)
/// here we prune the buffer list regularly
#ifndef XINE_SAFE_MODE
MyNode * const first_node = myList->next;
@@ -650,6 +661,7 @@ VideoWindow::timerEvent( TQTimerEvent* )
prev = node;
}
#endif
+#endif
}
void