Twitch SDK (Internal)
ivideocapture.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 <memory>
13 
14 namespace ttv
15 {
16  namespace broadcast
17  {
18  class IVideoCapture;
19  class IVideoEncoder;
20  class IVideoFrameQueue;
21  }
22 }
23 
24 
39 {
40 public:
41  virtual ~IVideoCapture();
42 
46  virtual std::string GetName() const = 0;
50  virtual TTV_ErrorCode Initialize() = 0;
54  virtual TTV_ErrorCode Shutdown() = 0;
58  virtual TTV_ErrorCode SetVideoEncoder(const std::shared_ptr<IVideoEncoder>& encoder) = 0;
62  virtual TTV_ErrorCode SetFrameQueue(const std::shared_ptr<IVideoFrameQueue>& queue) = 0;
66  virtual TTV_ErrorCode Start(const VideoParams& videoParams) = 0;
70  virtual TTV_ErrorCode Stop() = 0;
71 };
virtual std::string GetName() const =0
virtual TTV_ErrorCode Initialize()=0
virtual TTV_ErrorCode Start(const VideoParams &videoParams)=0
virtual TTV_ErrorCode SetVideoEncoder(const std::shared_ptr< IVideoEncoder > &encoder)=0
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Definition: ivideocapture.h:38
Definition: broadcasttypes.h:80
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
virtual TTV_ErrorCode SetFrameQueue(const std::shared_ptr< IVideoFrameQueue > &queue)=0
virtual TTV_ErrorCode Shutdown()=0
virtual TTV_ErrorCode Stop()=0