diff --git a/src/Workflow/ClipWorkflow.cpp b/src/Workflow/ClipWorkflow.cpp index 8b00c249a5339d4fe69bbc17a6514454e934b24f..869ef30a63e925438b84b536192dd1e6d1b8e7a4 100644 --- a/src/Workflow/ClipWorkflow.cpp +++ b/src/Workflow/ClipWorkflow.cpp @@ -151,7 +151,7 @@ void ClipWorkflow::initialize( LibVLCpp::MediaPlayer* mediaPlayer ) m_mediaPlayer->setMedia( m_clip->getParent()->getVLCMedia() ); connect( m_mediaPlayer, SIGNAL( playing() ), this, SLOT( setPositionAfterPlayback() ), Qt::DirectConnection ); - connect( m_mediaPlayer, SIGNAL( endReached() ), this, SLOT( endReached() ), Qt::DirectConnection ); + connect( m_mediaPlayer, SIGNAL( endReached() ), this, SLOT( clipEndReached() ), Qt::DirectConnection ); m_mediaPlayer->play(); } @@ -209,7 +209,7 @@ void ClipWorkflow::startRender() setState( Rendering ); } -void ClipWorkflow::endReached() +void ClipWorkflow::clipEndReached() { setState( EndReached ); } @@ -223,6 +223,7 @@ void ClipWorkflow::stop() { Q_ASSERT( m_mediaPlayer != NULL ); m_mediaPlayer->stop(); + disconnect( m_mediaPlayer, SIGNAL( endReached() ), this, SLOT( clipEndReached() ) ); m_mediaPlayer = NULL; setState( Stopped ); QMutexLocker lock( m_requiredStateLock ); diff --git a/src/Workflow/ClipWorkflow.h b/src/Workflow/ClipWorkflow.h index 8b618f299f0277710ac450709b157d0785223753..2d99d8daa7658f62593c5c97693f3685a5ec712b 100644 --- a/src/Workflow/ClipWorkflow.h +++ b/src/Workflow/ClipWorkflow.h @@ -178,11 +178,13 @@ class ClipWorkflow : public QObject QMutex* m_requiredStateLock; - public slots: + private slots: void pauseAfterPlaybackStarted(); void pausedMediaPlayer(); void setPositionAfterPlayback(); - void endReached(); + + public slots: + void clipEndReached(); }; #endif // CLIPWORKFLOW_H diff --git a/src/Workflow/TrackWorkflow.h b/src/Workflow/TrackWorkflow.h index 95034bd0fabcd5e1784a50c21f0d4a127dde8278..c1477d374400eb8c1532456d8f97fd3a49e864e0 100644 --- a/src/Workflow/TrackWorkflow.h +++ b/src/Workflow/TrackWorkflow.h @@ -77,7 +77,7 @@ class TrackWorkflow : public QObject void addClip( Clip*, qint64 start ); signals: - void endReached(); + void trackEndReached(); }; #endif // TRACKWORKFLOW_H