vdr-plugin-softhddevice-drm-gles 1.6.8-daba64b
statemachine.h File Reference

Device State Machine and Event Handler Header File. More...

#include <atomic>
#include <mutex>
#include <variant>
#include <vector>
#include <vdr/thread.h>
#include <vdr/tools.h>
#include "config.h"
#include "logger.h"

Go to the source code of this file.

Classes

struct  overload< Ts >
 
struct  PlayEvent
 
struct  PauseEvent
 
struct  StopEvent
 
struct  TrickSpeedEvent
 
struct  StillPictureEvent
 
struct  DetachEvent
 
struct  AttachEvent
 
struct  BufferUnderrunEvent
 
struct  BufferingThresholdReachedEvent
 
struct  ScheduleResyncAtPtsMsEvent
 
struct  ResyncEvent
 
struct  DisplayChangeEvent
 
class  cStateMachine
 State Machine Implementation. More...
 
class  cEventHandler
 Event handler thread. More...
 

Typedefs

using Event = std::variant< PlayEvent, PauseEvent, StopEvent, TrickSpeedEvent, StillPictureEvent, DetachEvent, AttachEvent, BufferUnderrunEvent, BufferingThresholdReachedEvent, ScheduleResyncAtPtsMsEvent, ResyncEvent, DisplayChangeEvent >
 

Enumerations

enum  State {
  STOP , BUFFERING , PLAY , TRICK_SPEED ,
  DETACHED
}
 
enum  BufferUnderrunType { VIDEO , AUDIO }
 

Functions

template<class... Ts>
 overload (Ts...) -> overload< Ts... >
 
const charEventToString (const Event &e)
 
const charStateToString (State s)
 

Detailed Description

Device State Machine and Event Handler Header File.

Definition in file statemachine.h.