[MM] Multimedia up-version to M47
authorkarthick.m1 <karthick.m1@samsung.com>
Tue, 3 Nov 2015 15:10:35 +0000 (20:40 +0530)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 07:55:23 +0000 (07:55 +0000)
1. WebAudio is working
2. MSE is working.
3. ME is working.

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

Change-Id: Idcd94dbbc836f39be8d1116903c1dd65bda2c947
Signed-off-by: karthick.m1 <karthick.m1@samsung.com>
17 files changed:
tizen_src/build/gyp_chromiumefl.sh
tizen_src/chromium_impl/content/browser/media/efl/webaudio_decoder_browser_gstreamer.h
tizen_src/chromium_impl/content/common/gpu/media/efl/tizen_video_decode_accelerator.cc
tizen_src/chromium_impl/content/common/gpu/media/efl/tizen_video_encode_accelerator.cc
tizen_src/chromium_impl/content/common/gpu/media/efl/tizen_video_encode_accelerator.h
tizen_src/chromium_impl/content/renderer/media/efl/media_source_delegate_efl.cc
tizen_src/chromium_impl/content/renderer/media/efl/renderer_demuxer_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/base/efl/media_player_bridge_gstreamer.cc
tizen_src/chromium_impl/media/base/efl/media_player_bridge_gstreamer.h
tizen_src/chromium_impl/media/base/efl/media_source_player_gstreamer.cc
tizen_src/chromium_impl/media/base/efl/media_source_player_gstreamer.h
tizen_src/chromium_impl/media/base/tizen/media_player_bridge_capi.cc
tizen_src/chromium_impl/media/base/tizen/media_player_bridge_capi.h
tizen_src/chromium_impl/media/capture/video/tizen/video_capture_device_factory_tizen.cc
tizen_src/chromium_impl/media/capture/video/tizen/video_capture_device_tizen.cc

index 20b7821..9e410e7 100755 (executable)
@@ -101,10 +101,7 @@ add_desktop_flags() {
                               -Dclang=${USE_CLANG}
                               -Dwerror=
                               -Duse_wayland=0
-                             "
-  # [M44_2403] Temporary disabling the multimedia flag for switching to new chromium
-  #            FIXME: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14037
-  ADDITIONAL_GYP_PARAMETERS+="-Dtizen_multimedia_support=0
+                              -Dtizen_multimedia_support=1
                              "
 }
 
