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

Unified Diff: media/filters/gpu_video_decoder.cc

Issue 2382113002: Use clearer names for the PictureBuffer texture id members (Closed)
Patch Set: Added comments Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/pepper/video_decoder_shim.cc ('k') | media/gpu/avda_picture_buffer_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/gpu_video_decoder.cc
diff --git a/media/filters/gpu_video_decoder.cc b/media/filters/gpu_video_decoder.cc
index 339d5910cd6f36115b88e12344c88f6fe55d57ab..35fd15993f05382aafe9244a99c998ae15313bf8 100644
--- a/media/filters/gpu_video_decoder.cc
+++ b/media/filters/gpu_video_decoder.cc
@@ -321,9 +321,8 @@ void GpuVideoDecoder::NotifyInitializationComplete(bool success) {
void GpuVideoDecoder::DestroyPictureBuffers(PictureBufferMap* buffers) {
DCheckGpuVideoAcceleratorFactoriesTaskRunnerIsCurrent();
- for (PictureBufferMap::iterator it = buffers->begin(); it != buffers->end();
- ++it) {
- for (uint32_t id : it->second.texture_ids())
+ for (const auto& kv : *buffers) {
+ for (uint32_t id : kv.second.client_texture_ids())
factories_->DeleteTexture(id);
}
@@ -337,12 +336,8 @@ void GpuVideoDecoder::DestroyVDA() {
// Not destroying PictureBuffers in |picture_buffers_at_display_| yet, since
// their textures may still be in use by the user of this GpuVideoDecoder.
- for (PictureBufferTextureMap::iterator it =
- picture_buffers_at_display_.begin();
- it != picture_buffers_at_display_.end();
- ++it) {
- assigned_picture_buffers_.erase(it->first);
- }
+ for (const auto& kv : picture_buffers_at_display_)
+ assigned_picture_buffers_.erase(kv.first);
DestroyPictureBuffers(&assigned_picture_buffers_);
}
@@ -538,15 +533,16 @@ void GpuVideoDecoder::DismissPictureBuffer(int32_t id) {
PictureBuffer buffer_to_dismiss = it->second;
assigned_picture_buffers_.erase(it);
- if (!picture_buffers_at_display_.count(id)) {
- // We can delete the texture immediately as it's not being displayed.
- for (uint32_t id : buffer_to_dismiss.texture_ids())
- factories_->DeleteTexture(id);
- CHECK_GT(available_pictures_, 0);
- --available_pictures_;
- }
- // Not destroying a texture in display in |picture_buffers_at_display_|.
- // Postpone deletion until after it's returned to us.
+ // If it's in |picture_buffers_at_display_|, postpone deletion of it until
+ // it's returned to us.
+ if (picture_buffers_at_display_.count(id))
+ return;
+
+ // Otherwise, we can delete the texture immediately.
+ for (uint32_t id : buffer_to_dismiss.client_texture_ids())
+ factories_->DeleteTexture(id);
+ CHECK_GT(available_pictures_, 0);
+ --available_pictures_;
}
void GpuVideoDecoder::PictureReady(const media::Picture& picture) {
@@ -595,17 +591,18 @@ void GpuVideoDecoder::PictureReady(const media::Picture& picture) {
DCHECK(decoder_texture_target_);
gpu::MailboxHolder mailbox_holders[VideoFrame::kMaxPlanes];
- for (size_t i = 0; i < pb.texture_ids().size(); ++i) {
+ for (size_t i = 0; i < pb.client_texture_ids().size(); ++i) {
mailbox_holders[i] = gpu::MailboxHolder(pb.texture_mailbox(i), sync_token_,
decoder_texture_target_);
}
scoped_refptr<VideoFrame> frame(VideoFrame::WrapNativeTextures(
pixel_format_, mailbox_holders,
- base::Bind(&ReleaseMailboxTrampoline, factories_->GetTaskRunner(),
- base::Bind(&GpuVideoDecoder::ReleaseMailbox,
- weak_factory_.GetWeakPtr(), factories_,
- picture.picture_buffer_id(), pb.texture_ids())),
+ base::Bind(
+ &ReleaseMailboxTrampoline, factories_->GetTaskRunner(),
+ base::Bind(&GpuVideoDecoder::ReleaseMailbox,
+ weak_factory_.GetWeakPtr(), factories_,
+ picture.picture_buffer_id(), pb.client_texture_ids())),
pb.size(), visible_rect, natural_size, timestamp));
if (!frame) {
DLOG(ERROR) << "Create frame failed for: " << picture.picture_buffer_id();
@@ -624,10 +621,10 @@ void GpuVideoDecoder::PictureReady(const media::Picture& picture) {
CHECK_GT(available_pictures_, 0);
--available_pictures_;
- bool inserted =
- picture_buffers_at_display_
- .insert(std::make_pair(picture.picture_buffer_id(), pb.texture_ids()))
- .second;
+ bool inserted = picture_buffers_at_display_
+ .insert(std::make_pair(picture.picture_buffer_id(),
+ pb.client_texture_ids()))
+ .second;
DCHECK(inserted);
DeliverFrame(frame);
« no previous file with comments | « content/renderer/pepper/video_decoder_shim.cc ('k') | media/gpu/avda_picture_buffer_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698