void SetMediaKeysHandler::ClearFailed(ExceptionCode code,
const String& error_message) {
+#if BUILDFLAG(IS_TIZEN_TV)
+ LOG(INFO) << __func__ << "(" << code << ", " << error_message << ")";
+#else
DVLOG(EME_LOG_LEVEL) << __func__ << "(" << code << ", " << error_message
<< ")";
+#endif
HTMLMediaElementEncryptedMedia& this_element =
HTMLMediaElementEncryptedMedia::From(*element_);
void SetMediaKeysHandler::SetFailed(ExceptionCode code,
const String& error_message) {
+#if BUILDFLAG(IS_TIZEN_TV)
+ LOG(INFO) << __func__ << "(" << code << ", " << error_message << ")";
+#else
DVLOG(EME_LOG_LEVEL) << __func__ << "(" << code << ", " << error_message
<< ")";
+#endif
HTMLMediaElementEncryptedMedia& this_element =
HTMLMediaElementEncryptedMedia::From(*element_);
ExceptionState& exception_state) {
HTMLMediaElementEncryptedMedia& this_element =
HTMLMediaElementEncryptedMedia::From(element);
+#if BUILDFLAG(IS_TIZEN_TV)
+ LOG(INFO) << __func__ << ": current(" << this_element.media_keys_.Get()
+ << "), new(" << media_keys << ")";
+#else
DVLOG(EME_LOG_LEVEL) << __func__ << ": current("
<< this_element.media_keys_.Get() << "), new("
<< media_keys << ")";
+#endif
// From http://w3c.github.io/encrypted-media/#setMediaKeys
return;
}
+ SetCdmInternal(cdm);
+
+#if BUILDFLAG(IS_TIZEN_TV)
+ // Finish set media key directly
+ // Fix issue : AD insert case in EME stream, no cdm_id in this case and will
+ // return failed here. And then JS error occurred.
+ result.Complete();
+#else
// Create a local copy of `result` to avoid problems with the callback
// getting passed to the media thread and causing `result` to be destructed
// on the wrong thread in some failure conditions. Blink should prevent
// multiple simultaneous calls.
DCHECK(!set_cdm_result_);
set_cdm_result_ = std::make_unique<WebContentDecryptionModuleResult>(result);
-
- SetCdmInternal(cdm);
+#endif
}
void WebMediaPlayerImpl::OnEncryptedMediaInitData(
DCHECK_NE(ready_state_, WebMediaPlayer::kReadyStateHaveNothing);
TRACE_EVENT0("media", "WebMediaPlayerImpl::OnVideoNaturalSizeChange");
+ LOG(INFO) << __func__ << " : " << size.ToString();
// The input `size` is from the decoded video frame, which is the original
// natural size and need to be rotated accordingly.
gfx::Size size(pipeline_metadata_.natural_size.width(),
pipeline_metadata_.natural_size.height());
+ LOG(INFO) << __func__ << " : " << size.ToString();
scoped_refptr<media::VideoFrame> video_frame =
media::VideoFrame::CreateHoleFrame(size);
if (video_frame)
bool is_video) {
gfx::RectF rect_f = static_cast<gfx::RectF>(rect);
LOG(INFO) << __func__ << " : " << rect_f.ToString();
+
+ // Once video hole done, this timer not needed.
+ StopLayerBoundUpdateTimer();
if (rect_f != last_computed_rect_)
pipeline_controller_->SetMediaGeometry(rect_f);