Chromium Code Reviews| 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 // The bulk of this file is support code; sorry about that. Here's an overview | 5 // The bulk of this file is support code; sorry about that. Here's an overview |
| 6 // to hopefully help readers of this code: | 6 // to hopefully help readers of this code: |
| 7 // - RenderingHelper is charged with interacting with X11/{EGL/GLES2,GLX/GL} or | 7 // - RenderingHelper is charged with interacting with X11/{EGL/GLES2,GLX/GL} or |
| 8 // Win/EGL. | 8 // Win/EGL. |
| 9 // - ClientState is an enum for the state of the decode client used by the test. | 9 // - ClientState is an enum for the state of the decode client used by the test. |
| 10 // - ClientStateNotification is a barrier abstraction that allows the test code | 10 // - ClientStateNotification is a barrier abstraction that allows the test code |
| (...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 539 } | 539 } |
| 540 | 540 |
| 541 void GLRenderingVDAClient::NotifyEndOfBitstreamBuffer( | 541 void GLRenderingVDAClient::NotifyEndOfBitstreamBuffer( |
| 542 int32 bitstream_buffer_id) { | 542 int32 bitstream_buffer_id) { |
| 543 // TODO(fischman): this test currently relies on this notification to make | 543 // TODO(fischman): this test currently relies on this notification to make |
| 544 // forward progress during a Reset(). But the VDA::Reset() API doesn't | 544 // forward progress during a Reset(). But the VDA::Reset() API doesn't |
| 545 // guarantee this, so stop relying on it (and remove the notifications from | 545 // guarantee this, so stop relying on it (and remove the notifications from |
| 546 // VaapiVideoDecodeAccelerator::FinishReset()). | 546 // VaapiVideoDecodeAccelerator::FinishReset()). |
| 547 ++num_done_bitstream_buffers_; | 547 ++num_done_bitstream_buffers_; |
| 548 --outstanding_decodes_; | 548 --outstanding_decodes_; |
| 549 if (decode_calls_per_second_ == 0) | 549 if (decode_calls_per_second_ == 0 || |
| 550 // when decoding speed is slow, some BitstreamBuffer may be released | |
|
Owen Lin
2015/01/08 06:26:08
s/when/When/
s/speed//
| |
| 551 // after DecodeNextFragment process to the end; which means | |
| 552 // outstanding_decodes_ is not zero at that time. | |
|
Owen Lin
2015/01/08 06:26:08
|outstanding_decodes_|
| |
| 553 // we need trigger DecodeNextFragment another time to flush decode. | |
|
Owen Lin
2015/01/08 06:26:08
In order to flush the decoder, we need trigger Dec
| |
| 554 (encoded_data_next_pos_to_decode_ == encoded_data_.size() && | |
| 555 outstanding_decodes_ == 0)) | |
| 550 DecodeNextFragment(); | 556 DecodeNextFragment(); |
|
Owen Lin
2015/01/08 06:26:08
How could you prevent to flush the decoder twice ?
| |
| 551 } | 557 } |
| 552 | 558 |
| 553 void GLRenderingVDAClient::NotifyFlushDone() { | 559 void GLRenderingVDAClient::NotifyFlushDone() { |
| 554 if (decoder_deleted()) | 560 if (decoder_deleted()) |
| 555 return; | 561 return; |
| 556 | 562 |
| 557 SetState(CS_FLUSHED); | 563 SetState(CS_FLUSHED); |
| 558 --remaining_play_throughs_; | 564 --remaining_play_throughs_; |
| 559 DCHECK_GE(remaining_play_throughs_, 0); | 565 DCHECK_GE(remaining_play_throughs_, 0); |
| 560 if (decoder_deleted()) | 566 if (decoder_deleted()) |
| (...skipping 878 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1439 if (it->first == "v" || it->first == "vmodule") | 1445 if (it->first == "v" || it->first == "vmodule") |
| 1440 continue; | 1446 continue; |
| 1441 LOG(FATAL) << "Unexpected switch: " << it->first << ":" << it->second; | 1447 LOG(FATAL) << "Unexpected switch: " << it->first << ":" << it->second; |
| 1442 } | 1448 } |
| 1443 | 1449 |
| 1444 base::ShadowingAtExitManager at_exit_manager; | 1450 base::ShadowingAtExitManager at_exit_manager; |
| 1445 content::RenderingHelper::InitializeOneOff(); | 1451 content::RenderingHelper::InitializeOneOff(); |
| 1446 | 1452 |
| 1447 return RUN_ALL_TESTS(); | 1453 return RUN_ALL_TESTS(); |
| 1448 } | 1454 } |
| OLD | NEW |