[MM] Up-version to M48 and re-enable Tizen MM support
authorSeungSeop Park <sns.park@samsung.com>
Mon, 21 Dec 2015 05:54:29 +0000 (14:54 +0900)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 07:55:23 +0000 (07:55 +0000)
Update MM code as per upstream changes.
- VideoCaptureDevice::Client::OnError() has an additional argument.
Upstream CL: https://codereview.chromium.org/1418263006
- Include path changed for skcanvas_video_renderer.h
- Method renamed: media::SetDecryptorReadyCB => media::SetCdmReadyCB
- Header renamed: media/base/decryptor.h => media/base/cdm_context.h
- Method removed: media::{Audio|Video}DecoderConfig::extra_data_size().
=> Cherry-picked beta/m47 patch: http://165.213.202.130/gerrit/#/c/96258
- Argument changes for WebmediaPlayer::setSinkId()
- Replaced scoped_refptr<media::GpuVideoAcceleratorFactories>&
-> media::GpuVideoAcceleratorFactories*
as per Upstream CL:  https://codereview.chromium.org/1369843002
- Removed duplicated definition IPC::ParamTraits<media::SubsampleEntry>
from chromium-efl. It's moved to content/common/gpu/gpu_messages.h (M48)
from content/common/media/media_player_messages_android.h (M47).

