Twitch SDK (Internal)
irawvideoframereceiver.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 <memory>
14 
15 namespace ttv
16 {
17  namespace broadcast
18  {
19  class IRawVideoFrameReceiver;
20  class VideoFrame;
21  }
22 }
23 
24 
29 {
30 public:
31  typedef std::function<void(const uint8_t* buffer)> UnlockFunc;
32 
36  virtual TTV_ErrorCode PackageFrame(const uint8_t* frameBuffer, PixelFormat pixelFormat, bool verticalFlip, uint64_t timeStamp, UnlockFunc unlockCallback, std::shared_ptr<VideoFrame>& result) = 0;
37 
38  static ReceiverTypeId GetReceiverTypeId() { static int typeId = 0; return reinterpret_cast<ReceiverTypeId>(&typeId); }
39 };
virtual TTV_ErrorCode PackageFrame(const uint8_t *frameBuffer, PixelFormat pixelFormat, bool verticalFlip, uint64_t timeStamp, UnlockFunc unlockCallback, std::shared_ptr< VideoFrame > &result)=0
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
PixelFormat
Definition: broadcasttypes.h:47
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
Definition: irawvideoframereceiver.h:28
Definition: ivideoframereceiver.h:25
static ReceiverTypeId GetReceiverTypeId()
Definition: irawvideoframereceiver.h:38
size_t ReceiverTypeId
Definition: ivideoframereceiver.h:28
std::function< void(const uint8_t *buffer)> UnlockFunc
Definition: irawvideoframereceiver.h:31