From 177328345636b6c9e64e6a9d10309c366a0d0b07 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Thu, 16 Jul 2020 00:44:41 +0200 Subject: [PATCH] Remove xine metronom.pts_per_smpls check --- CMakeLists.txt | 14 -------------- src/CMakeLists.txt | 5 +---- src/config.h.in | 1 - src/engine/xineengine.cpp | 34 +++++----------------------------- src/engine/xineengine.h | 17 +++++------------ src/engine/xinescope.c | 2 +- 6 files changed, 12 insertions(+), 61 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17ac446c8..15437f666 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -361,20 +361,6 @@ if(NOT CMAKE_CROSSCOMPILING) ) endif() -if(HAVE_XINE) - check_cxx_source_compiles(" - #define METRONOM_INTERNAL - #include - #include - int main() { - metronom_t metronom; - std::cout << metronom.pts_per_smpls; - return 0; - } - " - XINE_ANALYZER) -endif() - # Set up definitions add_definitions(-DBOOST_BIND_NO_PLACEHOLDERS) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4ff8e6abb..bb4444e12 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -535,12 +535,9 @@ optional_source(HAVE_GSTREAMER # Xine optional_source(HAVE_XINE - SOURCES engine/xineengine.cpp + SOURCES engine/xineengine.cpp engine/xinescope.c HEADERS engine/xineengine.h ) -optional_source(XINE_ANALYZER - SOURCES engine/xinescope.c -) # VLC optional_source(HAVE_VLC diff --git a/src/config.h.in b/src/config.h.in index 5d51b62c9..ff31cdb8b 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -44,7 +44,6 @@ #cmakedefine HAVE_GSTREAMER #cmakedefine HAVE_VLC #cmakedefine HAVE_XINE -#cmakedefine XINE_ANALYZER #cmakedefine HAVE_SUBSONIC #cmakedefine HAVE_TIDAL diff --git a/src/engine/xineengine.cpp b/src/engine/xineengine.cpp index b052acb27..1e842b9ef 100644 --- a/src/engine/xineengine.cpp +++ b/src/engine/xineengine.cpp @@ -15,23 +15,12 @@ #include "config.h" -#ifndef XINE_ENGINE_INTERNAL -# define XINE_ENGINE_INTERNAL -#endif - -#ifndef METRONOM_INTERNAL -# define METRONOM_INTERNAL -#endif - #include #include #include #include #include #include -#ifdef XINE_ANALYZER -# include -#endif #include #include @@ -58,9 +47,7 @@ #include "enginebase.h" #include "enginetype.h" #include "xineengine.h" -#ifdef XINE_ANALYZER -# include "xinescope.h" -#endif +#include "xinescope.h" #ifndef LLONG_MAX #define LLONG_MAX 9223372036854775807LL @@ -77,10 +64,8 @@ XineEngine::XineEngine(TaskManager *task_manager) audioport_(nullptr), stream_(nullptr), eventqueue_(nullptr), -#ifdef XINE_ANALYZER post_(nullptr), prune_(nullptr), -#endif preamp_(1.0), have_metadata_(false) { @@ -115,7 +100,7 @@ bool XineEngine::Init() { xine_init(xine_); -#if !defined(XINE_SAFE_MODE) && defined(XINE_ANALYZER) +#if !defined(XINE_SAFE_MODE) prune_.reset(new PruneScopeThread(this)); prune_->start(); #endif @@ -169,7 +154,7 @@ bool XineEngine::OpenAudioDriver() { return false; } -#if !defined(XINE_SAFE_MODE) && defined(XINE_ANALYZER) +#if !defined(XINE_SAFE_MODE) post_ = scope_plugin_new(xine_, audioport_); if (!post_) { xine_close_audio_driver(xine_, audioport_); @@ -187,12 +172,10 @@ bool XineEngine::OpenAudioDriver() { void XineEngine::CloseAudioDriver() { -#ifdef XINE_ANALYZER if (post_) { xine_post_dispose(xine_, post_); post_ = nullptr; } -#endif if (audioport_) { xine_close_audio_driver(xine_, audioport_); @@ -259,14 +242,12 @@ bool XineEngine::EnsureStream() { void XineEngine::Cleanup() { -#ifdef XINE_ANALYZER // Wait until the prune scope thread is done if (prune_) { prune_->exit(); prune_->wait(); } prune_.reset(); -#endif CloseStream(); CloseAudioDriver(); @@ -310,7 +291,7 @@ bool XineEngine::Load(const QUrl &stream_url, const QUrl &original_url, const En int result = xine_open(stream_, stream_url.toString().toUtf8()); if (result) { -#if !defined(XINE_SAFE_MODE) && defined(XINE_ANALYZER) +#if !defined(XINE_SAFE_MODE) xine_post_out_t *source = xine_get_audio_source(stream_); xine_post_in_t *target = (xine_post_in_t*)xine_post_input(post_, const_cast("audio in")); xine_post_wire(source, target); @@ -893,8 +874,6 @@ void XineEngine::DetermineAndShowErrorMessage() { } -#ifdef XINE_ANALYZER - const Engine::Scope &XineEngine::scope(const int chunk_length) { Q_UNUSED(chunk_length); @@ -903,7 +882,6 @@ const Engine::Scope &XineEngine::scope(const int chunk_length) { return scope_; MyNode *const myList = scope_plugin_list(post_); - metronom_t *const myMetronom = scope_plugin_metronom(post_); const int myChannels = scope_plugin_channels(post_); int scopeidx = 0; @@ -925,7 +903,7 @@ const Engine::Scope &XineEngine::scope(const int chunk_length) { int64_t diff = current_vpts_; diff -= best_node->vpts; diff *= 1<<16; - diff /= myMetronom->pts_per_smpls; + diff /= 32768; const int16_t *data16 = best_node->mem; data16 += diff; @@ -1005,8 +983,6 @@ void PruneScopeThread::run() { } -#endif - EngineBase::PluginDetailsList XineEngine::GetPluginList() const { PluginDetailsList ret; diff --git a/src/engine/xineengine.h b/src/engine/xineengine.h index 54f07f654..75cb7a8c9 100644 --- a/src/engine/xineengine.h +++ b/src/engine/xineengine.h @@ -62,9 +62,7 @@ class XineEngine : public Engine::Base { qint64 position_nanosec() const override; qint64 length_nanosec() const override; -#ifdef XINE_ANALYZER const Engine::Scope& scope(int chunk_length); -#endif OutputDetailsList GetOutputsList() const override; bool ValidOutput(const QString &output) override; @@ -94,10 +92,9 @@ class XineEngine : public Engine::Base { xine_audio_port_t *audioport_; xine_stream_t *stream_; xine_event_queue_t *eventqueue_; -#ifdef XINE_ANALYZER xine_post_t *post_; std::unique_ptr prune_; -#endif + float preamp_; QUrl stream_url_; @@ -135,27 +132,23 @@ class XineEngine : public Engine::Base { PluginDetailsList GetPluginList() const; -#ifdef XINE_ANALYZER private slots: void PruneScope(); -#endif -signals: + signals: void InfoMessage(const QString&); }; -#ifdef XINE_ANALYZER class PruneScopeThread : public QThread { -public: + public: PruneScopeThread(XineEngine *parent); -protected: + protected: void run(); -private: + private: XineEngine *engine_; }; -#endif #endif diff --git a/src/engine/xinescope.c b/src/engine/xinescope.c index f01e798ed..307c64ddc 100644 --- a/src/engine/xinescope.c +++ b/src/engine/xinescope.c @@ -80,7 +80,7 @@ static void scope_port_put_buffer(xine_audio_port_t *port_gen, audio_buffer_t *b { int64_t - K = myMetronom->pts_per_smpls; /*smpls = 1<<16 samples*/ + K = 32768; /*smpls = 1<<16 samples*/ K *= num_samples; K /= (1<<16); K += new_node->vpts;