OLD | NEW |
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/video_frame.h" | 5 #include "media/base/video_frame.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 } | 267 } |
268 | 268 |
269 static void TextureCallback(gpu::SyncToken* called_sync_token, | 269 static void TextureCallback(gpu::SyncToken* called_sync_token, |
270 const gpu::SyncToken& release_sync_token) { | 270 const gpu::SyncToken& release_sync_token) { |
271 *called_sync_token = release_sync_token; | 271 *called_sync_token = release_sync_token; |
272 } | 272 } |
273 | 273 |
274 // Verify the gpu::MailboxHolder::ReleaseCallback is called when VideoFrame is | 274 // Verify the gpu::MailboxHolder::ReleaseCallback is called when VideoFrame is |
275 // destroyed with the default release sync point. | 275 // destroyed with the default release sync point. |
276 TEST(VideoFrame, TextureNoLongerNeededCallbackIsCalled) { | 276 TEST(VideoFrame, TextureNoLongerNeededCallbackIsCalled) { |
277 gpu::SyncToken called_sync_token(gpu::CommandBufferNamespace::GPU_IO, 0, 1, | 277 gpu::SyncToken called_sync_token(gpu::CommandBufferNamespace::GPU_IO, 0, |
278 1); | 278 gpu::CommandBufferId::FromUnsafeValue(1), 1); |
279 | 279 |
280 { | 280 { |
281 scoped_refptr<VideoFrame> frame = VideoFrame::WrapNativeTexture( | 281 scoped_refptr<VideoFrame> frame = VideoFrame::WrapNativeTexture( |
282 PIXEL_FORMAT_ARGB, | 282 PIXEL_FORMAT_ARGB, |
283 gpu::MailboxHolder(gpu::Mailbox::Generate(), gpu::SyncToken(), 5), | 283 gpu::MailboxHolder(gpu::Mailbox::Generate(), gpu::SyncToken(), 5), |
284 base::Bind(&TextureCallback, &called_sync_token), | 284 base::Bind(&TextureCallback, &called_sync_token), |
285 gfx::Size(10, 10), // coded_size | 285 gfx::Size(10, 10), // coded_size |
286 gfx::Rect(10, 10), // visible_rect | 286 gfx::Rect(10, 10), // visible_rect |
287 gfx::Size(10, 10), // natural_size | 287 gfx::Size(10, 10), // natural_size |
288 base::TimeDelta()); // timestamp | 288 base::TimeDelta()); // timestamp |
(...skipping 25 matching lines...) Expand all Loading... |
314 } // namespace | 314 } // namespace |
315 | 315 |
316 // Verify the gpu::MailboxHolder::ReleaseCallback is called when VideoFrame is | 316 // Verify the gpu::MailboxHolder::ReleaseCallback is called when VideoFrame is |
317 // destroyed with the release sync point, which was updated by clients. | 317 // destroyed with the release sync point, which was updated by clients. |
318 // (i.e. the compositor, webgl). | 318 // (i.e. the compositor, webgl). |
319 TEST(VideoFrame, | 319 TEST(VideoFrame, |
320 TexturesNoLongerNeededCallbackAfterTakingAndReleasingMailboxes) { | 320 TexturesNoLongerNeededCallbackAfterTakingAndReleasingMailboxes) { |
321 const int kPlanesNum = 3; | 321 const int kPlanesNum = 3; |
322 const gpu::CommandBufferNamespace kNamespace = | 322 const gpu::CommandBufferNamespace kNamespace = |
323 gpu::CommandBufferNamespace::GPU_IO; | 323 gpu::CommandBufferNamespace::GPU_IO; |
324 const uint64_t kCommandBufferId = 0x123; | 324 const gpu::CommandBufferId kCommandBufferId = |
| 325 gpu::CommandBufferId::FromUnsafeValue(0x123); |
325 gpu::Mailbox mailbox[kPlanesNum]; | 326 gpu::Mailbox mailbox[kPlanesNum]; |
326 for (int i = 0; i < kPlanesNum; ++i) { | 327 for (int i = 0; i < kPlanesNum; ++i) { |
327 mailbox[i].name[0] = 50 + 1; | 328 mailbox[i].name[0] = 50 + 1; |
328 } | 329 } |
329 | 330 |
330 gpu::SyncToken sync_token(kNamespace, 0, kCommandBufferId, 7); | 331 gpu::SyncToken sync_token(kNamespace, 0, kCommandBufferId, 7); |
331 sync_token.SetVerifyFlush(); | 332 sync_token.SetVerifyFlush(); |
332 uint32_t target = 9; | 333 uint32_t target = 9; |
333 gpu::SyncToken release_sync_token(kNamespace, 0, kCommandBufferId, 111); | 334 gpu::SyncToken release_sync_token(kNamespace, 0, kCommandBufferId, 111); |
334 release_sync_token.SetVerifyFlush(); | 335 release_sync_token.SetVerifyFlush(); |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
488 | 489 |
489 for (int i = 0; i < VideoFrameMetadata::NUM_KEYS; ++i) { | 490 for (int i = 0; i < VideoFrameMetadata::NUM_KEYS; ++i) { |
490 const VideoFrameMetadata::Key key = static_cast<VideoFrameMetadata::Key>(i); | 491 const VideoFrameMetadata::Key key = static_cast<VideoFrameMetadata::Key>(i); |
491 int value = -1; | 492 int value = -1; |
492 EXPECT_TRUE(result.GetInteger(key, &value)); | 493 EXPECT_TRUE(result.GetInteger(key, &value)); |
493 EXPECT_EQ(i, value); | 494 EXPECT_EQ(i, value); |
494 } | 495 } |
495 } | 496 } |
496 | 497 |
497 } // namespace media | 498 } // namespace media |
OLD | NEW |