Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(632)

Side by Side Diff: media/base/android/media_player_bridge.cc

Issue 972973002: Revert of Propagate audible state from player to the containing tab (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/base/android/media_player_android.cc ('k') | media/base/android/media_player_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/base/android/media_player_bridge.h" 5 #include "media/base/android/media_player_bridge.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 const int duration_ms = 348 const int duration_ms =
349 Java_MediaPlayerBridge_getDuration(env, j_media_player_bridge_.obj()); 349 Java_MediaPlayerBridge_getDuration(env, j_media_player_bridge_.obj());
350 return duration_ms < 0 ? media::kInfiniteDuration() 350 return duration_ms < 0 ? media::kInfiniteDuration()
351 : base::TimeDelta::FromMilliseconds(duration_ms); 351 : base::TimeDelta::FromMilliseconds(duration_ms);
352 } 352 }
353 353
354 void MediaPlayerBridge::Release() { 354 void MediaPlayerBridge::Release() {
355 if (j_media_player_bridge_.is_null()) 355 if (j_media_player_bridge_.is_null())
356 return; 356 return;
357 357
358 SetAudible(false);
359
360 time_update_timer_.Stop(); 358 time_update_timer_.Stop();
361 if (prepared_) { 359 if (prepared_) {
362 pending_seek_ = GetCurrentTime(); 360 pending_seek_ = GetCurrentTime();
363 should_seek_on_prepare_ = true; 361 should_seek_on_prepare_ = true;
364 } 362 }
365 363
366 prepared_ = false; 364 prepared_ = false;
367 pending_play_ = false; 365 pending_play_ = false;
368 SetVideoSurface(gfx::ScopedJavaSurface()); 366 SetVideoSurface(gfx::ScopedJavaSurface());
369 JNIEnv* env = base::android::AttachCurrentThread(); 367 JNIEnv* env = base::android::AttachCurrentThread();
370 Java_MediaPlayerBridge_release(env, j_media_player_bridge_.obj()); 368 Java_MediaPlayerBridge_release(env, j_media_player_bridge_.obj());
371 j_media_player_bridge_.Reset(); 369 j_media_player_bridge_.Reset();
372 DetachListener(); 370 DetachListener();
373 } 371 }
374 372
375 void MediaPlayerBridge::SetVolume(double volume) { 373 void MediaPlayerBridge::SetVolume(double volume) {
376 volume_ = volume; 374 if (j_media_player_bridge_.is_null()) {
377 375 volume_ = volume;
378 if (j_media_player_bridge_.is_null())
379 return; 376 return;
377 }
380 378
381 JNIEnv* env = base::android::AttachCurrentThread(); 379 JNIEnv* env = base::android::AttachCurrentThread();
382 CHECK(env); 380 CHECK(env);
383
384 // Update the audible state if we are playing.
385 jboolean is_playing = Java_MediaPlayerBridge_isPlaying(
386 env, j_media_player_bridge_.obj());
387 if (is_playing)
388 SetAudible(volume_ > 0);
389
390 Java_MediaPlayerBridge_setVolume( 381 Java_MediaPlayerBridge_setVolume(
391 env, j_media_player_bridge_.obj(), volume_); 382 env, j_media_player_bridge_.obj(), volume);
392 } 383 }
393 384
394 void MediaPlayerBridge::OnVideoSizeChanged(int width, int height) { 385 void MediaPlayerBridge::OnVideoSizeChanged(int width, int height) {
395 width_ = width; 386 width_ = width;
396 height_ = height; 387 height_ = height;
397 MediaPlayerAndroid::OnVideoSizeChanged(width, height); 388 MediaPlayerAndroid::OnVideoSizeChanged(width, height);
398 } 389 }
399 390
400 void MediaPlayerBridge::OnPlaybackComplete() { 391 void MediaPlayerBridge::OnPlaybackComplete() {
401 SetAudible(false);
402 time_update_timer_.Stop(); 392 time_update_timer_.Stop();
403 MediaPlayerAndroid::OnPlaybackComplete(); 393 MediaPlayerAndroid::OnPlaybackComplete();
404 } 394 }
405 395
406 void MediaPlayerBridge::OnMediaInterrupted() { 396 void MediaPlayerBridge::OnMediaInterrupted() {
407 SetAudible(false);
408 time_update_timer_.Stop(); 397 time_update_timer_.Stop();
409 MediaPlayerAndroid::OnMediaInterrupted(); 398 MediaPlayerAndroid::OnMediaInterrupted();
410 } 399 }
411 400
412 void MediaPlayerBridge::OnMediaPrepared() { 401 void MediaPlayerBridge::OnMediaPrepared() {
413 if (j_media_player_bridge_.is_null()) 402 if (j_media_player_bridge_.is_null())
414 return; 403 return;
415 404
416 prepared_ = true; 405 prepared_ = true;
417 duration_ = GetDuration(); 406 duration_ = GetDuration();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 446
458 void MediaPlayerBridge::StartInternal() { 447 void MediaPlayerBridge::StartInternal() {
459 JNIEnv* env = base::android::AttachCurrentThread(); 448 JNIEnv* env = base::android::AttachCurrentThread();
460 Java_MediaPlayerBridge_start(env, j_media_player_bridge_.obj()); 449 Java_MediaPlayerBridge_start(env, j_media_player_bridge_.obj());
461 if (!time_update_timer_.IsRunning()) { 450 if (!time_update_timer_.IsRunning()) {
462 time_update_timer_.Start( 451 time_update_timer_.Start(
463 FROM_HERE, 452 FROM_HERE,
464 base::TimeDelta::FromMilliseconds(kTimeUpdateInterval), 453 base::TimeDelta::FromMilliseconds(kTimeUpdateInterval),
465 this, &MediaPlayerBridge::OnTimeUpdateTimerFired); 454 this, &MediaPlayerBridge::OnTimeUpdateTimerFired);
466 } 455 }
467
468 SetAudible(volume_ > 0);
469 } 456 }
470 457
471 void MediaPlayerBridge::PauseInternal() { 458 void MediaPlayerBridge::PauseInternal() {
472 SetAudible(false);
473
474 JNIEnv* env = base::android::AttachCurrentThread(); 459 JNIEnv* env = base::android::AttachCurrentThread();
475 Java_MediaPlayerBridge_pause(env, j_media_player_bridge_.obj()); 460 Java_MediaPlayerBridge_pause(env, j_media_player_bridge_.obj());
476 time_update_timer_.Stop(); 461 time_update_timer_.Stop();
477 } 462 }
478 463
479 void MediaPlayerBridge::PendingSeekInternal(const base::TimeDelta& time) { 464 void MediaPlayerBridge::PendingSeekInternal(const base::TimeDelta& time) {
480 SeekInternal(time); 465 SeekInternal(time);
481 } 466 }
482 467
483 void MediaPlayerBridge::SeekInternal(base::TimeDelta time) { 468 void MediaPlayerBridge::SeekInternal(base::TimeDelta time) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 510
526 GURL MediaPlayerBridge::GetUrl() { 511 GURL MediaPlayerBridge::GetUrl() {
527 return url_; 512 return url_;
528 } 513 }
529 514
530 GURL MediaPlayerBridge::GetFirstPartyForCookies() { 515 GURL MediaPlayerBridge::GetFirstPartyForCookies() {
531 return first_party_for_cookies_; 516 return first_party_for_cookies_;
532 } 517 }
533 518
534 } // namespace media 519 } // namespace media
OLDNEW
« no previous file with comments | « media/base/android/media_player_android.cc ('k') | media/base/android/media_player_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698