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

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

Issue 191933002: This is initial API support required for enabling SurfaceTexture backed zero-copy for Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: build issues Created 6 years, 9 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <string> 5 #include <string>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "media/base/android/media_codec_bridge.h" 10 #include "media/base/android/media_codec_bridge.h"
(...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 WaitForDecodeDone(is_audio, !is_audio); 603 WaitForDecodeDone(is_audio, !is_audio);
604 604
605 expected_num_config_requests++; 605 expected_num_config_requests++;
606 EXPECT_EQ(expected_num_data_requests, demuxer_->num_data_requests()); 606 EXPECT_EQ(expected_num_data_requests, demuxer_->num_data_requests());
607 EXPECT_EQ(expected_num_config_requests, demuxer_->num_config_requests()); 607 EXPECT_EQ(expected_num_config_requests, demuxer_->num_config_requests());
608 } 608 }
609 609
610 void CreateNextTextureAndSetVideoSurface() { 610 void CreateNextTextureAndSetVideoSurface() {
611 gfx::SurfaceTexture* surface_texture; 611 gfx::SurfaceTexture* surface_texture;
612 if (surface_texture_a_is_next_) { 612 if (surface_texture_a_is_next_) {
613 surface_texture_a_ = new gfx::SurfaceTexture(next_texture_id_++); 613 surface_texture_a_ = gfx::SurfaceTexture::Create(next_texture_id_++);
614 surface_texture = surface_texture_a_.get(); 614 surface_texture = surface_texture_a_.get();
615 } else { 615 } else {
616 surface_texture_b_ = new gfx::SurfaceTexture(next_texture_id_++); 616 surface_texture_b_ = gfx::SurfaceTexture::Create(next_texture_id_++);
617 surface_texture = surface_texture_b_.get(); 617 surface_texture = surface_texture_b_.get();
618 } 618 }
619 619
620 surface_texture_a_is_next_ = !surface_texture_a_is_next_; 620 surface_texture_a_is_next_ = !surface_texture_a_is_next_;
621 gfx::ScopedJavaSurface surface = gfx::ScopedJavaSurface(surface_texture); 621 gfx::ScopedJavaSurface surface = gfx::ScopedJavaSurface(surface_texture);
622 player_.SetVideoSurface(surface.Pass()); 622 player_.SetVideoSurface(surface.Pass());
623 } 623 }
624 624
625 // Wait for one or both of the jobs to complete decoding. Decoder jobs are 625 // Wait for one or both of the jobs to complete decoding. Decoder jobs are
626 // assumed to exist for any stream whose decode completion is awaited. 626 // assumed to exist for any stream whose decode completion is awaited.
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 // Note, the decoder job for the second surface set, above, will be created 810 // Note, the decoder job for the second surface set, above, will be created
811 // only after the pending read is satisfied and decoded, and the resulting 811 // only after the pending read is satisfied and decoded, and the resulting
812 // browser seek is done. See BrowserSeek_* tests for this coverage. 812 // browser seek is done. See BrowserSeek_* tests for this coverage.
813 } 813 }
814 814
815 TEST_F(MediaSourcePlayerTest, StartVideoCodecWithInvalidSurface) { 815 TEST_F(MediaSourcePlayerTest, StartVideoCodecWithInvalidSurface) {
816 SKIP_TEST_IF_MEDIA_CODEC_BRIDGE_IS_NOT_AVAILABLE(); 816 SKIP_TEST_IF_MEDIA_CODEC_BRIDGE_IS_NOT_AVAILABLE();
817 817
818 // Test video decoder job will not be created when surface is invalid. 818 // Test video decoder job will not be created when surface is invalid.
819 scoped_refptr<gfx::SurfaceTexture> surface_texture( 819 scoped_refptr<gfx::SurfaceTexture> surface_texture(
820 new gfx::SurfaceTexture(0)); 820 gfx::SurfaceTexture::Create(0));
821 gfx::ScopedJavaSurface surface(surface_texture.get()); 821 gfx::ScopedJavaSurface surface(surface_texture.get());
822 StartVideoDecoderJob(false); 822 StartVideoDecoderJob(false);
823 823
824 // Release the surface texture. 824 // Release the surface texture.
825 surface_texture = NULL; 825 surface_texture = NULL;
826 player_.SetVideoSurface(surface.Pass()); 826 player_.SetVideoSurface(surface.Pass());
827 827
828 // Player should not seek the demuxer on setting initial surface. 828 // Player should not seek the demuxer on setting initial surface.
829 EXPECT_EQ(0, demuxer_->num_seek_requests()); 829 EXPECT_EQ(0, demuxer_->num_seek_requests());
830 830
(...skipping 1312 matching lines...) Expand 10 before | Expand all | Expand 10 after
2143 2143
2144 std::vector<std::string> codec_avc(1, "avc1"); 2144 std::vector<std::string> codec_avc(1, "avc1");
2145 EXPECT_FALSE(IsTypeSupported(invalid_uuid, kL3, kVideoMp4, codec_avc)); 2145 EXPECT_FALSE(IsTypeSupported(invalid_uuid, kL3, kVideoMp4, codec_avc));
2146 EXPECT_FALSE(IsTypeSupported(invalid_uuid, kL1, kVideoMp4, codec_avc)); 2146 EXPECT_FALSE(IsTypeSupported(invalid_uuid, kL1, kVideoMp4, codec_avc));
2147 } 2147 }
2148 2148
2149 // TODO(xhwang): Are these IsTypeSupported tests device specific? 2149 // TODO(xhwang): Are these IsTypeSupported tests device specific?
2150 // TODO(xhwang): Add more IsTypeSupported tests. 2150 // TODO(xhwang): Add more IsTypeSupported tests.
2151 2151
2152 } // namespace media 2152 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698