Twitch SDK (Internal)
pauseframegenerator.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 
13 #include "twitchsdk/core/memory.h"
14 
15 namespace ttv
16 {
17  namespace broadcast
18  {
19  class PauseFrameGenerator;
20  class IVideoEncoder;
21  }
22 }
23 
25 {
26 public:
27  PauseFrameGenerator(uint width, uint height, PixelFormat pixelFormat);
29 
30  void SetVideoEncoder(const std::shared_ptr<IVideoEncoder>& encoder) { mVideoEncoder = encoder; }
31  std::shared_ptr<VideoFrame> GetNextFrame();
32 
33 private:
34  std::vector<uint32_t> mGlitchImage;
35  uint32_t* mPauseFrame;
36  std::shared_ptr<IVideoEncoder> mVideoEncoder;
37  size_t mFrameHeight;
38  size_t mFrameWidth;
40 };
PixelFormat mPixelFormat
Definition: pauseframegenerator.h:39
size_t mFrameWidth
Definition: pauseframegenerator.h:38
std::vector< uint32_t > mGlitchImage
Definition: pauseframegenerator.h:34
uint32_t * mPauseFrame
Definition: pauseframegenerator.h:35
std::shared_ptr< IVideoEncoder > mVideoEncoder
Definition: pauseframegenerator.h:36
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
PixelFormat
Definition: broadcasttypes.h:47
std::shared_ptr< VideoFrame > GetNextFrame()
unsigned int uint
Definition: coretypes.h:18
PauseFrameGenerator(uint width, uint height, PixelFormat pixelFormat)
void SetVideoEncoder(const std::shared_ptr< IVideoEncoder > &encoder)
Definition: pauseframegenerator.h:30
size_t mFrameHeight
Definition: pauseframegenerator.h:37
Definition: pauseframegenerator.h:24