| OLD | NEW |
| 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 <stdint.h> | 7 #include <stdint.h> |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 588 const char* test_name); | 588 const char* test_name); |
| 589 | 589 |
| 590 // Callback sent when demuxer is being deleted. | 590 // Callback sent when demuxer is being deleted. |
| 591 void OnDemuxerDeleted() { demuxer_ = nullptr; } | 591 void OnDemuxerDeleted() { demuxer_ = nullptr; } |
| 592 | 592 |
| 593 bool IsDemuxerDeleted() const { return !demuxer_; } | 593 bool IsDemuxerDeleted() const { return !demuxer_; } |
| 594 | 594 |
| 595 base::MessageLoop message_loop_; | 595 base::MessageLoop message_loop_; |
| 596 MockMediaPlayerManager manager_; | 596 MockMediaPlayerManager manager_; |
| 597 MockDemuxerAndroid* demuxer_; // owned by player_ | 597 MockDemuxerAndroid* demuxer_; // owned by player_ |
| 598 scoped_refptr<gfx::SurfaceTexture> surface_texture_a_; | 598 scoped_refptr<gl::SurfaceTexture> surface_texture_a_; |
| 599 scoped_refptr<gfx::SurfaceTexture> surface_texture_b_; | 599 scoped_refptr<gl::SurfaceTexture> surface_texture_b_; |
| 600 MediaCodecPlayer* player_; // raw pointer due to DeleteOnCorrectThread() | 600 MediaCodecPlayer* player_; // raw pointer due to DeleteOnCorrectThread() |
| 601 | 601 |
| 602 private: | 602 private: |
| 603 bool is_timeout_expired() const { return is_timeout_expired_; } | 603 bool is_timeout_expired() const { return is_timeout_expired_; } |
| 604 void SetTimeoutExpired(bool value) { is_timeout_expired_ = value; } | 604 void SetTimeoutExpired(bool value) { is_timeout_expired_ = value; } |
| 605 | 605 |
| 606 bool is_timeout_expired_; | 606 bool is_timeout_expired_; |
| 607 | 607 |
| 608 DISALLOW_COPY_AND_ASSIGN(MediaCodecPlayerTest); | 608 DISALLOW_COPY_AND_ASSIGN(MediaCodecPlayerTest); |
| 609 }; | 609 }; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 645 0, // player_id | 645 0, // player_id |
| 646 manager_.GetWeakPtr(), | 646 manager_.GetWeakPtr(), |
| 647 base::Bind(&MockMediaPlayerManager::OnMediaResourcesRequested, | 647 base::Bind(&MockMediaPlayerManager::OnMediaResourcesRequested, |
| 648 base::Unretained(&manager_)), | 648 base::Unretained(&manager_)), |
| 649 base::WrapUnique(demuxer_), GURL(), kDefaultMediaSessionId); | 649 base::WrapUnique(demuxer_), GURL(), kDefaultMediaSessionId); |
| 650 | 650 |
| 651 DCHECK(player_); | 651 DCHECK(player_); |
| 652 } | 652 } |
| 653 | 653 |
| 654 void MediaCodecPlayerTest::SetVideoSurface() { | 654 void MediaCodecPlayerTest::SetVideoSurface() { |
| 655 surface_texture_a_ = gfx::SurfaceTexture::Create(0); | 655 surface_texture_a_ = gl::SurfaceTexture::Create(0); |
| 656 gfx::ScopedJavaSurface surface(surface_texture_a_.get()); | 656 gl::ScopedJavaSurface surface(surface_texture_a_.get()); |
| 657 | 657 |
| 658 ASSERT_NE(nullptr, player_); | 658 ASSERT_NE(nullptr, player_); |
| 659 player_->SetVideoSurface(std::move(surface)); | 659 player_->SetVideoSurface(std::move(surface)); |
| 660 } | 660 } |
| 661 | 661 |
| 662 void MediaCodecPlayerTest::SetVideoSurfaceB() { | 662 void MediaCodecPlayerTest::SetVideoSurfaceB() { |
| 663 surface_texture_b_ = gfx::SurfaceTexture::Create(1); | 663 surface_texture_b_ = gl::SurfaceTexture::Create(1); |
| 664 gfx::ScopedJavaSurface surface(surface_texture_b_.get()); | 664 gl::ScopedJavaSurface surface(surface_texture_b_.get()); |
| 665 | 665 |
| 666 ASSERT_NE(nullptr, player_); | 666 ASSERT_NE(nullptr, player_); |
| 667 player_->SetVideoSurface(std::move(surface)); | 667 player_->SetVideoSurface(std::move(surface)); |
| 668 } | 668 } |
| 669 | 669 |
| 670 void MediaCodecPlayerTest::RemoveVideoSurface() { | 670 void MediaCodecPlayerTest::RemoveVideoSurface() { |
| 671 player_->SetVideoSurface(gfx::ScopedJavaSurface()); | 671 player_->SetVideoSurface(gl::ScopedJavaSurface()); |
| 672 surface_texture_a_ = NULL; | 672 surface_texture_a_ = NULL; |
| 673 } | 673 } |
| 674 | 674 |
| 675 bool MediaCodecPlayerTest::WaitForCondition(const Predicate& condition, | 675 bool MediaCodecPlayerTest::WaitForCondition(const Predicate& condition, |
| 676 const base::TimeDelta& timeout) { | 676 const base::TimeDelta& timeout) { |
| 677 // Let the message_loop_ process events. | 677 // Let the message_loop_ process events. |
| 678 // We start the timer and RunUntilIdle() until it signals. | 678 // We start the timer and RunUntilIdle() until it signals. |
| 679 | 679 |
| 680 SetTimeoutExpired(false); | 680 SetTimeoutExpired(false); |
| 681 | 681 |
| (...skipping 1586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2268 // TODO(timav): maybe we should not call the testing callback for | 2268 // TODO(timav): maybe we should not call the testing callback for |
| 2269 // kRenderAfterPreroll for video (for audio we already do not call). | 2269 // kRenderAfterPreroll for video (for audio we already do not call). |
| 2270 // EXPECT_TRUE(AlmostEqual(manager_.FirstFrameTime(DemuxerStream::AUDIO), | 2270 // EXPECT_TRUE(AlmostEqual(manager_.FirstFrameTime(DemuxerStream::AUDIO), |
| 2271 // manager_.FirstFrameTime(DemuxerStream::VIDEO), 50)); | 2271 // manager_.FirstFrameTime(DemuxerStream::VIDEO), 50)); |
| 2272 | 2272 |
| 2273 // The playback should start at |seek_position| | 2273 // The playback should start at |seek_position| |
| 2274 EXPECT_TRUE(AlmostEqual(seek_position, manager_.pts_stat_.min(), 25)); | 2274 EXPECT_TRUE(AlmostEqual(seek_position, manager_.pts_stat_.min(), 25)); |
| 2275 } | 2275 } |
| 2276 | 2276 |
| 2277 } // namespace media | 2277 } // namespace media |
| OLD | NEW |