diff --git a/debian/control b/debian/control index e6151cf1..339ba7f4 100644 --- a/debian/control +++ b/debian/control @@ -19,15 +19,14 @@ Homepage: https://www.deepin.org/ Package: deepin-movie Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libpulse0(>= 0.99.1), libqt5concurrent5, libmpris-qt5-1, libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0) -Recommends: libgpuinfo, uos-reporter, deepin-event-log, libavcodec58, libavformat58, libavutil56, libffmpegthumbnailer4v5, libmpv1 +Depends: ${shlibs:Depends}, ${misc:Depends}, libavcodec58(>= 7:4.0), libavformat58(>= 7:4.1), libavutil56(>= 7:4.0), libffmpegthumbnailer4v5, libmpv1(>= 0.29), libpulse0(>= 0.99.1), libqt5concurrent5, libmpris-qt5-1, libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0) +Recommends: libgpuinfo, uos-reporter, deepin-event-log Description: movie player Movie is a full-featured video player, supporting playing local and streaming media in multiple video formats. Package: libdmr Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libpulse0(>= 0.99.1), libqt5concurrent5, libmpris-qt5-1, libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0) -Recommends: libavcodec58, libavformat58, libavutil56, libffmpegthumbnailer4v5, libmpv1 +Depends: ${shlibs:Depends}, ${misc:Depends}, libavcodec58(>= 7:4.0), libavformat58(>= 7:4.1), libavutil56(>= 7:4.0), libffmpegthumbnailer4v5, libmpv1(>= 0.29), libpulse0(>= 0.99.1), libqt5concurrent5, libmpris-qt5-1, libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0) Multi-Arch: same Description: movie player widget library deepin movie player widget library diff --git a/src/common/dmr_settings.cpp b/src/common/dmr_settings.cpp index 28c99204..8af526d2 100644 --- a/src/common/dmr_settings.cpp +++ b/src/common/dmr_settings.cpp @@ -38,16 +38,7 @@ Settings::Settings() #if !defined (__x86_64__) m_pSettings = DSettings::fromJsonFile(":/resources/data/lowEffectSettings.json"); #else - auto isThumbnailerExists = [=](){ - QDir dir; - QString path = QLibraryInfo::location(QLibraryInfo::LibrariesPath); - dir.setPath(path); - QStringList list = dir.entryList(QStringList() << (QString("libffmpegthumbnailer.so") + "*"), QDir::NoDotAndDotDot | QDir::Files); - if (!list.isEmpty()) - return true; - return false; - }; - if (CompositingManager::get().composited() && isThumbnailerExists()) + if (CompositingManager::get().composited()) m_pSettings = DSettings::fromJsonFile(":/resources/data/settings.json"); else m_pSettings = DSettings::fromJsonFile(":/resources/data/lowEffectSettings.json"); diff --git a/src/common/platform/platform_thumbnail_worker.cpp b/src/common/platform/platform_thumbnail_worker.cpp index 8aa99592..d5775cfe 100644 --- a/src/common/platform/platform_thumbnail_worker.cpp +++ b/src/common/platform/platform_thumbnail_worker.cpp @@ -80,8 +80,8 @@ void Platform_ThumbnailWorker::requestThumb(const QUrl &url, int secs) Platform_ThumbnailWorker::Platform_ThumbnailWorker() { - if (initThumb()) - m_video_thumbnailer->thumbnail_size = m_video_thumbnailer->thumbnail_size * qApp->devicePixelRatio(); + initThumb(); + m_video_thumbnailer->thumbnail_size = m_video_thumbnailer->thumbnail_size * qApp->devicePixelRatio(); m_pCharTime = (char *)malloc(20); } @@ -98,16 +98,13 @@ QString Platform_ThumbnailWorker::libPath(const QString &strlib) list.sort(); } - if (!list.isEmpty()) - return list.last(); - return QString(); + Q_ASSERT(list.size() > 0); + return list.last(); } -bool Platform_ThumbnailWorker::initThumb() +void Platform_ThumbnailWorker::initThumb() { QLibrary library(libPath("libffmpegthumbnailer.so")); - if (!library.load()) - return false; m_mvideo_thumbnailer = (mvideo_thumbnailer) library.resolve("video_thumbnailer_create"); m_mvideo_thumbnailer_destroy = (mvideo_thumbnailer_destroy) library.resolve("video_thumbnailer_destroy"); m_mvideo_thumbnailer_create_image_data = (mvideo_thumbnailer_create_image_data) library.resolve("video_thumbnailer_create_image_data"); @@ -118,15 +115,12 @@ bool Platform_ThumbnailWorker::initThumb() || m_mvideo_thumbnailer_create_image_data == nullptr || m_mvideo_thumbnailer_destroy_image_data == nullptr || m_mvideo_thumbnailer_generate_thumbnail_to_buffer == nullptr || m_video_thumbnailer == nullptr) { - return false; + return; } - return true; } QPixmap Platform_ThumbnailWorker::genThumb(const QUrl &url, int secs) { - if (!m_mvideo_thumbnailer_create_image_data) - return QPixmap(); auto dpr = qApp->devicePixelRatio(); QPixmap pm; pm.setDevicePixelRatio(dpr); diff --git a/src/common/platform/platform_thumbnail_worker.h b/src/common/platform/platform_thumbnail_worker.h index f589b345..296201dc 100644 --- a/src/common/platform/platform_thumbnail_worker.h +++ b/src/common/platform/platform_thumbnail_worker.h @@ -65,7 +65,7 @@ public slots: char *m_pCharTime; Platform_ThumbnailWorker(); - bool initThumb(); + void initThumb(); void run() override; void runSingle(QPair w); QPixmap genThumb(const QUrl &url, int secs); diff --git a/src/common/thumbnail_worker.cpp b/src/common/thumbnail_worker.cpp index c5f31fbb..e27caf4e 100644 --- a/src/common/thumbnail_worker.cpp +++ b/src/common/thumbnail_worker.cpp @@ -80,8 +80,8 @@ void ThumbnailWorker::requestThumb(const QUrl &url, int secs) ThumbnailWorker::ThumbnailWorker() { - if (initThumb()) - m_video_thumbnailer->thumbnail_size = m_video_thumbnailer->thumbnail_size * qApp->devicePixelRatio(); + initThumb(); + m_video_thumbnailer->thumbnail_size = m_video_thumbnailer->thumbnail_size * qApp->devicePixelRatio(); m_pCharTime = (char *)malloc(20); } @@ -98,16 +98,13 @@ QString ThumbnailWorker::libPath(const QString &strlib) list.sort(); } - if (!list.isEmpty()) - return list.last(); - return QString(); + Q_ASSERT(list.size() > 0); + return list.last(); } -bool ThumbnailWorker::initThumb() +void ThumbnailWorker::initThumb() { QLibrary library(libPath("libffmpegthumbnailer.so")); - if (!library.load()) - return false; m_mvideo_thumbnailer = (mvideo_thumbnailer) library.resolve("video_thumbnailer_create"); m_mvideo_thumbnailer_destroy = (mvideo_thumbnailer_destroy) library.resolve("video_thumbnailer_destroy"); m_mvideo_thumbnailer_create_image_data = (mvideo_thumbnailer_create_image_data) library.resolve("video_thumbnailer_create_image_data"); @@ -117,17 +114,14 @@ bool ThumbnailWorker::initThumb() if (m_mvideo_thumbnailer == nullptr || m_mvideo_thumbnailer_destroy == nullptr || m_mvideo_thumbnailer_create_image_data == nullptr || m_mvideo_thumbnailer_destroy_image_data == nullptr || m_mvideo_thumbnailer_generate_thumbnail_to_buffer == nullptr) { - return false; + return; } m_video_thumbnailer = m_mvideo_thumbnailer(); - return true; } QPixmap ThumbnailWorker::genThumb(const QUrl &url, int secs) { - if (!m_mvideo_thumbnailer_create_image_data) - return QPixmap(); auto dpr = qApp->devicePixelRatio(); QPixmap pm; pm.setDevicePixelRatio(dpr); diff --git a/src/common/thumbnail_worker.h b/src/common/thumbnail_worker.h index 46bd71e5..d27ba0f0 100644 --- a/src/common/thumbnail_worker.h +++ b/src/common/thumbnail_worker.h @@ -65,7 +65,7 @@ public slots: char *m_pCharTime; ThumbnailWorker(); - bool initThumb(); + void initThumb(); void run() override; void runSingle(QPair w); QPixmap genThumb(const QUrl &url, int secs); diff --git a/src/widgets/platform/platform_toolbox_proxy.cpp b/src/widgets/platform/platform_toolbox_proxy.cpp index 8cf520e4..850493cb 100644 --- a/src/widgets/platform/platform_toolbox_proxy.cpp +++ b/src/widgets/platform/platform_toolbox_proxy.cpp @@ -750,16 +750,13 @@ static QString libPath(const QString &strlib) list.sort(); } - if (!list.isEmpty()) - return list.last(); - return QString(); + Q_ASSERT(list.size() > 0); + return list.last(); } -bool Platform_viewProgBarLoad::initThumb() +void Platform_viewProgBarLoad::initThumb() { QLibrary library(libPath("libffmpegthumbnailer.so")); - if (!library.load()) - return false; m_mvideo_thumbnailer = (mvideo_thumbnailer) library.resolve("video_thumbnailer_create"); m_mvideo_thumbnailer_destroy = (mvideo_thumbnailer_destroy) library.resolve("video_thumbnailer_destroy"); m_mvideo_thumbnailer_create_image_data = (mvideo_thumbnailer_create_image_data) library.resolve("video_thumbnailer_create_image_data"); @@ -770,11 +767,10 @@ bool Platform_viewProgBarLoad::initThumb() || m_mvideo_thumbnailer_create_image_data == nullptr || m_mvideo_thumbnailer_destroy_image_data == nullptr || m_mvideo_thumbnailer_generate_thumbnail_to_buffer == nullptr) { - return false; + return; } m_video_thumbnailer = m_mvideo_thumbnailer(); - return true; } void Platform_viewProgBarLoad::initMember() diff --git a/src/widgets/platform/platform_toolbox_proxy.h b/src/widgets/platform/platform_toolbox_proxy.h index 8c281c2f..c8dd6b3f 100644 --- a/src/widgets/platform/platform_toolbox_proxy.h +++ b/src/widgets/platform/platform_toolbox_proxy.h @@ -724,7 +724,7 @@ public slots: /** * @brief initThumb 动态初始化缩略图获取 */ - bool initThumb(); + void initThumb(); /** * @brief initMember 初始化成员变量 */ diff --git a/src/widgets/toolbox_proxy.cpp b/src/widgets/toolbox_proxy.cpp index 5d1107c3..449c7522 100644 --- a/src/widgets/toolbox_proxy.cpp +++ b/src/widgets/toolbox_proxy.cpp @@ -800,16 +800,13 @@ static QString libPath(const QString &strlib) list.sort(); } - if (!list.isEmpty()) - return list.last(); - return QString(); + Q_ASSERT(list.size() > 0); + return list.last(); } -bool viewProgBarLoad::initThumb() +void viewProgBarLoad::initThumb() { QLibrary library(libPath("libffmpegthumbnailer.so")); - if (!library.load()) - return false; m_mvideo_thumbnailer = (mvideo_thumbnailer) library.resolve("video_thumbnailer_create"); m_mvideo_thumbnailer_destroy = (mvideo_thumbnailer_destroy) library.resolve("video_thumbnailer_destroy"); m_mvideo_thumbnailer_create_image_data = (mvideo_thumbnailer_create_image_data) library.resolve("video_thumbnailer_create_image_data"); @@ -820,11 +817,10 @@ bool viewProgBarLoad::initThumb() || m_mvideo_thumbnailer_create_image_data == nullptr || m_mvideo_thumbnailer_destroy_image_data == nullptr || m_mvideo_thumbnailer_generate_thumbnail_to_buffer == nullptr) { - return false; + return; } m_video_thumbnailer = m_mvideo_thumbnailer(); - return true; } void viewProgBarLoad::initMember() diff --git a/src/widgets/toolbox_proxy.h b/src/widgets/toolbox_proxy.h index 34497653..6693ded8 100644 --- a/src/widgets/toolbox_proxy.h +++ b/src/widgets/toolbox_proxy.h @@ -748,7 +748,7 @@ public slots: /** * @brief initThumb 动态初始化缩略图获取 */ - bool initThumb(); + void initThumb(); /** * @brief initMember 初始化成员变量 */