From 3568ce5e8486ba911b741a4188f0d01c41d18a75 Mon Sep 17 00:00:00 2001 From: Mikhail Lobotskiy Date: Wed, 16 Aug 2023 19:31:45 +0400 Subject: [PATCH] Fixed some issues with libvlc player --- Common/3dParty/libvlc/test/player.cpp | 5 ++--- Common/3dParty/libvlc/vlcplayer.cpp | 3 +++ Common/3dParty/libvlc/vlcplayer.h | 4 ++-- Common/base.pri | 5 ++++- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Common/3dParty/libvlc/test/player.cpp b/Common/3dParty/libvlc/test/player.cpp index b85812aa02..40565f40a1 100644 --- a/Common/3dParty/libvlc/test/player.cpp +++ b/Common/3dParty/libvlc/test/player.cpp @@ -119,14 +119,13 @@ void Mwindow::openFile() /* Create a new Media */ CVlcMedia* pMedia = new CVlcMedia(vlcPlayer->m_pVlcInstance, sFile, false); + + /* Open media and start playback */ vlcPlayer->open(pMedia); /* Release the media */ delete pMedia; - /* And start playback */ - vlcPlayer->play(); - /* Update playback button */ playBut->setText("Pause"); } diff --git a/Common/3dParty/libvlc/vlcplayer.cpp b/Common/3dParty/libvlc/vlcplayer.cpp index d4913ff32c..935efbce06 100644 --- a/Common/3dParty/libvlc/vlcplayer.cpp +++ b/Common/3dParty/libvlc/vlcplayer.cpp @@ -64,6 +64,9 @@ void CVlcPlayer::open(CVlcMedia* pMedia) // set new media libvlc_media_player_set_media(m_pVlcPlayer, pMedia->m_pMedia); + + // start playback + libvlc_media_player_play(m_pVlcPlayer); } void CVlcPlayer::pause() diff --git a/Common/3dParty/libvlc/vlcplayer.h b/Common/3dParty/libvlc/vlcplayer.h index f7c03482eb..bd33fd9c25 100644 --- a/Common/3dParty/libvlc/vlcplayer.h +++ b/Common/3dParty/libvlc/vlcplayer.h @@ -31,8 +31,8 @@ public: libvlc_state_t getState(); signals: - void stateChanged(libvlc_state_t newState); - void timeChanged(libvlc_time_t nNewTime); + void stateChanged(int newState); + void timeChanged(qint64 nNewTime); public: libvlc_instance_t* m_pVlcInstance; diff --git a/Common/base.pri b/Common/base.pri index 0a5a356bb9..6573004bb8 100644 --- a/Common/base.pri +++ b/Common/base.pri @@ -544,7 +544,10 @@ defineTest(ADD_DEPENDENCY) { isEqual(lib, videoplayer) { BASE_VIDEO_PLAYER_VLC_DIR = $$(VIDEO_PLAYER_VLC_DIR) - !isEmpty(BASE_VIDEO_PLAYER_VLC_DIR):CORE_BUILDS_LIBRARIES_PATH_DST=$$CORE_BUILDS_LIBRARIES_PATH/mediaplayer + !isEmpty(BASE_VIDEO_PLAYER_VLC_DIR) { + LIBS += -L$$BASE_VIDEO_PLAYER_VLC_DIR/build/$$CORE_BUILDS_PLATFORM_PREFIX/lib + CORE_BUILDS_LIBRARIES_PATH_DST=$$CORE_BUILDS_LIBRARIES_PATH/mediaplayer + } } build_xp {