From: Jeongyoon Nam Date: Tue, 6 Sep 2022 06:53:21 +0000 (+0900) Subject: Drop SeekDone if seek is not finished X-Git-Tag: accepted/tizen/unified/20220908.013401^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6d4f661171b10b88ee59e6a4fb44a4931bc2f46f;p=platform%2Fcore%2Fmultimedia%2Fesplusplayer.git Drop SeekDone if seek is not finished [Version] 0.0.7 [Issue Type] Bug fix Change-Id: I5e069b24b0e263ab4faa5ce6e0d878097affc3d9 --- diff --git a/packaging/esplusplayer.spec b/packaging/esplusplayer.spec index aa10061..e54dc69 100644 --- a/packaging/esplusplayer.spec +++ b/packaging/esplusplayer.spec @@ -2,7 +2,7 @@ %bcond_without ESPLUSPLAYER_UT Name: esplusplayer Summary: new multimedia streaming player -Version: 0.0.6 +Version: 0.0.7 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/esplusplayer/src/esplayer.cpp b/src/esplusplayer/src/esplayer.cpp index 6845018..bd79420 100644 --- a/src/esplusplayer/src/esplayer.cpp +++ b/src/esplusplayer/src/esplayer.cpp @@ -598,6 +598,7 @@ bool EsPlayer::Seek(const uint64_t time_millisecond) { resume_time_.time = time_millisecond; return true; } + is_seek_done_need_drop = true; LOG_DEBUG("[%p] > [ENTER] seek time [%" PRIu64 " ms]", this, time_millisecond); for (const auto& track : track_) { std::lock_guard lock2(eos_mutex_); @@ -613,7 +614,12 @@ bool EsPlayer::Seek(const uint64_t time_millisecond) { return true; }; es_event::Seek event{op}; - return state_manager_.ProcessEvent(event); + + bool ret = state_manager_.ProcessEvent(event); + is_seek_done_need_drop = false; + LOG_DEBUG("%p, [LEAVE] seek end ", this); + + return ret; } bool EsPlayer::SetPlaybackRate(const double rate, const bool audio_mute) { @@ -639,10 +645,10 @@ bool EsPlayer::SetPlaybackRate(const double rate, const bool audio_mute) { return true; }; es_event::PlaybackRate event{op}; - return state_manager_.ProcessEvent(event); + bool ret = state_manager_.ProcessEvent(event); LOG_LEAVE_P(this); - return true; + return ret; } bool EsPlayer::SetDisplay(const DisplayType& type, void* obj) { @@ -1396,6 +1402,7 @@ void EsPlayer::TrackRendererEventListener::OnEos() { void EsPlayer::TrackRendererEventListener::OnSeekDone() { LOG_ENTER_P(handler_); if (!handler_->eventlistener_) return; + if (handler_->is_seek_done_need_drop == true) return; auto listener = std::bind(&plusplayer::EsEventListener::OnSeekDone, handler_->eventlistener_, std::placeholders::_1); auto msg = es_msg::Simple::Make(listener, handler_->eventlistener_userdata_);