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>
-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
"
}
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
+++ /dev/null
-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
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)
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) {
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_ =
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;
}
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(
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(
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 =
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);
}
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);
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_;
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();
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,
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,
#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"
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&,
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
DCHECK(!worker_.IsRunning() ||
worker_.message_loop() == base::MessageLoop::current());
state_ = kError;
- client_->OnError(reason);
+ client_->OnError(FROM_HERE, reason);
}
} // namespace media