Twitch SDK (Internal)
intelsysallocator.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 
10 /* ****************************************************************************** *\
11 
12 INTEL CORPORATION PROPRIETARY INFORMATION
13 This software is supplied under the terms of a license agreement or nondisclosure
14 agreement with Intel Corporation and may not be copied or disclosed except in
15 accordance with the terms of that agreement
16 Copyright(c) 2008-2011 Intel Corporation. All Rights Reserved.
17 
18 \* ****************************************************************************** */
19 
20 #pragma once
21 
23 
24 namespace ttv
25 {
26  namespace broadcast
27  {
28  class SysMemFrameAllocator;
29  class SysMemBufferAllocator;
30  struct SysMemAllocatorParams;
31  }
32 }
33 
35 {
37 };
38 
40 {
41 public:
43  virtual ~SysMemFrameAllocator();
44 
45  virtual mfxStatus Init(mfxAllocatorParams *pParams);
46  virtual mfxStatus Close();
47 
48 protected:
49  virtual mfxStatus LockFrame(mfxMemId mid, mfxFrameData *ptr);
50  virtual mfxStatus UnlockFrame(mfxMemId mid, mfxFrameData *ptr);
51  virtual mfxStatus GetFrameHDL(mfxMemId mid, mfxHDL *handle);
52 
53  virtual mfxStatus CheckRequestType(mfxFrameAllocRequest *request);
54  virtual mfxStatus ReleaseResponse(mfxFrameAllocResponse *response);
55  virtual mfxStatus AllocImpl(mfxFrameAllocRequest *request, mfxFrameAllocResponse *response);
56 
59 };
60 
62 {
63 public:
65  virtual ~SysMemBufferAllocator();
66 
67 protected:
68  virtual mfxStatus AllocBuffer(mfxU32 nbytes, mfxU16 type, mfxMemId *mid);
69  virtual mfxStatus LockBuffer(mfxMemId mid, mfxU8 **ptr);
70  virtual mfxStatus UnlockBuffer(mfxMemId mid);
71  virtual mfxStatus FreeBuffer(mfxMemId mid);
72 };
Definition: intelbaseallocator.h:36
Definition: intelsysallocator.h:39
MFXBufferAllocator * m_pBufferAllocator
Definition: intelsysallocator.h:57
Definition: intelsysallocator.h:61
MFXBufferAllocator * pBufferAllocator
Definition: intelsysallocator.h:36
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
bool m_bOwnBufferAllocator
Definition: intelsysallocator.h:58
Definition: intelbaseallocator.h:156
Definition: intelsysallocator.h:34
Definition: intelbaseallocator.h:76