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

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

Issue 1551103002: Convert Pass()→std::move() in //media (Android Cast edition) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_codec_player.h" 5 #include "media/base/android/media_codec_player.h"
6 6
7 #include <utility>
8
7 #include "base/barrier_closure.h" 9 #include "base/barrier_closure.h"
8 #include "base/bind.h" 10 #include "base/bind.h"
9 #include "base/bind_helpers.h" 11 #include "base/bind_helpers.h"
10 #include "base/lazy_instance.h" 12 #include "base/lazy_instance.h"
11 #include "base/logging.h" 13 #include "base/logging.h"
12 #include "base/thread_task_runner_handle.h" 14 #include "base/thread_task_runner_handle.h"
13 #include "base/threading/thread.h" 15 #include "base/threading/thread.h"
14 #include "media/base/android/media_codec_audio_decoder.h" 16 #include "media/base/android/media_codec_audio_decoder.h"
15 #include "media/base/android/media_codec_video_decoder.h" 17 #include "media/base/android/media_codec_video_decoder.h"
16 #include "media/base/android/media_drm_bridge.h" 18 #include "media/base/android/media_drm_bridge.h"
(...skipping 21 matching lines...) Expand all
38 int player_id, 40 int player_id,
39 base::WeakPtr<MediaPlayerManager> manager, 41 base::WeakPtr<MediaPlayerManager> manager,
40 const OnDecoderResourcesReleasedCB& on_decoder_resources_released_cb, 42 const OnDecoderResourcesReleasedCB& on_decoder_resources_released_cb,
41 scoped_ptr<DemuxerAndroid> demuxer, 43 scoped_ptr<DemuxerAndroid> demuxer,
42 const GURL& frame_url) 44 const GURL& frame_url)
43 : MediaPlayerAndroid(player_id, 45 : MediaPlayerAndroid(player_id,
44 manager.get(), 46 manager.get(),
45 on_decoder_resources_released_cb, 47 on_decoder_resources_released_cb,
46 frame_url), 48 frame_url),
47 ui_task_runner_(base::ThreadTaskRunnerHandle::Get()), 49 ui_task_runner_(base::ThreadTaskRunnerHandle::Get()),
48 demuxer_(demuxer.Pass()), 50 demuxer_(std::move(demuxer)),
49 state_(kStatePaused), 51 state_(kStatePaused),
50 interpolator_(&default_tick_clock_), 52 interpolator_(&default_tick_clock_),
51 pending_start_(false), 53 pending_start_(false),
52 pending_seek_(kNoTimestamp()), 54 pending_seek_(kNoTimestamp()),
53 cdm_registration_id_(0), 55 cdm_registration_id_(0),
54 key_is_required_(false), 56 key_is_required_(false),
55 key_is_added_(false), 57 key_is_added_(false),
56 media_weak_factory_(this) { 58 media_weak_factory_(this) {
57 DCHECK(ui_task_runner_->BelongsToCurrentThread()); 59 DCHECK(ui_task_runner_->BelongsToCurrentThread());
58 60
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 } 154 }
153 155
154 // Do not set unprotected surface if we know that we need a protected one. 156 // Do not set unprotected surface if we know that we need a protected one.
155 // Empty surface means the surface removal and we always allow for it. 157 // Empty surface means the surface removal and we always allow for it.
156 if (!surface_is_empty && video_decoder_->IsProtectedSurfaceRequired() && 158 if (!surface_is_empty && video_decoder_->IsProtectedSurfaceRequired() &&
157 !surface.is_protected()) { 159 !surface.is_protected()) {
158 DVLOG(0) << __FUNCTION__ << ": surface is not protected, ignoring"; 160 DVLOG(0) << __FUNCTION__ << ": surface is not protected, ignoring";
159 return; 161 return;
160 } 162 }
161 163
162 video_decoder_->SetVideoSurface(surface.Pass()); 164 video_decoder_->SetVideoSurface(std::move(surface));
163 165
164 if (surface_is_empty) { 166 if (surface_is_empty) {
165 // Remove video surface. 167 // Remove video surface.
166 switch (state_) { 168 switch (state_) {
167 case kStatePlaying: 169 case kStatePlaying:
168 if (VideoFinished()) 170 if (VideoFinished())
169 break; 171 break;
170 172
171 DVLOG(1) << __FUNCTION__ << ": stopping and restarting"; 173 DVLOG(1) << __FUNCTION__ << ": stopping and restarting";
172 // Stop decoders as quickly as possible. 174 // Stop decoders as quickly as possible.
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
950 952
951 if (media_crypto->is_null()) { 953 if (media_crypto->is_null()) {
952 // TODO(timav): Fail playback nicely here if needed. Note that we could get 954 // TODO(timav): Fail playback nicely here if needed. Note that we could get
953 // here even though the stream to play is unencrypted and therefore 955 // here even though the stream to play is unencrypted and therefore
954 // MediaCrypto is not needed. In that case, we may ignore this error and 956 // MediaCrypto is not needed. In that case, we may ignore this error and
955 // continue playback, or fail the playback. 957 // continue playback, or fail the playback.
956 LOG(ERROR) << "MediaCrypto creation failed."; 958 LOG(ERROR) << "MediaCrypto creation failed.";
957 return; 959 return;
958 } 960 }
959 961
960 media_crypto_ = media_crypto.Pass(); 962 media_crypto_ = std::move(media_crypto);
961 963
962 if (audio_decoder_) { 964 if (audio_decoder_) {
963 audio_decoder_->SetNeedsReconfigure(); 965 audio_decoder_->SetNeedsReconfigure();
964 } 966 }
965 967
966 if (video_decoder_) { 968 if (video_decoder_) {
967 video_decoder_->SetNeedsReconfigure(); 969 video_decoder_->SetNeedsReconfigure();
968 video_decoder_->SetProtectedSurfaceRequired(needs_protected_surface); 970 video_decoder_->SetProtectedSurfaceRequired(needs_protected_surface);
969 } 971 }
970 972
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
1413 RETURN_STRING(kStateWaitingForMediaCrypto); 1415 RETURN_STRING(kStateWaitingForMediaCrypto);
1414 RETURN_STRING(kStateWaitingForSeek); 1416 RETURN_STRING(kStateWaitingForSeek);
1415 RETURN_STRING(kStateError); 1417 RETURN_STRING(kStateError);
1416 } 1418 }
1417 return nullptr; // crash early 1419 return nullptr; // crash early
1418 } 1420 }
1419 1421
1420 #undef RETURN_STRING 1422 #undef RETURN_STRING
1421 1423
1422 } // namespace media 1424 } // namespace media
OLDNEW
« no previous file with comments | « media/base/android/media_codec_decoder_unittest.cc ('k') | media/base/android/media_codec_player_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698