DVLOG(3) << "mediaLoadingFailed(" << *this
<< ") - scheduling next <source>";
ScheduleNextSourceChild();
+ return;
} else {
DVLOG(3) << "mediaLoadingFailed(" << *this
<< ") - no more <source> elements, waiting";
WaitForSourceChange();
+#if BUILDFLAG(IS_TIZEN_TV)
+ // HbbTV requires the the kNetworkStateDecodeError, and
+ // due to the kHaveMetadata delay, we can end up here..
+ if (!IsHbbTV())
+ return;
+
+ // For now, only set decode error for HbbTV.
+ if (error != WebMediaPlayer::kNetworkStateDecodeError)
+ return;
+#else
+ return;
+#endif
}
-
- return;
}
if (error == WebMediaPlayer::kNetworkStateNetworkError &&
if (ready_state_ == WebMediaPlayer::kReadyStateHaveNothing) {
// Any error that occurs before reaching ReadyStateHaveMetadata should
// be considered a format error.
- SetNetworkState(WebMediaPlayer::kNetworkStateFormatError);
+ // The exception to this is HbbTV when it's a PIPELINE_ERROR_DECODE..
+#if BUILDFLAG(IS_TIZEN_TV)
+ if (content::IsHbbTV() && status == media::PIPELINE_ERROR_DECODE)
+ SetNetworkState(PipelineErrorToNetworkState(status.code()));
+ else
+#endif
+ {
+ SetNetworkState(WebMediaPlayer::kNetworkStateFormatError);
+ }
} else {
SetNetworkState(PipelineErrorToNetworkState(status.code()));
}