Merge lp:~justinmcp/oxide/mediahub-fixes-1.10 into lp:oxide/1.10

Proposed by Justin McPherson
Status: Merged
Merged at revision: 1208
Proposed branch: lp:~justinmcp/oxide/mediahub-fixes-1.10
Merge into: lp:oxide/1.10
Diff against target: 291 lines (+69/-13)
12 files modified
shared/browser/media/mediahub_player_shim.cc (+15/-2)
shared/browser/media/mediahub_player_shim.h (+6/-0)
shared/browser/media/oxide_browser_media_player_manager.cc (+8/-0)
shared/browser/media/oxide_browser_media_player_manager.h (+1/-0)
shared/browser/media/oxide_media_player.h (+2/-0)
shared/browser/media/oxide_media_web_contents_observer.cc (+3/-0)
shared/browser/media/oxide_player_media_hub.cc (+17/-8)
shared/browser/media/oxide_player_media_hub.h (+2/-0)
shared/common/oxide_messages.h (+5/-0)
shared/renderer/media/oxide_renderer_media_player_manager.cc (+4/-0)
shared/renderer/media/oxide_renderer_media_player_manager.h (+2/-0)
shared/renderer/media/oxide_web_media_player.cc (+4/-3)
To merge this branch: bzr merge lp:~justinmcp/oxide/mediahub-fixes-1.10
Reviewer Review Type Date Requested Status
Chris Coulson Approve
Review via email: mp+272334@code.launchpad.net

Commit message

Small fixes and some changes to increase robustness in MH audio implementation

To post a comment you must log in.
1194. By Justin McPherson

Fix reporting of seekable status

