1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "ppapi/tests/test_video_decoder.h" 6 7 #include "ppapi/c/dev/ppb_video_decoder_dev.h" 8 #include "ppapi/c/dev/ppb_testing_dev.h" 9 #include "ppapi/c/pp_errors.h" 10 #include "ppapi/c/ppb_var.h" 11 #include "ppapi/tests/testing_instance.h" 12 13 REGISTER_TEST_CASE(VideoDecoder); 14 15 bool TestVideoDecoder::Init() { 16 video_decoder_interface_ = static_cast<const PPB_VideoDecoder_Dev*>( 17 pp::Module::Get()->GetBrowserInterface(PPB_VIDEODECODER_DEV_INTERFACE)); 18 return video_decoder_interface_ && CheckTestingInterface(); 19 } 20 21 void TestVideoDecoder::RunTests(const std::string& filter) { 22 RUN_TEST(CreateFailure, filter); 23 } 24 25 void TestVideoDecoder::QuitMessageLoop() { 26 testing_interface_->QuitMessageLoop(instance_->pp_instance()); 27 } 28 29 std::string TestVideoDecoder::TestCreateFailure() { 30 PP_Resource decoder = video_decoder_interface_->Create( 31 instance_->pp_instance(), 0, static_cast<PP_VideoDecoder_Profile>(-1)); 32 if (decoder != 0) 33 return "Create: error detecting invalid context & configs"; 34 35 PASS(); 36 } 37