Android-cuttlefish cvd tool
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
cuttlefish::DisplayRingBuffer Class Reference

#include <ring_buffer_manager.h>

Collaboration diagram for cuttlefish::DisplayRingBuffer:
Collaboration graph
[legend]

Public Member Functions

 ~DisplayRingBuffer ()
 
void * GetAddress ()
 
std::uint8_t * WriteNextFrame (std::uint8_t *frame_data, int size)
 
std::uint8_t * CurrentFrame ()
 
std::uint8_t * ComputeFrameAddressForIndex (std::uint32_t index)
 

Static Public Member Functions

static Result< std::unique_ptr< DisplayRingBuffer > > Create (const std::string &name, int size)
 
static std::optional< std::unique_ptr< DisplayRingBuffer > > ShmemGet (const std::string &name, int size)
 

Private Member Functions

 DisplayRingBuffer (void *addr, std::string name, bool owned, ScopedMMap shm)
 

Private Attributes

DisplayRingBufferHeaderheader_
 
void * addr_
 
std::string name_
 
bool owned_
 
ScopedMMap shm_
 

Constructor & Destructor Documentation

◆ ~DisplayRingBuffer()

cuttlefish::DisplayRingBuffer::~DisplayRingBuffer ( )

◆ DisplayRingBuffer()

cuttlefish::DisplayRingBuffer::DisplayRingBuffer ( void *  addr,
std::string  name,
bool  owned,
ScopedMMap  shm 
)
private

Member Function Documentation

◆ ComputeFrameAddressForIndex()

std::uint8_t * cuttlefish::DisplayRingBuffer::ComputeFrameAddressForIndex ( std::uint32_t  index)

◆ Create()

Result< std::unique_ptr< DisplayRingBuffer > > cuttlefish::DisplayRingBuffer::Create ( const std::string &  name,
int  size 
)
static

◆ CurrentFrame()

std::uint8_t * cuttlefish::DisplayRingBuffer::CurrentFrame ( )

◆ GetAddress()

void * cuttlefish::DisplayRingBuffer::GetAddress ( )

◆ ShmemGet()

std::optional< std::unique_ptr< DisplayRingBuffer > > cuttlefish::DisplayRingBuffer::ShmemGet ( const std::string &  name,
int  size 
)
static

◆ WriteNextFrame()

std::uint8_t * cuttlefish::DisplayRingBuffer::WriteNextFrame ( std::uint8_t *  frame_data,
int  size 
)

Member Data Documentation

◆ addr_

void* cuttlefish::DisplayRingBuffer::addr_
private

◆ header_

DisplayRingBufferHeader* cuttlefish::DisplayRingBuffer::header_
private

◆ name_

std::string cuttlefish::DisplayRingBuffer::name_
private

◆ owned_

bool cuttlefish::DisplayRingBuffer::owned_
private

◆ shm_

ScopedMMap cuttlefish::DisplayRingBuffer::shm_
private

The documentation for this class was generated from the following files: