Twitch SDK (Internal)
audioframe.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 #include <functional>
13 
14 namespace ttv
15 {
16  namespace broadcast
17  {
18  class AudioFrame;
19  }
20 }
21 
26 {
27 public:
28  typedef std::function<void()> UnlockFunc;
29 
30 public:
31  virtual ~AudioFrame();
32 
33  void SetTimeStamp(uint64_t timeStamp) { mTimeStamp = timeStamp; }
34  uint64_t GetTimeStamp() const { return mTimeStamp; }
35 
36  void SetAudioFormat(AudioFormat format) { mAudioFormat = format; }
38 
39  void SetNumChannels(uint32_t numChannels) { mNumChannels = numChannels; }
40  uint32_t GetNumChannels() const { return mNumChannels; }
41 
42  void SetSampleRateHz(uint32_t rate) { mSampleRateHz = rate; }
43  uint32_t GetSampleRateHz() const { return mSampleRateHz; }
44 
49 
50 protected:
52 
53  void SetUnlockCallback(UnlockFunc callback) { mUnlockCallback = callback; }
54 
55 private:
56  UnlockFunc mUnlockCallback;
59  uint64_t mTimeStamp;
60  uint32_t mNumChannels;
61  uint32_t mSampleRateHz;
62 };
std::function< void()> UnlockFunc
Definition: audioframe.h:28
void SetSampleRateHz(uint32_t rate)
Definition: audioframe.h:42
AudioFrame(IAudioFrameReceiver::ReceiverTypeId receiverTypeId)
AudioFormat GetAudioFormat() const
Definition: audioframe.h:37
AudioFormat mAudioFormat
Definition: audioframe.h:58
uint32_t mSampleRateHz
Definition: audioframe.h:61
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
UnlockFunc mUnlockCallback
Definition: audioframe.h:56
uint32_t GetSampleRateHz() const
Definition: audioframe.h:43
void SetTimeStamp(uint64_t timeStamp)
Definition: audioframe.h:33
size_t ReceiverTypeId
Definition: iaudioframereceiver.h:28
void SetNumChannels(uint32_t numChannels)
Definition: audioframe.h:39
uint64_t GetTimeStamp() const
Definition: audioframe.h:34
void SetAudioFormat(AudioFormat format)
Definition: audioframe.h:36
IAudioFrameReceiver::ReceiverTypeId mReceiverTypeId
Definition: audioframe.h:57
uint64_t mTimeStamp
Definition: audioframe.h:59
uint32_t GetNumChannels() const
Definition: audioframe.h:40
AudioFormat
Definition: broadcasttypes.h:166
void SetUnlockCallback(UnlockFunc callback)
Definition: audioframe.h:53
Definition: audioframe.h:25
IAudioFrameReceiver::ReceiverTypeId GetReceiverTypeId() const
Definition: audioframe.h:48
uint32_t mNumChannels
Definition: audioframe.h:60