Finally, patch reverts the temporary codes made by M48 bringup patch
(http://165.213.202.130/gerrit/#/c/99857/):
- Turn on |tizen_multimedia_support| flag again
- Remove a temp patch file.

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15381

Reviewed by: msu.koo, sm.venugopal, sns.park

Change-Id: I78be30dc896724ca1c45d5fb7122f3ef850b25be
Signed-off-by: SeungSeop Park <sns.park@samsung.com>
tizen_src/build/gyp_chromiumefl.sh
tizen_src/build/patches/m48_hotfix_disable_codes_about_multimedia.diff [deleted file]
tizen_src/chromium_impl/content/common/media/efl/media_player_messages_efl.h
tizen_src/chromium_impl/content/renderer/media/efl/media_source_delegate_efl.cc
tizen_src/chromium_impl/content/renderer/media/efl/media_source_delegate_efl.h
tizen_src/chromium_impl/content/renderer/media/efl/webmediaplayer_efl.cc
tizen_src/chromium_impl/content/renderer/media/efl/webmediaplayer_efl.h
tizen_src/chromium_impl/media/capture/video/tizen/video_capture_device_tizen.cc

index 4be5eae..18f8d73 100755 (executable)
@@ -101,10 +101,7 @@ add_desktop_flags() {
                               -Dclang=${USE_CLANG}
                               -Dwerror=
                               -Duse_wayland=0
-                             "
-  # [M48_2564] Temporary disabling the flag for switching to new chromium
-  #            FIXME: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15381
-  ADDITIONAL_GYP_PARAMETERS+="-Dtizen_multimedia_support=0
+                              -Dtizen_multimedia_support=1
                              "
 }
 
@@ -147,9 +144,7 @@ add_tizen_flags() {
   fi
 
   if [ "$tizen_version" == "3.0" ]; then
-    # [M48_2564] Temporary disabling the flag for switching to new chromium
-    #            FIXME: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15381
-    COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=0
+    COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=1
                            "
   else
     COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=0
diff --git a/tizen_src/build/patches/m48_hotfix_disable_codes_about_multimedia.diff b/tizen_src/build/patches/m48_hotfix_disable_codes_about_multimedia.diff
deleted file mode 100644 (file)
index 79b7583..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/content/common/gpu/media/gpu_video_decode_accelerator.cc b/content/common/gpu/media/gpu_video_decode_accelerator.cc
-index 6a8f3198..959419d 100644
---- a/content/common/gpu/media/gpu_video_decode_accelerator.cc
-+++ b/content/common/gpu/media/gpu_video_decode_accelerator.cc
-@@ -463,7 +463,11 @@ GpuVideoDecodeAccelerator::GetSupportedProfiles() {
- #elif defined(OS_MACOSX)
-   profiles = VTVideoDecodeAccelerator::GetSupportedProfiles();
- #elif defined(OS_TIZEN)
-+#if !defined(EWK_BRINGUP)
-+// [M48_2564] Temporary disabling the codes for switching to new chromium
-+//            FIXME: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15381
-   profiles = GetSupportedTizenProfiles();
-+#endif // EWK_BRINGUP
- #elif defined(OS_ANDROID)
-   profiles = AndroidVideoDecodeAccelerator::GetSupportedProfiles();
- #endif
index 4371cce..5b31cef 100644 (file)
@@ -50,11 +50,6 @@ IPC_STRUCT_TRAITS_BEGIN(media::DemuxedBufferMetaData)
   IPC_STRUCT_TRAITS_MEMBER(status)
 IPC_STRUCT_TRAITS_END()
 
-IPC_STRUCT_TRAITS_BEGIN(media::SubsampleEntry)
-  IPC_STRUCT_TRAITS_MEMBER(clear_bytes)
-  IPC_STRUCT_TRAITS_MEMBER(cypher_bytes)
-IPC_STRUCT_TRAITS_END()
-
 IPC_STRUCT_TRAITS_BEGIN(media::MediaPlayerEfl::TimeRanges)
   IPC_STRUCT_TRAITS_MEMBER(start)
   IPC_STRUCT_TRAITS_MEMBER(end)
index fb44ad8..a8ccfef 100644 (file)
@@ -55,7 +55,7 @@ MediaSourceDelegateEfl::~MediaSourceDelegateEfl() {
 void MediaSourceDelegateEfl::InitializeMediaSource(
     const MediaSourceOpenedCB& media_source_opened_cb,
     const media::Demuxer::EncryptedMediaInitDataCB& emedia_init_data_cb,
-    const media::SetDecryptorReadyCB& set_decryptor_ready_cb,
+    const media::SetCdmReadyCB& set_cdm_ready_cb,
     const UpdateNetworkStateCB& update_network_state_cb,
     const DurationChangeCB& duration_change_cb,
     const base::Closure& waiting_for_decryption_key_cb) {
@@ -63,7 +63,7 @@ void MediaSourceDelegateEfl::InitializeMediaSource(
   DCHECK(!media_source_opened_cb.is_null());
   media_source_opened_cb_ = media_source_opened_cb;
   emedia_init_data_cb_ = emedia_init_data_cb;
-  set_decryptor_ready_cb_ = set_decryptor_ready_cb;
+  set_cdm_ready_cb_ = set_cdm_ready_cb;
   update_network_state_cb_ = media::BindToCurrentLoop(update_network_state_cb);
   duration_change_cb_ = duration_change_cb;
   waiting_for_decryption_key_cb_ =
@@ -153,12 +153,12 @@ void MediaSourceDelegateEfl::OnDemuxerInitDone(
   audio_stream_ = chunk_demuxer_->GetStream(media::DemuxerStream::AUDIO);
   video_stream_ = chunk_demuxer_->GetStream(media::DemuxerStream::VIDEO);
   if (audio_stream_ && audio_stream_->audio_decoder_config().is_encrypted() &&
-      !set_decryptor_ready_cb_.is_null()) {
+      !set_cdm_ready_cb_.is_null()) {
     InitAudioDecryptingDemuxerStream();
     return;
   }
   if (video_stream_ && video_stream_->video_decoder_config().is_encrypted() &&
-      !set_decryptor_ready_cb_.is_null()) {
+      !set_cdm_ready_cb_.is_null()) {
     InitVideoDecryptingDemuxerStream();
     return;
   }
@@ -171,7 +171,7 @@ void MediaSourceDelegateEfl::InitAudioDecryptingDemuxerStream() {
   DCHECK(media_task_runner_->BelongsToCurrentThread());
   audio_decrypting_demuxer_stream_.reset(
       new media::DecryptingDemuxerStream(
-          media_task_runner_, media_log_, set_decryptor_ready_cb_,
+          media_task_runner_, media_log_, set_cdm_ready_cb_,
           waiting_for_decryption_key_cb_));
 
   audio_decrypting_demuxer_stream_->Initialize(
@@ -186,7 +186,7 @@ void MediaSourceDelegateEfl::InitVideoDecryptingDemuxerStream() {
 
   video_decrypting_demuxer_stream_.reset(
       new media::DecryptingDemuxerStream(
-          media_task_runner_, media_log_, set_decryptor_ready_cb_,
+          media_task_runner_, media_log_, set_cdm_ready_cb_,
           waiting_for_decryption_key_cb_));
 
   video_decrypting_demuxer_stream_->Initialize(
@@ -249,8 +249,7 @@ void MediaSourceDelegateEfl::NotifyDemuxerReady() {
         media::ChannelLayoutToChannelCount(audio_config.channel_layout());
     configs->audio_sampling_rate = audio_config.samples_per_second();
     configs->is_audio_encrypted = audio_config.is_encrypted();
-    configs->audio_extra_data = std::vector<uint8>(audio_config.extra_data(),
-        audio_config.extra_data() + audio_config.extra_data_size());
+    configs->audio_extra_data = audio_config.extra_data();
   }
   if (video_stream_) {
     media::VideoDecoderConfig video_config =
@@ -258,8 +257,7 @@ void MediaSourceDelegateEfl::NotifyDemuxerReady() {
     configs->video_codec = video_config.codec();
     configs->video_size = video_config.natural_size();
     configs->is_video_encrypted = video_config.is_encrypted();
-    configs->video_extra_data = std::vector<uint8>(video_config.extra_data(),
-        video_config.extra_data() + video_config.extra_data_size());
+    configs->video_extra_data = video_config.extra_data();
   }
   demuxer_client_->DemuxerReady(demuxer_client_id_, *configs);
 }
index 6476674..ec44ca0 100644 (file)
@@ -55,7 +55,7 @@ class MediaSourceDelegateEfl
   void InitializeMediaSource(
       const MediaSourceOpenedCB& media_source_opened_cb,
       const media::Demuxer::EncryptedMediaInitDataCB& emedia_init_data_cb,
-      const media::SetDecryptorReadyCB& set_decryptor_ready_cb,
+      const media::SetCdmReadyCB& set_cdm_ready_cb,
       const UpdateNetworkStateCB& update_network_state_cb,
       const DurationChangeCB& duration_change_cb,
       const base::Closure& waiting_for_decryption_key_cb);
@@ -136,7 +136,7 @@ class MediaSourceDelegateEfl
   media::DemuxerStream* video_stream_;
   media::Ranges<base::TimeDelta> buffered_time_ranges_;
 
-  media::SetDecryptorReadyCB set_decryptor_ready_cb_;
+  media::SetCdmReadyCB set_cdm_ready_cb_;
   media::Demuxer::EncryptedMediaInitDataCB emedia_init_data_cb_;
   scoped_ptr<media::DecryptingDemuxerStream> audio_decrypting_demuxer_stream_;
   scoped_ptr<media::DecryptingDemuxerStream> video_decrypting_demuxer_stream_;
index 11ab77f..6a12d36 100644 (file)
@@ -141,10 +141,10 @@ void WebMediaPlayerEfl::DoLoad(LoadType load_type, const blink::WebURL& url) {
     demuxer_client_id = demuxer->GetNextDemuxerClientID();
     media_source_delegate_.reset(new MediaSourceDelegateEfl(
         demuxer, demuxer_client_id, media_task_runner_, media_log_.get()));
-    media::SetDecryptorReadyCB set_decryptor_ready_cb;
+    media::SetCdmReadyCB set_cdm_ready_cb;
     media::Demuxer::EncryptedMediaInitDataCB emedia_init_data_cb;
 #if defined(TIZEN_MULTIMEDIA_EME_SUPPORT)
-  set_decryptor_ready_cb =
+  set_cdm_ready_cb =
         encrypted_media_support_->CreateSetDecryptorReadyCB();
   emedia_init_data_cb =
         encrypted_media_support_->CreateNeedKeyCB();
@@ -152,7 +152,7 @@ void WebMediaPlayerEfl::DoLoad(LoadType load_type, const blink::WebURL& url) {
     media_source_delegate_->InitializeMediaSource(
         base::Bind(&WebMediaPlayerEfl::OnMediaSourceOpened,
                    weak_factory_.GetWeakPtr()),
-        emedia_init_data_cb, set_decryptor_ready_cb,
+        emedia_init_data_cb, set_cdm_ready_cb,
         base::Bind(&WebMediaPlayerEfl::SetNetworkState,
                    weak_factory_.GetWeakPtr()),
         base::Bind(&WebMediaPlayerEfl::OnDurationChange,
@@ -340,12 +340,13 @@ blink::WebTimeRanges WebMediaPlayerEfl::seekable() const {
   return blink::WebTimeRanges(&seekable_range, 1);
 }
 
-void WebMediaPlayerEfl::setSinkId(const blink::WebString& device_id,
-                                  media::WebSetSinkIdCB* raw_web_callbacks) {
+void WebMediaPlayerEfl::setSinkId(
+    const blink::WebString& device_id,
+    const blink::WebSecurityOrigin& security_origin,
+    blink::WebSetSinkIdCallbacks* web_callback) {
   DCHECK(main_loop_->BelongsToCurrentThread());
-  scoped_ptr<media::WebSetSinkIdCB> web_callbacks(raw_web_callbacks);
-  web_callbacks->onError(new blink::WebSetSinkIdError(
-      blink::WebSetSinkIdError::ErrorTypeNotSupported, "Not Supported"));
+  scoped_ptr<blink::WebSetSinkIdCallbacks> callback(web_callback);
+  callback->onError(blink::WebSetSinkIdError::NotSupported);
 }
 
 void WebMediaPlayerEfl::paint(blink::WebCanvas* canvas,
index ace9352..cb79e06 100644 (file)
@@ -14,9 +14,9 @@
 #include "content/renderer/media/efl/renderer_media_player_manager_efl.h"
 #include "media/blink/webmediaplayer_util.h"
 #include "media/base/efl/media_player_efl.h"
-#include "media/blink/skcanvas_video_renderer.h"
 #include "media/blink/video_frame_compositor.h"
 #include "media/blink/webmediaplayer_params.h"
+#include "media/renderers/skcanvas_video_renderer.h"
 #include "third_party/WebKit/public/platform/WebMediaPlayer.h"
 #include "third_party/WebKit/public/platform/WebMediaPlayerEncryptedMediaClient.h"
 
@@ -77,7 +77,9 @@ class WebMediaPlayerEfl
   void setVolume(double) override;
   blink::WebTimeRanges buffered() const override;
   blink::WebTimeRanges seekable() const override;
-  void setSinkId(const blink::WebString&, media::WebSetSinkIdCB*) override;
+  void setSinkId(const blink::WebString& sink_id,
+                 const blink::WebSecurityOrigin& security_origin,
+                 blink::WebSetSinkIdCallbacks* web_callback) override;
 
   void paint(blink::WebCanvas*,
       const blink::WebRect&,
@@ -249,7 +251,7 @@ class WebMediaPlayerEfl
   mutable bool did_loading_progress_;
 
   // Factories for supporting video accelerators. May be null.
-  scoped_refptr<media::GpuVideoAcceleratorFactories> gpu_factories_;
+  media::GpuVideoAcceleratorFactories* gpu_factories_;
 #if defined(TIZEN_MULTIMEDIA_EME_SUPPORT)
   scoped_ptr<media::EncryptedMediaPlayerSupport> encrypted_media_support_;
 #endif
index bb5a739..f46c4c3 100644 (file)
@@ -370,7 +370,7 @@ void VideoCaptureDeviceTizen::SetErrorState(const std::string& reason) {
   DCHECK(!worker_.IsRunning() ||
          worker_.message_loop() == base::MessageLoop::current());
   state_ = kError;
-  client_->OnError(reason);
+  client_->OnError(FROM_HERE, reason);
 }
 
 }  // namespace media