1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// found in the LICENSE file.
4a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#ifndef PPAPI_TESTS_TEST_MEDIA_STREAM_AUDIO_TRACK_H_
646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define PPAPI_TESTS_TEST_MEDIA_STREAM_AUDIO_TRACK_H_
7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include <string>
9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "ppapi/cpp/media_stream_audio_track.h"
11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "ppapi/cpp/video_frame.h"
12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "ppapi/tests/test_case.h"
13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class TestMediaStreamAudioTrack : public TestCase {
15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) public:
16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  explicit TestMediaStreamAudioTrack(TestingInstance* instance);
17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  virtual ~TestMediaStreamAudioTrack();
18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) private:
20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  // TestCase implementation.
21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  virtual bool Init();
22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  virtual void RunTests(const std::string& filter);
23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  // Overrides.
25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  virtual void HandleMessage(const pp::Var& message_data);
26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  // Test helpers.
285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  std::string CheckConfigure(int32_t attrib_list[], int32_t expected_result);
295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  std::string CheckGetBuffer(int times, int expected_duration);
305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  std::string TestCreate();
32a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  std::string TestGetBuffer();
3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  std::string TestConfigure();
346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)  std::string TestConfigureClose();
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  std::string TestVerifyWaveform();
36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  pp::MediaStreamAudioTrack audio_track_;
38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  NestedEvent event_;
40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)};
41a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif  // PPAPI_TESTS_TEST_MEDIA_STREAM_AUDIO_TRACK_H_
43