Revision history for this message
Chris Coulson (chrisccoulson) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'shared/browser/media/mediahub_player_shim.cc'
--- shared/browser/media/mediahub_player_shim.cc 2015-02-17 14:22:40 +0000
+++ shared/browser/media/mediahub_player_shim.cc 2015-10-01 23:59:09 +0000
@@ -138,9 +138,9 @@
138 try {138 try {
139 Player* player = static_cast<Player*>(handle);139 Player* player = static_cast<Player*>(handle);
140 if (player != 0) {140 if (player != 0) {
141 if (player->playback_status().get() == Player::playing);141 if (player->playback_status().get() == Player::playing) {
142 player->stop();142 player->stop();
143143 }
144 core::ubuntu::media::Player::HeadersType headers;144 core::ubuntu::media::Player::HeadersType headers;
145 if (!cookies.empty()) {145 if (!cookies.empty()) {
146 headers["Cookie"] = cookies;146 headers["Cookie"] = cookies;
@@ -334,6 +334,19 @@
334}334}
335335
336void336void
337mediahub_set_rate(MediaHubClientHandle handle, double rate)
338{
339 try {
340 Player* player = static_cast<Player*>(handle);
341 if (player) {
342 player->playback_rate().set(rate);
343 }
344 } catch (std::runtime_error& error) {
345 std::cerr << __PRETTY_FUNCTION__ << " " << error.what() << std::endl;
346 }
347}
348
349void
337mediahub_set_player_lifetime(MediaHubClientHandle handle, Lifetime lifetime)350mediahub_set_player_lifetime(MediaHubClientHandle handle, Lifetime lifetime)
338{351{
339 try {352 try {
340353
=== modified file 'shared/browser/media/mediahub_player_shim.h'
--- shared/browser/media/mediahub_player_shim.h 2015-02-17 14:22:40 +0000
+++ shared/browser/media/mediahub_player_shim.h 2015-10-01 23:59:09 +0000
@@ -129,6 +129,12 @@
129void129void
130mediahub_set_volume(MediaHubClientHandle, double volume);130mediahub_set_volume(MediaHubClientHandle, double volume);
131131
132
133/**
134 *
135 */
136void mediahub_set_rate(MediaHubClientHandle, double rate);
137
132/**138/**
133 * Set lifetime of player session.139 * Set lifetime of player session.
134 */140 */
135141
=== modified file 'shared/browser/media/oxide_browser_media_player_manager.cc'
--- shared/browser/media/oxide_browser_media_player_manager.cc 2015-06-29 16:47:46 +0000
+++ shared/browser/media/oxide_browser_media_player_manager.cc 2015-10-01 23:59:09 +0000
@@ -72,6 +72,14 @@
72 }72 }
73}73}
7474
75void BrowserMediaPlayerManager::OnSetRate(int player_id, double rate) {
76 MediaPlayer* player = GetPlayer(player_id);
77
78 if (player) {
79 player->SetRate(rate);
80 }
81}
82
75void BrowserMediaPlayerManager::OnSetPoster(int player_id, const GURL& url) {83void BrowserMediaPlayerManager::OnSetPoster(int player_id, const GURL& url) {
76 // To be overridden by subclasses.84 // To be overridden by subclasses.
77}85}
7886
=== modified file 'shared/browser/media/oxide_browser_media_player_manager.h'
--- shared/browser/media/oxide_browser_media_player_manager.h 2015-06-30 18:35:36 +0000
+++ shared/browser/media/oxide_browser_media_player_manager.h 2015-10-01 23:59:09 +0000
@@ -52,6 +52,7 @@
52 void OnSeek(int player_id, const base::TimeDelta& pos);52 void OnSeek(int player_id, const base::TimeDelta& pos);
53 void OnPause(int player_id, bool is_media_related_action);53 void OnPause(int player_id, bool is_media_related_action);
54 void OnSetVolume(int player_id, double volume);54 void OnSetVolume(int player_id, double volume);
55 void OnSetRate(int player_id, double rate);
55 void OnSetPoster(int player_id, const GURL& poster);56 void OnSetPoster(int player_id, const GURL& poster);
56 void OnReleaseResources(int player_id);57 void OnReleaseResources(int player_id);
57 void OnDestroyPlayer(int player_id);58 void OnDestroyPlayer(int player_id);
5859
=== modified file 'shared/browser/media/oxide_media_player.h'
--- shared/browser/media/oxide_media_player.h 2015-01-06 06:28:47 +0000
+++ shared/browser/media/oxide_media_player.h 2015-10-01 23:59:09 +0000
@@ -44,6 +44,8 @@
4444
45 // Set the player volume.45 // Set the player volume.
46 virtual void SetVolume(double volume) = 0;46 virtual void SetVolume(double volume) = 0;
47
48 virtual void SetRate(double rate) = 0;
4749
48 // Get the media information from the player.50 // Get the media information from the player.
49 virtual int GetVideoWidth() = 0;51 virtual int GetVideoWidth() = 0;
5052
=== modified file 'shared/browser/media/oxide_media_web_contents_observer.cc'
--- shared/browser/media/oxide_media_web_contents_observer.cc 2015-01-19 22:49:05 +0000
+++ shared/browser/media/oxide_media_web_contents_observer.cc 2015-10-01 23:59:09 +0000
@@ -42,6 +42,9 @@
42 IPC_MESSAGE_FORWARD(OxideHostMsg_MediaPlayer_SetVolume,42 IPC_MESSAGE_FORWARD(OxideHostMsg_MediaPlayer_SetVolume,
43 GetMediaPlayerManager(render_frame_host),43 GetMediaPlayerManager(render_frame_host),
44 BrowserMediaPlayerManager::OnSetVolume)44 BrowserMediaPlayerManager::OnSetVolume)
45 IPC_MESSAGE_FORWARD(OxideHostMsg_MediaPlayer_SetRate,
46 GetMediaPlayerManager(render_frame_host),
47 BrowserMediaPlayerManager::OnSetRate)
45 IPC_MESSAGE_FORWARD(OxideHostMsg_MediaPlayer_SetPoster,48 IPC_MESSAGE_FORWARD(OxideHostMsg_MediaPlayer_SetPoster,
46 GetMediaPlayerManager(render_frame_host),49 GetMediaPlayerManager(render_frame_host),
47 BrowserMediaPlayerManager::OnSetPoster)50 BrowserMediaPlayerManager::OnSetPoster)
4851
=== modified file 'shared/browser/media/oxide_player_media_hub.cc'
--- shared/browser/media/oxide_player_media_hub.cc 2015-08-25 20:42:44 +0000
+++ shared/browser/media/oxide_player_media_hub.cc 2015-10-01 23:59:09 +0000
@@ -32,6 +32,7 @@
32 height_(0),32 height_(0),
33 duration_(0),33 duration_(0),
34 media_hub_client_(0),34 media_hub_client_(0),
35 status_(MediaHubDelegate::null),
35 weak_factory_(this) {36 weak_factory_(this) {
3637
37 const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();38 const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
@@ -112,11 +113,11 @@
112}113}
113114
114base::TimeDelta MediaPlayerMediaHub::GetCurrentTime() {115base::TimeDelta MediaPlayerMediaHub::GetCurrentTime() {
115 return base::TimeDelta::FromMilliseconds(mediahub_get_position(media_hub_client_));116 return base::TimeDelta::FromMicroseconds(mediahub_get_position(media_hub_client_) / 1000);
116}117}
117118
118base::TimeDelta MediaPlayerMediaHub::GetDuration() {119base::TimeDelta MediaPlayerMediaHub::GetDuration() {
119 return base::TimeDelta::FromMilliseconds(mediahub_get_duration(media_hub_client_));120 return base::TimeDelta::FromMicroseconds(mediahub_get_duration(media_hub_client_) / 1000);
120}121}
121122
122void MediaPlayerMediaHub::Release() {123void MediaPlayerMediaHub::Release() {
@@ -126,6 +127,10 @@
126 mediahub_set_volume(media_hub_client_, volume);127 mediahub_set_volume(media_hub_client_, volume);
127}128}
128129
130void MediaPlayerMediaHub::SetRate(double rate) {
131 mediahub_set_rate(media_hub_client_, rate);
132}
133
129bool MediaPlayerMediaHub::CanPause() {134bool MediaPlayerMediaHub::CanPause() {
130 return mediahub_can_pause(media_hub_client_) != 0;135 return mediahub_can_pause(media_hub_client_) != 0;
131}136}
@@ -159,22 +164,26 @@
159}164}
160165
161void MediaPlayerMediaHub::playback_status_changed(MediaHubDelegate::Status status) {166void MediaPlayerMediaHub::playback_status_changed(MediaHubDelegate::Status status) {
167 if (status == status_) {
168 return;
169 }
170 status_ = status;
162 switch (status) {171 switch (status) {
163 case null:172 case null:
164 case ready:173 case ready:
165 manager_->OnMediaMetadataChanged(player_id(),174 manager_->OnMediaMetadataChanged(player_id(),
166 base::TimeDelta::FromMilliseconds(mediahub_get_duration(media_hub_client_)),175 base::TimeDelta::FromMicroseconds(mediahub_get_duration(media_hub_client_) / 1000),
167 0, 0, true);176 0, 0, true);
168 break;177 break;
169 case playing:178 case playing:
170 manager_->OnMediaMetadataChanged(player_id(),179 manager_->OnMediaMetadataChanged(player_id(),
171 base::TimeDelta::FromMilliseconds(mediahub_get_duration(media_hub_client_)),180 base::TimeDelta::FromMicroseconds(mediahub_get_duration(media_hub_client_) / 1000),
172 0, 0, true);181 0, 0, true);
173 manager_->OnPlayerPlay(player_id());182 manager_->OnPlayerPlay(player_id());
174 break;183 break;
175 case paused:184 case paused:
176 manager_->OnMediaMetadataChanged(player_id(),185 manager_->OnMediaMetadataChanged(player_id(),
177 base::TimeDelta::FromMilliseconds(mediahub_get_duration(media_hub_client_)),186 base::TimeDelta::FromMicroseconds(mediahub_get_duration(media_hub_client_) / 1000),
178 0, 0, true);187 0, 0, true);
179 manager_->OnPlayerPause(player_id());188 manager_->OnPlayerPause(player_id());
180 break;189 break;
@@ -201,14 +210,14 @@
201210
202 if (duration != duration_) {211 if (duration != duration_) {
203 manager_->OnMediaMetadataChanged(player_id(),212 manager_->OnMediaMetadataChanged(player_id(),
204 base::TimeDelta::FromMilliseconds(duration),213 base::TimeDelta::FromMicroseconds(duration / 1000),
205 0, 0, true);214 0, 0, true);
206 duration_ = duration;215 duration_ = duration;
207 }216 }
208217
209 manager_->OnTimeUpdate(player_id(),218 manager_->OnTimeUpdate(player_id(),
210 base::TimeDelta::FromMilliseconds(219 base::TimeDelta::FromMicroseconds(
211 mediahub_get_position(media_hub_client_)));220 mediahub_get_position(media_hub_client_) / 1000));
212}221}
213222
214} // namespace media223} // namespace media
215224
=== modified file 'shared/browser/media/oxide_player_media_hub.h'
--- shared/browser/media/oxide_player_media_hub.h 2015-02-17 14:22:40 +0000
+++ shared/browser/media/oxide_player_media_hub.h 2015-10-01 23:59:09 +0000
@@ -48,6 +48,7 @@
48 void SeekTo(base::TimeDelta timestamp) override;48 void SeekTo(base::TimeDelta timestamp) override;
49 void Release() override;49 void Release() override;
50 void SetVolume(double volume) override;50 void SetVolume(double volume) override;
51 void SetRate(double rate) override;
51 int GetVideoWidth() override;52 int GetVideoWidth() override;
52 int GetVideoHeight() override;53 int GetVideoHeight() override;
53 base::TimeDelta GetCurrentTime() override;54 base::TimeDelta GetCurrentTime() override;
@@ -98,6 +99,7 @@
98 std::string cookies_;99 std::string cookies_;
99100
100 MediaHubClientHandle media_hub_client_;101 MediaHubClientHandle media_hub_client_;
102 MediaHubDelegate::Status status_;
101103
102 base::WeakPtrFactory<MediaPlayerMediaHub> weak_factory_;104 base::WeakPtrFactory<MediaPlayerMediaHub> weak_factory_;
103105
104106
=== modified file 'shared/common/oxide_messages.h'
--- shared/common/oxide_messages.h 2015-06-29 17:52:40 +0000
+++ shared/common/oxide_messages.h 2015-10-01 23:59:09 +0000
@@ -185,6 +185,11 @@
185 int /* player_id */,185 int /* player_id */,
186 double /* volume */)186 double /* volume */)
187187
188// Set the rate.
189IPC_MESSAGE_ROUTED2(OxideHostMsg_MediaPlayer_SetRate,
190 int /* player_id */,
191 double /* rate */)
192
188// Set the poster image.193// Set the poster image.
189IPC_MESSAGE_ROUTED2(OxideHostMsg_MediaPlayer_SetPoster,194IPC_MESSAGE_ROUTED2(OxideHostMsg_MediaPlayer_SetPoster,
190 int /* player_id */,195 int /* player_id */,
191196
=== modified file 'shared/renderer/media/oxide_renderer_media_player_manager.cc'
--- shared/renderer/media/oxide_renderer_media_player_manager.cc 2015-01-20 17:26:44 +0000
+++ shared/renderer/media/oxide_renderer_media_player_manager.cc 2015-10-01 23:59:09 +0000
@@ -91,6 +91,10 @@
91 Send(new OxideHostMsg_MediaPlayer_SetVolume(routing_id(), player_id, volume));91 Send(new OxideHostMsg_MediaPlayer_SetVolume(routing_id(), player_id, volume));
92}92}
9393
94void RendererMediaPlayerManager::SetRate(int player_id, double rate) {
95 Send(new OxideHostMsg_MediaPlayer_SetRate(routing_id(), player_id, rate));
96}
97
94void RendererMediaPlayerManager::SetPoster(int player_id, const GURL& poster) {98void RendererMediaPlayerManager::SetPoster(int player_id, const GURL& poster) {
95 Send(new OxideHostMsg_MediaPlayer_SetPoster(routing_id(), player_id, poster));99 Send(new OxideHostMsg_MediaPlayer_SetPoster(routing_id(), player_id, poster));
96}100}
97101
=== modified file 'shared/renderer/media/oxide_renderer_media_player_manager.h'
--- shared/renderer/media/oxide_renderer_media_player_manager.h 2014-12-10 04:14:21 +0000
+++ shared/renderer/media/oxide_renderer_media_player_manager.h 2015-10-01 23:59:09 +0000
@@ -56,6 +56,8 @@
56 // Sets the player volume.56 // Sets the player volume.
57 void SetVolume(int player_id, double volume);57 void SetVolume(int player_id, double volume);
5858
59 void SetRate(int player_id, double rate);
60
59 // Sets the poster image.61 // Sets the poster image.
60 void SetPoster(int player_id, const GURL& poster);62 void SetPoster(int player_id, const GURL& poster);
6163
6264
=== modified file 'shared/renderer/media/oxide_web_media_player.cc'
--- shared/renderer/media/oxide_web_media_player.cc 2015-08-25 20:42:44 +0000
+++ shared/renderer/media/oxide_web_media_player.cc 2015-10-01 23:59:09 +0000
@@ -201,7 +201,7 @@
201}201}
202202
203void WebMediaPlayer::seek(double seconds) {203void WebMediaPlayer::seek(double seconds) {
204 NOTIMPLEMENTED();204 player_manager_->Seek(player_id_, base::TimeDelta::FromSeconds(seconds));
205}205}
206206
207bool WebMediaPlayer::supportsSave() const {207bool WebMediaPlayer::supportsSave() const {
@@ -209,7 +209,7 @@
209}209}
210210
211void WebMediaPlayer::setRate(double rate) {211void WebMediaPlayer::setRate(double rate) {
212 NOTIMPLEMENTED();212 player_manager_->SetRate(player_id_, rate);
213}213}
214214
215void WebMediaPlayer::setSinkId(215void WebMediaPlayer::setSinkId(
@@ -325,7 +325,8 @@
325}325}
326326
327WebTimeRanges WebMediaPlayer::seekable() const {327WebTimeRanges WebMediaPlayer::seekable() const {
328 return buffered_;328 const blink::WebTimeRange seekable_range(0.0, duration());
329 return blink::WebTimeRanges(&seekable_range, 1);
329}330}
330331
331double WebMediaPlayer::maxTimeSeekable() const {332double WebMediaPlayer::maxTimeSeekable() const {

Subscribers

People subscribed via source and target branches