Instrument Neutral Distributed Interface INDI  2.0.2
Public Member Functions | Protected Attributes | List of all members
INDI::StreamManager Class Reference

#include <streammanager.h>

Public Member Functions

 StreamManager (DefaultDevice *currentDevice)
 
virtual ~StreamManager ()
 
virtual void ISGetProperties (const char *dev)
 
virtual bool ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int n)
 
virtual bool ISNewText (const char *dev, const char *name, char *texts[], char *names[], int n)
 
virtual bool ISNewNumber (const char *dev, const char *name, double values[], char *names[], int n)
 
virtual bool initProperties ()
 
virtual bool updateProperties ()
 
virtual bool saveConfigItems (FILE *fp)
 
void newFrame (const uint8_t *buffer, uint32_t nbytes, uint64_t timestamp=0)
 newFrame CCD drivers call this function when a new frame is received. It is then streamed, or recorded, or both according to the settings in the streamer. More...
 
bool close ()
 
void setStreamingExposureEnabled (bool enable)
 setStreamingExposureEnabled Can stream exposure time be changed? More...
 
bool setStream (bool enable)
 setStream Enables (starts) or disables (stops) streaming. More...
 
void setSize (uint16_t width, uint16_t height=1)
 
bool setPixelFormat (INDI_PIXEL_FORMAT pixelFormat, uint8_t pixelDepth=8)
 
bool isDirectRecording () const
 
bool isStreaming () const
 
bool isRecording () const
 
bool isBusy () const
 
double getTargetFPS () const
 
double getTargetExposure () const
 
void getStreamFrame (uint16_t *x, uint16_t *y, uint16_t *w, uint16_t *h) const
 
RecorderInterfacegetRecorder () const
 
const char * getDeviceName () const
 

Protected Attributes

std::shared_ptr< StreamManagerPrivated_ptr
 

Detailed Description

Definition at line 96 of file streammanager.h.

Constructor & Destructor Documentation

◆ StreamManager()

StreamManager::StreamManager ( DefaultDevice currentDevice)

Definition at line 77 of file streammanager.cpp.

◆ ~StreamManager()

StreamManager::~StreamManager ( )
virtual

Definition at line 81 of file streammanager.cpp.

Member Function Documentation

◆ close()

bool StreamManager::close ( void  )

Definition at line 542 of file streammanager.cpp.

◆ getDeviceName()

const char * StreamManager::getDeviceName ( ) const

Definition at line 89 of file streammanager.cpp.

◆ getRecorder()

RecorderInterface * StreamManager::getRecorder ( ) const

Definition at line 1251 of file streammanager.cpp.

◆ getStreamFrame()

void StreamManager::getStreamFrame ( uint16_t *  x,
uint16_t *  y,
uint16_t *  w,
uint16_t *  h 
) const

Definition at line 1167 of file streammanager.cpp.

◆ getTargetExposure()

double StreamManager::getTargetExposure ( ) const

Definition at line 1286 of file streammanager.cpp.

◆ getTargetFPS()

double StreamManager::getTargetFPS ( ) const

Definition at line 1281 of file streammanager.cpp.

◆ initProperties()

bool StreamManager::initProperties ( )
virtual

Definition at line 179 of file streammanager.cpp.

◆ isBusy()

bool StreamManager::isBusy ( ) const

Definition at line 1275 of file streammanager.cpp.

◆ isDirectRecording()

bool StreamManager::isDirectRecording ( ) const

Definition at line 1257 of file streammanager.cpp.

◆ ISGetProperties()

void StreamManager::ISGetProperties ( const char *  dev)
virtual

Definition at line 206 of file streammanager.cpp.

◆ ISNewNumber()

bool StreamManager::ISNewNumber ( const char *  dev,
const char *  name,
double  values[],
char *  names[],
int  n 
)
virtual

Definition at line 1019 of file streammanager.cpp.

◆ ISNewSwitch()

bool StreamManager::ISNewSwitch ( const char *  dev,
const char *  name,
ISState states,
char *  names[],
int  n 
)
virtual

Definition at line 902 of file streammanager.cpp.

◆ ISNewText()

bool StreamManager::ISNewText ( const char *  dev,
const char *  name,
char *  texts[],
char *  names[],
int  n 
)
virtual

Definition at line 932 of file streammanager.cpp.

◆ isRecording()

bool StreamManager::isRecording ( ) const

Definition at line 1269 of file streammanager.cpp.

◆ isStreaming()

bool StreamManager::isStreaming ( ) const

Definition at line 1263 of file streammanager.cpp.

◆ newFrame()

void StreamManager::newFrame ( const uint8_t *  buffer,
uint32_t  nbytes,
uint64_t  timestamp = 0 
)

newFrame CCD drivers call this function when a new frame is received. It is then streamed, or recorded, or both according to the settings in the streamer.

Definition at line 350 of file streammanager.cpp.

◆ saveConfigItems()

bool StreamManager::saveConfigItems ( FILE *  fp)
virtual

Definition at line 1135 of file streammanager.cpp.

◆ setPixelFormat()

bool StreamManager::setPixelFormat ( INDI_PIXEL_FORMAT  pixelFormat,
uint8_t  pixelDepth = 8 
)

Definition at line 578 of file streammanager.cpp.

◆ setSize()

void StreamManager::setSize ( uint16_t  width,
uint16_t  height = 1 
)

Definition at line 585 of file streammanager.cpp.

◆ setStream()

bool StreamManager::setStream ( bool  enable)

setStream Enables (starts) or disables (stops) streaming.

Parameters
enableTrue to enable, false to disable
Returns
True if operation is successful, false otherwise.

Definition at line 1129 of file streammanager.cpp.

◆ setStreamingExposureEnabled()

void StreamManager::setStreamingExposureEnabled ( bool  enable)

setStreamingExposureEnabled Can stream exposure time be changed?

Parameters
enableTrue if we can control the exact exposure time for each frame in the stream, false otherwise.

Definition at line 1292 of file streammanager.cpp.

◆ updateProperties()

bool StreamManager::updateProperties ( )
virtual

Definition at line 257 of file streammanager.cpp.

Member Data Documentation

◆ d_ptr

std::shared_ptr<StreamManagerPrivate> INDI::StreamManager::d_ptr
protected

Definition at line 154 of file streammanager.h.


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