void OnFallback(media::PipelineStatus fallback) override {}
void OnEnded() override;
void OnStatisticsUpdate(const media::PipelineStatistics& stats) override;
+ void OnSeekableTimeChange(base::TimeDelta min_time,
+ base::TimeDelta max_time,
+ bool is_live) override;
void OnBufferingStateChange(
media::BufferingState new_buffering_state,
media::BufferingStateChangeReason reason) override;
void OnVideoSizeChange(const gfx::Size& size) override;
void OnDurationChange(base::TimeDelta duration) override;
void OnBufferUpdate(base::TimeDelta time) override;
+
+#if BUILDFLAG(IS_TIZEN_TV)
+ bool PlaybackNotificationEnabled();
+ void NotifyPlaybackState(int state,
+ int player_id = 0,
+ const std::string& url = "",
+ const std::string& mime_type = "",
+ bool* media_resource_acquired = NULL,
+ std::string* translated_url = NULL,
+ std::string* drm_info = NULL) override;
+ void OnLivePlaybackComplete() override;
+#endif
+
#if defined(TIZEN_TBM_SUPPORT)
void OnNewTbmFrameAvailable(uint32_t player_id,
gfx::TbmBufferHandle tbm_handle,
uint32_t height) override;
#endif
+#if BUILDFLAG(IS_TIZEN_TV)
+ content::WebContentsDelegate* GetWebContentsDelegate() const override;
+#endif
+
#if defined(TIZEN_VIDEO_HOLE)
void SetVideoHole(bool is_video_hole) final;
void SetMediaGeometry(const gfx::RectF& rect) final;
gfx::Rect GetViewportRect() const;
#endif
+#if BUILDFLAG(IS_TIZEN_TV)
+ void SetContentMimeType(const std::string& mime_type) override;
+ void SetParentalRatingResult(bool is_pass) override;
+#endif
+
private:
const float kDefaultVolume = 1.0;
void SetStreamInfo();
void SetPlayerVolume();
+ void SetPlayerInitialize();
+ void SetPlayerPrepare();
#if defined(TIZEN_VIDEO_HOLE)
void SetPlayerVideoHole();
void SetPlayerMediaGeometry();
void OnWebViewMoved();
#endif
+ content::WebContents* GetWebContents() const;
media::RendererClient* client_ = nullptr;
gfx::RectF video_rect_;
#endif
+#if BUILDFLAG(IS_TIZEN_TV)
+ int notify_playback_state_;
+ // Stores the mime type. Required for URL streams which are DASH
+ // content, so that we can set it to the media_player_ before calling
+ // initialize / prepare.
+ std::string mime_type_;
+#endif
+
WebContents* web_contents_ = nullptr;
base::WeakPtrFactory<TizenRendererImpl> weak_factory_{this};