Twitch SDK (Internal)
appleaudiocapture.h
Go to the documentation of this file.
1 /********************************************************************************************
2  * Twitch Broadcasting SDK
3  *
4  * This software is supplied under the terms of a license agreement with Twitch Interactive, Inc. and
5  * may not be copied or used except in accordance with the terms of that agreement
6  * Copyright (c) 2012-2016 Twitch Interactive, Inc.
7  *********************************************************************************************/
8 
9 #pragma once
10 
12 
13 namespace ttv
14 {
15  namespace broadcast
16  {
17  class AppleAudioCapture;
18  class AppleAudioCaptureInternalData;
19  }
20 }
21 
23 {
24 public:
25  enum class CaptureType
26  {
27  System,
29  };
30 
31 public:
33  virtual ~AppleAudioCapture();
34 
35 public: // IAudioCapture
36  virtual std::string GetName() const override;
37  virtual uint32_t GetNumChannels() const override;
38  virtual TTV_ErrorCode Start() override;
39  virtual TTV_ErrorCode Stop() override;
40  virtual TTV_ErrorCode Process(const std::shared_ptr<IAudioMixer>& mixer, uint64_t& lastSampleTime) override;
41  virtual void SetInitialTime(uint64_t initialTime) override;
42 
43 private:
44  TTV_ErrorCode DoSubmitFrame(uint32_t samplesPerChannel);
45 
46  std::unique_ptr<AppleAudioCaptureInternalData> mInternalData;
47 };
virtual TTV_ErrorCode Start() override
virtual void SetInitialTime(uint64_t initialTime) override
virtual std::string GetName() const override
Definition: appleaudiocapture.h:22
virtual TTV_ErrorCode Process(const std::shared_ptr< IAudioMixer > &mixer, uint64_t &lastSampleTime) override
CaptureType
Definition: appleaudiocapture.h:25
AppleAudioCapture(CaptureType type)
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
virtual TTV_ErrorCode Stop() override
TTV_ErrorCode DoSubmitFrame(uint32_t samplesPerChannel)
virtual uint32_t GetNumChannels() const override
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
Definition: audiocapturebase.h:25
std::unique_ptr< AppleAudioCaptureInternalData > mInternalData
Definition: appleaudiocapture.h:46