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

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

Issue 17563002: Add the SetMediaKeys handler to pass a drm bridge to a MediaSourcePlayer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « media/base/android/media_source_player.h ('k') | no next file » | 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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_source_player.h" 5 #include "media/base/android/media_source_player.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/bind.h" 10 #include "base/bind.h"
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 sampling_rate_(0), 279 sampling_rate_(0),
280 audio_finished_(true), 280 audio_finished_(true),
281 video_finished_(true), 281 video_finished_(true),
282 playing_(false), 282 playing_(false),
283 reconfig_audio_decoder_(false), 283 reconfig_audio_decoder_(false),
284 reconfig_video_decoder_(false), 284 reconfig_video_decoder_(false),
285 audio_access_unit_index_(0), 285 audio_access_unit_index_(0),
286 video_access_unit_index_(0), 286 video_access_unit_index_(0),
287 waiting_for_audio_data_(false), 287 waiting_for_audio_data_(false),
288 waiting_for_video_data_(false), 288 waiting_for_video_data_(false),
289 weak_this_(this) { 289 weak_this_(this),
290 drm_bridge_(NULL) {
290 } 291 }
291 292
292 MediaSourcePlayer::~MediaSourcePlayer() { 293 MediaSourcePlayer::~MediaSourcePlayer() {
293 Release(); 294 Release();
294 } 295 }
295 296
296 void MediaSourcePlayer::SetVideoSurface(gfx::ScopedJavaSurface surface) { 297 void MediaSourcePlayer::SetVideoSurface(gfx::ScopedJavaSurface surface) {
297 surface_ = surface.Pass(); 298 surface_ = surface.Pass();
298 pending_event_ |= SURFACE_CHANGE_EVENT_PENDING; 299 pending_event_ |= SURFACE_CHANGE_EVENT_PENDING;
299 if (pending_event_ & SEEK_EVENT_PENDING) { 300 if (pending_event_ & SEEK_EVENT_PENDING) {
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 received_video_ = params; 465 received_video_ = params;
465 if (!pending_event_) 466 if (!pending_event_)
466 DecodeMoreVideo(); 467 DecodeMoreVideo();
467 } 468 }
468 } 469 }
469 470
470 void MediaSourcePlayer::DurationChanged(const base::TimeDelta& duration) { 471 void MediaSourcePlayer::DurationChanged(const base::TimeDelta& duration) {
471 duration_ = duration; 472 duration_ = duration;
472 } 473 }
473 474
475 void MediaSourcePlayer::SetDrmBridge(MediaDrmBridge* drm_bridge) {
476 drm_bridge_ = drm_bridge;
477 // TODO(qinmin): similar to SetVideoSurface() call, we need to wait for the
478 // current decoder jobs to finish, and then use the ProcessPendingEvents()
479 // to pass the drm_bridge to the decoder jobs.
xhwang 2013/06/21 20:45:11 I am not sure if we could/should do here. So this
qinmin 2013/06/21 20:53:17 This is just to handle a DRM change in the middle
480 }
481
474 void MediaSourcePlayer::OnSeekRequestAck(unsigned seek_request_id) { 482 void MediaSourcePlayer::OnSeekRequestAck(unsigned seek_request_id) {
475 // Do nothing until the most recent seek request is processed. 483 // Do nothing until the most recent seek request is processed.
476 if (seek_request_id_ != seek_request_id) 484 if (seek_request_id_ != seek_request_id)
477 return; 485 return;
478 pending_event_ &= ~SEEK_EVENT_PENDING; 486 pending_event_ &= ~SEEK_EVENT_PENDING;
479 OnSeekComplete(); 487 OnSeekComplete();
480 ProcessPendingEvents(); 488 ProcessPendingEvents();
481 } 489 }
482 490
483 void MediaSourcePlayer::UpdateTimestamps( 491 void MediaSourcePlayer::UpdateTimestamps(
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 reconfig_video_decoder_ = false; 698 reconfig_video_decoder_ = false;
691 } 699 }
692 700
693 // Inform the fullscreen view the player is ready. 701 // Inform the fullscreen view the player is ready.
694 // TODO(qinmin): refactor MediaPlayerBridge so that we have a better way 702 // TODO(qinmin): refactor MediaPlayerBridge so that we have a better way
695 // to inform ContentVideoView. 703 // to inform ContentVideoView.
696 OnMediaMetadataChanged(duration_, width_, height_, true); 704 OnMediaMetadataChanged(duration_, width_, height_, true);
697 } 705 }
698 706
699 } // namespace media 707 } // namespace media
OLDNEW
« no previous file with comments | « media/base/android/media_source_player.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698