@@ -144,12 +141,7 @@ add_tizen_flags() {
   fi
 
   if [ "$tizen_version" == "3.0" ]; then
-    # [M47_2526] Temporary disabling the multimedia flag for switching to new chromium
-    #            FIXME: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14519
-    COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=0
-                           "
-  elif [ "$tizen_version" == "2.4" -a "$target" == "tv" ]; then
-    COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=0
+    COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=1
                            "
   else
     COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=0
index 1677cee..08b7a96 100644 (file)
@@ -23,7 +23,7 @@ class CONTENT_EXPORT WebAudioDecoderGStreamer {
                            uint32_t data_size);
 
  private:
-  friend struct DefaultSingletonTraits<WebAudioDecoderGStreamer>;
+  friend struct base::DefaultSingletonTraits<WebAudioDecoderGStreamer>;
   WebAudioDecoderGStreamer();
   virtual ~WebAudioDecoderGStreamer();
   void DecodeUsingGST(base::SharedMemoryHandle foreign_memory_handle,
index e25701c..e12d72b 100644 (file)
 
 #include "base/bind.h"
 #include "base/memory/shared_memory.h"
-#include "base/message_loop/message_loop_proxy.h"
+#include "base/message_loop/message_loop.h"
 #include "base/process/process.h"
 #include "base/synchronization/waitable_event.h"
-#include "base/time/time.h"
+#include "base/thread_task_runner_handle.h"
+#include "base/timer/timer.h"
+#include "media/base/video_frame.h"
 
 using media::VideoFrame;
 
@@ -57,12 +59,12 @@ media::VideoDecodeAccelerator* CreateTizenVideoDecodeAccelerator() {
 struct TizenVideoDecodeAccelerator::BitstreamBufferRef {
   BitstreamBufferRef(
       base::WeakPtr<media::VideoDecodeAccelerator::Client> client,
-      const scoped_refptr<base::MessageLoopProxy>& client_message_loop_proxy,
+      const scoped_refptr<base::SingleThreadTaskRunner>& client_task_runner,
       base::SharedMemory* shm,
       size_t size,
       int32 input_id)
       : client_(client),
-        client_message_loop_proxy_(client_message_loop_proxy),
+        client_task_runner_(client_task_runner),
         shm_(shm),
         size_(size),
         bytes_used_(0),
@@ -72,7 +74,7 @@ struct TizenVideoDecodeAccelerator::BitstreamBufferRef {
   ~BitstreamBufferRef() {
     if (input_id_ < 0)
       return;
-    client_message_loop_proxy_->PostTask(
+    client_task_runner_->PostTask(
         FROM_HERE,
         base::Bind(
             &media::VideoDecodeAccelerator::Client::NotifyEndOfBitstreamBuffer,
@@ -87,7 +89,7 @@ struct TizenVideoDecodeAccelerator::BitstreamBufferRef {
   }
 
   base::WeakPtr<media::VideoDecodeAccelerator::Client> client_;
-  scoped_refptr<base::MessageLoopProxy> client_message_loop_proxy_;
+  scoped_refptr<base::SingleThreadTaskRunner> client_task_runner_;
   scoped_ptr<base::SharedMemory> shm_;
   size_t size_;
   off_t bytes_used_;
@@ -102,7 +104,7 @@ struct TizenVideoDecodeAccelerator::Impl {
         pipeline_(NULL),
         sink_(NULL),
         appsrc_(NULL),
-        io_message_loop_proxy_(base::MessageLoopProxy::current()),
+        io_task_runner_(base::ThreadTaskRunnerHandle::Get()),
         gst_thread_("TizenDecoderThreadGst"),
         bitstream_buffer_id_(0),
         caps_width_(0),
@@ -156,7 +158,7 @@ struct TizenVideoDecodeAccelerator::Impl {
   GstElement* pipeline_;
   GstElement* sink_;
   GstElement* appsrc_;
-  scoped_refptr<base::MessageLoopProxy> io_message_loop_proxy_;
+  scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
   scoped_ptr<base::WeakPtrFactory<Client> > io_client_weak_factory_;
   base::Thread gst_thread_;
   int bitstream_buffer_id_;
@@ -346,7 +348,7 @@ void TizenVideoDecodeAccelerator::Decode(
 
   buffer_ref.reset(new BitstreamBufferRef(
       impl_->io_client_weak_factory_->GetWeakPtr(),
-      base::MessageLoopProxy::current(),
+      base::ThreadTaskRunnerHandle::Get(),
       shm.release(),
       bitstream_buffer.size(),
       bitstream_buffer.id()));
@@ -528,7 +530,7 @@ void TizenVideoDecodeAccelerator::Impl::DeliverVideoFrame(
       LOG(ERROR) << "Could not get handle of Shared Memory";
     } else {
       memcpy(shared_memory.memory(), map.data, map.size);
-      io_message_loop_proxy_->PostTask(
+      io_task_runner_->PostTask(
           FROM_HERE,
           base::Bind(&media::VideoDecodeAccelerator::Client::NotifyDecodeDone,
                      io_client_weak_factory_->GetWeakPtr(),
index 305d55e..ba703fd 100644 (file)
@@ -4,18 +4,20 @@
 
 #include "content/common/gpu/media/efl/tizen_video_encode_accelerator.h"
 
-#include <gst/gst.h>
 #include <gst/app/gstappsink.h>
 #include <gst/app/gstappsrc.h>
+#include <gst/gst.h>
 #include <gst/video/video.h>
 
 #include "base/bind.h"
 #include "base/command_line.h"
 #include "base/logging.h"
 #include "base/message_loop/message_loop.h"
+#include "base/thread_task_runner_handle.h"
 #include "base/timer/timer.h"
 #include "gpu/command_buffer/service/gpu_switches.h"
 #include "media/base/bitstream_buffer.h"
+#include "media/base/video_frame.h"
 #include "third_party/webrtc/common_video/libyuv/include/webrtc_libyuv.h"
 
 using media::VideoFrame;
@@ -60,11 +62,11 @@ struct TizenVideoEncodeAccelerator::BitstreamBufferRef {
   BitstreamBufferRef(
       const scoped_refptr<media::VideoFrame>& frame,
       base::WeakPtr<media::VideoEncodeAccelerator::Client> client_delegate,
-      const scoped_refptr<base::MessageLoopProxy>& client_message_loop_proxy,
+      const scoped_refptr<base::SingleThreadTaskRunner>& client_task_runner,
       size_t size)
       : frame_(frame),
         client_delegate_(client_delegate),
-        client_message_loop_proxy_(client_message_loop_proxy),
+        client_task_runner_(client_task_runner),
         size_(size),
         bytes_used_(0),
         gst_buffer_(NULL) {}
@@ -79,7 +81,7 @@ struct TizenVideoEncodeAccelerator::BitstreamBufferRef {
 
   scoped_refptr<media::VideoFrame> frame_;
   base::WeakPtr<media::VideoEncodeAccelerator::Client> client_delegate_;
-  scoped_refptr<base::MessageLoopProxy> client_message_loop_proxy_;
+  scoped_refptr<base::SingleThreadTaskRunner> client_task_runner_;
   size_t size_;
   off_t bytes_used_;
   GstBuffer* gst_buffer_;
@@ -104,14 +106,14 @@ struct TizenVideoEncodeAccelerator::OutputBuffer {
 
 struct TizenVideoEncodeAccelerator::Impl {
   Impl(media::VideoEncodeAccelerator::Client* client,
-       scoped_refptr<base::MessageLoopProxy> msg_loop)
+       scoped_refptr<base::SingleThreadTaskRunner> msg_loop)
       : pipeline_(NULL),
         encoder_(NULL),
         appsrc_(NULL),
         gst_thread_("TizenEncoderThreadGst"),
         enable_framedrop_(false),
         io_client_weak_factory_(client),
-        child_message_loop_proxy_(msg_loop),
+        child_task_runner_(msg_loop),
         gst_bitrate_(0),
         is_running_(false),
         is_destroying_(false),
@@ -129,8 +131,9 @@ struct TizenVideoEncodeAccelerator::Impl {
   base::Thread gst_thread_;
   bool enable_framedrop_;
   std::vector<media::BitstreamBuffer> encoder_output_queue_;
-  base::WeakPtrFactory<media::VideoEncodeAccelerator::Client> io_client_weak_factory_;
-  const scoped_refptr<base::MessageLoopProxy> child_message_loop_proxy_;
+  base::WeakPtrFactory<
+      media::VideoEncodeAccelerator::Client> io_client_weak_factory_;
+  const scoped_refptr<base::SingleThreadTaskRunner> child_task_runner_;
   base::Lock destroy_lock_;
   base::ThreadChecker thread_checker_;
   gfx::Size view_size_;
@@ -138,7 +141,7 @@ struct TizenVideoEncodeAccelerator::Impl {
   volatile bool is_running_;
   volatile bool is_destroying_;
   volatile bool can_feed_;
-  base::RepeatingTimer<TizenVideoEncodeAccelerator::Impl> io_timer_;
+  base::RepeatingTimer io_timer_;
   std::queue<TizenVideoEncodeAccelerator::OutputBuffer*> output_buffers_;
   base::Lock output_queue_lock_;
 };
@@ -200,7 +203,7 @@ void TizenVideoEncodeAccelerator::Impl::DeliverVideoFrame() {
   } else {
     //copying data to shared memory.
     memcpy(static_cast<uint8*>(shm->memory()), map.data, map.size);
-    child_message_loop_proxy_->PostTask(
+    child_task_runner_->PostTask(
         FROM_HERE,
         base::Bind(&media::VideoEncodeAccelerator::Client::BitstreamBufferReady,
                    io_client_weak_factory_.GetWeakPtr(),
@@ -230,7 +233,7 @@ bool TizenVideoEncodeAccelerator::Impl::CreateAppSrcElement() {
         NULL };
 
   guint64 max_input_buffer =
-      INPUT_BUFFER_COUNT * VideoFrame::AllocationSize(VideoFrame::I420,
+      INPUT_BUFFER_COUNT * VideoFrame::AllocationSize(media::PIXEL_FORMAT_I420,
                                                       view_size_);
   gst_app_src_set_callbacks(GST_APP_SRC(appsrc_), &appsrc_callbacks,
                             static_cast<gpointer>(this), NULL);
@@ -315,7 +318,7 @@ TizenVideoEncodeAccelerator::GetSupportedProfiles() {
 }
 
 bool TizenVideoEncodeAccelerator::Initialize(
-    media::VideoFrame::Format input_format,
+    media::VideoPixelFormat input_format,
     const gfx::Size& input_visible_size,
     media::VideoCodecProfile output_profile,
     uint32 initial_bitrate,
@@ -329,7 +332,7 @@ bool TizenVideoEncodeAccelerator::Initialize(
     return false;
   }
 
-  impl_ = new Impl(client, base::MessageLoopProxy::current());
+  impl_ = new Impl(client, base::ThreadTaskRunnerHandle::Get());
   impl_->gst_bitrate_ = initial_bitrate;
   impl_->view_size_ = input_visible_size;
   impl_->gst_thread_.Start();
@@ -340,7 +343,7 @@ bool TizenVideoEncodeAccelerator::Initialize(
     return false;
   }
 
-  base::MessageLoop::current()->PostTask(
+  base::ThreadTaskRunnerHandle::Get()->PostTask(
       FROM_HERE,
       base::Bind(
           &media::VideoEncodeAccelerator::Client::RequireBitstreamBuffers,
@@ -354,7 +357,7 @@ bool TizenVideoEncodeAccelerator::Initialize(
 void TizenVideoEncodeAccelerator::Encode(
     const scoped_refptr<media::VideoFrame>& frame,
     bool force_keyframe) {
-  size_t frame_size = VideoFrame::AllocationSize(VideoFrame::I420,
+  size_t frame_size = VideoFrame::AllocationSize(media::PIXEL_FORMAT_I420,
                                                  frame->coded_size());
   DVLOG(3) << " coded_size :" << frame->coded_size().ToString()
            << " natural_size :" << frame->natural_size().ToString();
@@ -364,7 +367,7 @@ void TizenVideoEncodeAccelerator::Encode(
   buffer_ref.reset(
       new BitstreamBufferRef(frame,
                              impl_->io_client_weak_factory_.GetWeakPtr(),
-                             impl_->child_message_loop_proxy_,
+                             impl_->child_task_runner_,
                              frame_size));
 
   if (!buffer_ref) {
index a43a892..bec7178 100644 (file)
@@ -21,7 +21,7 @@ class CONTENT_EXPORT TizenVideoEncodeAccelerator
 
   std::vector<media::VideoEncodeAccelerator::SupportedProfile>
       GetSupportedProfiles() override;
-  bool Initialize(media::VideoFrame::Format input_format,
+  bool Initialize(media::VideoPixelFormat input_format,
                   const gfx::Size& input_visible_size,
                   media::VideoCodecProfile output_profile,
                   uint32 initial_bitrate,
index c9df69e..d44de12 100644 (file)
@@ -21,7 +21,7 @@ MediaSourceDelegateEfl::MediaSourceDelegateEfl(
     int demuxer_client_id,
     const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
     media::MediaLog* media_log)
-    : main_loop_(base::MessageLoopProxy::current()),
+    : main_loop_(base::ThreadTaskRunnerHandle::Get()),
       main_weak_factory_(this),
       main_weak_this_(main_weak_factory_.GetWeakPtr()),
       media_task_runner_(media_task_runner),
@@ -76,7 +76,7 @@ void MediaSourceDelegateEfl::InitializeMediaSource(
       media::BindToCurrentLoop(
           base::Bind(&MediaSourceDelegateEfl::OnEncryptedMediaInitData,
                      main_weak_this_)),
-      base::Bind(&media::MediaLog::AddLogEvent, media_log_), media_log_, false));
+      media_log_, false));
 
   media_task_runner_->PostTask(FROM_HERE,
       base::Bind(&MediaSourceDelegateEfl::InitializeDemuxer,
@@ -117,7 +117,7 @@ void MediaSourceDelegateEfl::OnDemuxerOpened() {
   if (media_source_opened_cb_.is_null())
     return;
   media_source_opened_cb_.Run(new media::WebMediaSourceImpl(
-      chunk_demuxer_.get(), base::Bind(&media::MediaLog::AddLogEvent, media_log_)));
+      chunk_demuxer_.get(), media_log_));
 }
 
 void MediaSourceDelegateEfl::OnDemuxerError(
@@ -171,7 +171,7 @@ void MediaSourceDelegateEfl::InitAudioDecryptingDemuxerStream() {
   DCHECK(media_task_runner_->BelongsToCurrentThread());
   audio_decrypting_demuxer_stream_.reset(
       new media::DecryptingDemuxerStream(
-          media_task_runner_, set_decryptor_ready_cb_,
+          media_task_runner_, media_log_, set_decryptor_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_, set_decryptor_ready_cb_,
+          media_task_runner_, media_log_, set_decryptor_ready_cb_,
           waiting_for_decryption_key_cb_));
 
   video_decrypting_demuxer_stream_->Initialize(
index 2ca0ab5..a4884bc 100644 (file)
@@ -7,6 +7,7 @@
 
 #include "base/atomic_sequence_num.h"
 #include "base/id_map.h"
+#include "base/memory/shared_memory.h"
 #include "ipc/message_filter.h"
 #include "media/base/efl/demuxer_stream_player_params_efl.h"
 
index b289db0..73af7bd 100644 (file)
@@ -15,6 +15,7 @@
 #include "media/base/video_frame.h"
 #include "media/blink/webmediaplayer_util.h"
 #include "third_party/libyuv/include/libyuv/planar_functions.h"
+#include "third_party/WebKit/public/platform/WebMediaPlayer.h"
 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.h"
 
 #define BIND_TO_RENDER_LOOP(function) \
@@ -45,7 +46,7 @@ WebMediaPlayerEfl::WebMediaPlayerEfl(
     : frame_(frame),
       network_state_(blink::WebMediaPlayer::NetworkStateEmpty),
       ready_state_(blink::WebMediaPlayer::ReadyStateHaveNothing),
-      main_loop_(base::MessageLoopProxy::current()),
+      main_loop_(base::ThreadTaskRunnerHandle::Get()),
       media_task_runner_(
           RenderThreadImpl::current()->GetMediaThreadTaskRunner()),
       manager_(manager),
@@ -54,9 +55,9 @@ WebMediaPlayerEfl::WebMediaPlayerEfl(
       delegate_(delegate),
       // Threaded compositing isn't enabled universally yet.
       compositor_task_runner_(
-          RenderThreadImpl::current()->compositor_message_loop_proxy().get()
-          ? RenderThreadImpl::current()->compositor_message_loop_proxy()
-          : base::MessageLoopProxy::current()),
+          RenderThreadImpl::current()->compositor_task_runner().get()
+          ? RenderThreadImpl::current()->compositor_task_runner()
+          : base::ThreadTaskRunnerHandle::Get()),
       compositor_(new media::VideoFrameCompositor(
           compositor_task_runner_,
           BIND_TO_RENDER_LOOP(&WebMediaPlayerEfl::OnNaturalSizeChanged),
@@ -214,12 +215,12 @@ void WebMediaPlayerEfl::OnMediaSourceOpened(
 }
 
 void WebMediaPlayerEfl::OnWaitingForDecryptionKey() {
-  client_->didBlockPlaybackWaitingForKey();
+  encrypted_client_->didBlockPlaybackWaitingForKey();
 
   // TODO(jrummell): didResumePlaybackBlockedForKey() should only be called
   // when a key has been successfully added (e.g. OnSessionKeysChange() with
   // |has_additional_usable_key| = true). http://crbug.com/461903
-  client_->didResumePlaybackBlockedForKey();
+  encrypted_client_->didResumePlaybackBlockedForKey();
 }
 
 void WebMediaPlayerEfl::play() {
@@ -283,7 +284,7 @@ void WebMediaPlayerEfl::seek(double seconds) {
     pending_seek_time_ = seconds;
     if (media_source_delegate_)
       media_source_delegate_->CancelPendingSeek(
-          media::ConvertSecondsToTimestamp(pending_seek_time_));
+          base::TimeDelta::FromSecondsD(pending_seek_time_));
     // Later, OnSeekComplete will trigger the pending seek.
     return;
   }
@@ -294,7 +295,7 @@ void WebMediaPlayerEfl::seek(double seconds) {
   // Once Chunk demuxer seeks GST seek will be intiated.
   if (media_source_delegate_)
     media_source_delegate_->StartWaitingForSeek(
-        media::ConvertSecondsToTimestamp(seek_time_));
+        base::TimeDelta::FromSecondsD(seek_time_));
   manager_->Seek(player_id_, seek_time_);
 
   // Draw empty frame during seek.
@@ -328,6 +329,14 @@ blink::WebTimeRanges WebMediaPlayerEfl::seekable() const {
   return blink::WebTimeRanges(&seekable_range, 1);
 }
 
+void WebMediaPlayerEfl::setSinkId(const blink::WebString& device_id,
+                                  media::WebSetSinkIdCB* raw_web_callbacks) {
+  DCHECK(main_loop_->BelongsToCurrentThread());
+  scoped_ptr<media::WebSetSinkIdCB> web_callbacks(raw_web_callbacks);
+  web_callbacks->onError(new blink::WebSetSinkIdError(
+      blink::WebSetSinkIdError::ErrorTypeNotSupported, "Not Supported"));
+}
+
 void WebMediaPlayerEfl::paint(blink::WebCanvas* canvas,
     const blink::WebRect& rect,
     unsigned char alpha,
@@ -335,7 +344,7 @@ void WebMediaPlayerEfl::paint(blink::WebCanvas* canvas,
   scoped_refptr<VideoFrame> video_frame =
       GetCurrentFrameFromCompositor();
 
-  gfx::Rect gfx_rect(rect);
+  gfx::RectF gfx_rect(rect);
   media::Context3D context_3d;
   skcanvas_video_renderer_.Paint(
       video_frame.get(), canvas, gfx_rect, alpha,
@@ -397,7 +406,7 @@ bool WebMediaPlayerEfl::didPassCORSAccessCheck() const {
 }
 
 double WebMediaPlayerEfl::mediaTimeForTimeValue(double timeValue) const {
-  return media::ConvertSecondsToTimestamp(timeValue).InSecondsF();
+  return base::TimeDelta::FromSecondsD(timeValue).InSecondsF();
 }
 
 unsigned WebMediaPlayerEfl::decodedFrameCount() const {
@@ -439,7 +448,7 @@ void WebMediaPlayerEfl::OnNewFrameAvailable(base::SharedMemoryHandle Handle,
   gfx::Size size(gst_width_, gst_height_);
   scoped_refptr<VideoFrame> video_frame =
       VideoFrame::CreateFrame(
-          VideoFrame::YV12, size, gfx::Rect(size), size, timestamp);
+          media::PIXEL_FORMAT_YV12, size, gfx::Rect(size), size, timestamp);
 
   // decoded format is SN12 on Tizen device
   // video format converted from SN12 to YV12
@@ -573,7 +582,8 @@ void WebMediaPlayerEfl::OnMediaDataChange(int format, int height,
   SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
   if (hasVideo() && !video_weblayer_.get()) {
     scoped_refptr<cc::VideoLayer> layer =
-        cc::VideoLayer::Create(compositor_, media::VIDEO_ROTATION_0);
+        cc::VideoLayer::Create(cc_blink::WebLayerImpl::LayerSettings(),
+                               compositor_, media::VIDEO_ROTATION_0);
     video_weblayer_.reset(new cc_blink::WebLayerImpl(layer));
     video_weblayer_->setOpaque(opaque_);
     client_->setWebLayer(video_weblayer_.get());
index 9160c4d..f366e4b 100644 (file)
 #include "cc/layers/video_frame_provider_client_impl.h"
 #include "content/renderer/media/efl/media_source_delegate_efl.h"
 #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 "third_party/WebKit/public/platform/WebMediaPlayer.h"
+#include "third_party/WebKit/public/platform/WebMediaPlayerEncryptedMediaClient.h"
 
 #if defined(TIZEN_MULTIMEDIA_EME_SUPPORT)
 #include "media/blink/encrypted_media_player_support.h"
@@ -35,6 +37,7 @@ class GpuVideoAcceleratorFactories;
 class MediaLog;
 class MediaPlayerEfl;
 class WebMediaPlayerDelegate;
+class WebMediaPlayerEncryptedMediaClient;
 }
 
 namespace content {
@@ -72,6 +75,7 @@ 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 paint(blink::WebCanvas*,
       const blink::WebRect&,
@@ -180,7 +184,7 @@ class WebMediaPlayerEfl
 
   // Message loops for posting tasks on Chrome's main thread. Also used
   // for DCHECKs so methods calls won't execute in the wrong thread.
-  const scoped_refptr<base::MessageLoopProxy> main_loop_;
+  const scoped_refptr<base::SingleThreadTaskRunner> main_loop_;
   scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
 
   // Manager for managing this object and for delegating method calls on
@@ -188,6 +192,7 @@ class WebMediaPlayerEfl
   content::RendererMediaPlayerManager* manager_;
 
   blink::WebMediaPlayerClient* client_;
+  blink::WebMediaPlayerEncryptedMediaClient* encrypted_client_;
 
   scoped_refptr<media::MediaLog> media_log_;
 
index 46d80c1..667af18 100644 (file)
@@ -9,6 +9,7 @@
 #include <gst/pbutils/missing-plugins.h>
 
 #include "base/basictypes.h"
+#include "base/thread_task_runner_handle.h"
 #include "media/base/efl/media_player_manager_efl.h"
 #include "media/base/efl/media_player_util_efl.h"
 #include "ui/gfx/geometry/size.h"
@@ -165,7 +166,7 @@ MediaPlayerBridgeGstreamer::MediaPlayerBridgeGstreamer(
     double volume,
     MediaPlayerManager* manager_in)
     : MediaPlayerEfl(player_id, manager_in),
-      main_loop_(base::MessageLoopProxy::current()),
+      main_loop_(base::ThreadTaskRunnerHandle::Get()),
       pipeline_(NULL),
       appsink_(NULL),
       uridecodebinsrc_(NULL),
index bd76ca9..44f57d3 100644 (file)
@@ -100,7 +100,7 @@ class MEDIA_EXPORT MediaPlayerBridgeGstreamer
 #endif
 
  private:
-  const scoped_refptr<base::MessageLoopProxy> main_loop_;
+  const scoped_refptr<base::SingleThreadTaskRunner> main_loop_;
   GstElement* pipeline_;
   GstElement* appsink_;
   GstElement* uridecodebinsrc_;
@@ -140,8 +140,8 @@ class MEDIA_EXPORT MediaPlayerBridgeGstreamer
 
   bool error_occured_;
 
-  base::RepeatingTimer<MediaPlayerBridgeGstreamer> current_time_update_timer_;
-  base::RepeatingTimer<MediaPlayerBridgeGstreamer> buffering_update_timer_;
+  base::RepeatingTimer current_time_update_timer_;
+  base::RepeatingTimer buffering_update_timer_;
 
   DISALLOW_COPY_AND_ASSIGN(MediaPlayerBridgeGstreamer);
 };
index 6a3b2e9..f1bd1bc 100644 (file)
@@ -10,6 +10,7 @@
 #include <gst/video/videooverlay.h>
 
 #include "base/process/process.h"
+#include "base/thread_task_runner_handle.h"
 #include "media/base/efl/media_player_manager_efl.h"
 #include "media/base/efl/media_player_util_efl.h"
 
index 57dca0a..41a8115 100644 (file)
@@ -196,7 +196,7 @@ class MEDIA_EXPORT MediaSourcePlayerGstreamer : public MediaPlayerEfl,
   bool is_end_reached_;
   bool error_occured_;
 
-  base::RepeatingTimer<MediaSourcePlayerGstreamer> current_time_update_timer_;
+  base::RepeatingTimer current_time_update_timer_;
   int raw_video_frame_size_;
   guint64 video_seek_offset_;
   guint64 audio_seek_offset_;
index 83f8c53..5fe077d 100644 (file)
@@ -7,6 +7,7 @@
 #include "base/basictypes.h"
 #include "base/logging.h"
 #include "base/strings/string_util.h"
+#include "base/thread_task_runner_handle.h"
 #include "media/base/efl/media_player_manager_efl.h"
 #include "media/base/efl/media_player_util_efl.h"
 #include "ui/gfx/geometry/size.h"
index da20779..2cb6b03 100644 (file)
@@ -120,8 +120,8 @@ class MEDIA_EXPORT MediaPlayerBridgeCapi
 
   int delayed_player_state_;
 
-  base::RepeatingTimer<MediaPlayerBridgeCapi> current_time_update_timer_;
-  base::RepeatingTimer<MediaPlayerBridgeCapi> buffering_update_timer_;
+  base::RepeatingTimer current_time_update_timer_;
+  base::RepeatingTimer buffering_update_timer_;
 
   DISALLOW_COPY_AND_ASSIGN(MediaPlayerBridgeCapi);
 };
index 2a04535..da0441c 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "media/video/capture/tizen/video_capture_device_factory_tizen.h"
+#include "media/capture/video/tizen/video_capture_device_factory_tizen.h"
 
 #include <camera.h>
 
index f92821e..9de2489 100644 (file)
@@ -276,7 +276,7 @@ void VideoCaptureDeviceTizen::OnCameraCaptured(camera_preview_data_s* frame,
   gfx::Rect rect(target_resolution.width(), target_resolution.height());
 
   scoped_refptr<VideoFrame> videoframe =
-      VideoFrame::CreateFrame(VideoFrame::I420, target_resolution,
+      VideoFrame::CreateFrame(media::PIXEL_FORMAT_I420, target_resolution,
                               rect, target_resolution, base::TimeDelta());
 
   self->client_->OnIncomingCapturedVideoFrame(self->buffer_.Pass(),
@@ -292,7 +292,7 @@ void VideoCaptureDeviceTizen::OnAllocateAndStart(int width,
   DVLOG(3) << " width:" << width
             << " height:" << height
             << " frame_rate:" << frame_rate
-            << " format:" << VideoCaptureFormat::PixelFormatToString(format);
+            << " format:" << media::VideoPixelFormatToString(format).c_str();
 
   DCHECK_EQ(worker_.message_loop(), base::MessageLoop::current());
 
@@ -394,8 +394,9 @@ void VideoCaptureDeviceTizen::OnStopAndDeAllocate() {
 }
 
 bool VideoCaptureDeviceTizen::AllocateVideoBuffers(int width, int height) {
-  buffer_ = client_->ReserveOutputBuffer(media::PIXEL_FORMAT_I420,
-                                         gfx::Size(width, height));
+  buffer_ = client_->ReserveOutputBuffer(gfx::Size(width, height),
+                                         media::PIXEL_FORMAT_I420,
+                                         media::PIXEL_STORAGE_GPUMEMORYBUFFER);
   return (buffer_.get() != NULL);
 }