FIX: only send error log for user triggered live view

Change-Id: Ie2ff3b95d17bb060e203a51dce30c662e63320b6
This commit is contained in:
chunmao.guo 2023-04-13 15:58:27 +08:00 committed by Lane.Wei
parent 307ade3cd1
commit f90974cea7
2 changed files with 9 additions and 2 deletions

View file

@ -215,7 +215,8 @@ void MediaPlayCtrl::Play()
void MediaPlayCtrl::Stop(wxString const &msg) void MediaPlayCtrl::Stop(wxString const &msg)
{ {
bool failed = m_last_state != wxMEDIASTATE_PLAYING; bool init_failed = m_last_state != wxMEDIASTATE_PLAYING;
if (m_last_state != MEDIASTATE_IDLE) { if (m_last_state != MEDIASTATE_IDLE) {
m_media_ctrl->InvalidateBestSize(); m_media_ctrl->InvalidateBestSize();
m_button_play->SetIcon("media_play"); m_button_play->SetIcon("media_play");
@ -233,9 +234,11 @@ void MediaPlayCtrl::Stop(wxString const &msg)
m_next_retry = wxDateTime(); m_next_retry = wxDateTime();
} else if (!msg.IsEmpty()) { } else if (!msg.IsEmpty()) {
SetStatus(msg, false); SetStatus(msg, false);
} else {
m_failed_code = 0;
} }
if (failed && m_failed_code != 0) { if (init_failed && m_failed_code != 0 && m_last_failed_code != m_failed_code) {
json j; json j;
j["stage"] = std::to_string(m_last_state); j["stage"] = std::to_string(m_last_state);
j["dev_id"] = m_machine; j["dev_id"] = m_machine;
@ -247,6 +250,7 @@ void MediaPlayCtrl::Stop(wxString const &msg)
if (agent) if (agent)
agent->track_event("start_liveview", j.dump()); agent->track_event("start_liveview", j.dump());
} }
m_last_failed_code = m_failed_code;
++m_failed_retry; ++m_failed_retry;
if (m_failed_code != 0 && !m_tutk_support && (m_failed_retry > 1 || m_user_triggered)) { if (m_failed_code != 0 && !m_tutk_support && (m_failed_retry > 1 || m_user_triggered)) {
@ -254,6 +258,7 @@ void MediaPlayCtrl::Stop(wxString const &msg)
if (wxGetApp().show_modal_ip_address_enter_dialog(_L("LAN Connection Failed (Failed to start liveview)"))) { if (wxGetApp().show_modal_ip_address_enter_dialog(_L("LAN Connection Failed (Failed to start liveview)"))) {
m_failed_retry = 0; m_failed_retry = 0;
m_user_triggered = true; m_user_triggered = true;
m_last_failed_code = 0;
m_next_retry = wxDateTime::Now(); m_next_retry = wxDateTime::Now();
return; return;
} }
@ -271,6 +276,7 @@ void MediaPlayCtrl::TogglePlay()
} else { } else {
m_failed_retry = 0; m_failed_retry = 0;
m_user_triggered = true; m_user_triggered = true;
m_last_failed_code = 0;
m_next_retry = wxDateTime::Now(); m_next_retry = wxDateTime::Now();
Play(); Play();
} }

View file

@ -86,6 +86,7 @@ private:
bool m_user_triggered = false; bool m_user_triggered = false;
int m_failed_retry = 0; int m_failed_retry = 0;
int m_failed_code = 0; int m_failed_code = 0;
int m_last_failed_code = 0;
wxDateTime m_next_retry; wxDateTime m_next_retry;
::Button *m_button_play; ::Button *m_button_play;