AgsRecyclingThread

AgsRecyclingThread

Synopsis

#define             AGS_RECYCLING_THREAD_DEFAULT_JIFFIE
struct              AgsRecyclingThread;
struct              AgsRecyclingThreadClass;
enum                AgsRecyclingThreadFlags;
AgsRecyclingThread * ags_recycling_thread_new           ();
void                ags_recycling_thread_play_audio     (AgsRecyclingThread *recycling_thread,
                                                         GObject *output,
                                                         GObject *audio,
                                                         AgsRecallID *recall_id,
                                                         gint stage);
void                ags_recycling_thread_play_channel   (AgsRecyclingThread *recycling_thread,
                                                         GObject *channel,
                                                         AgsRecallID *recall_id,
                                                         gint stage);

Description

Details

AGS_RECYCLING_THREAD_DEFAULT_JIFFIE

#define AGS_RECYCLING_THREAD_DEFAULT_JIFFIE (100)

struct AgsRecyclingThread

struct AgsRecyclingThread {
  AgsThread thread;

  guint flags;

  AgsThread *iterator_thread;

  pthread_mutex_t iteration_mutex;
  pthread_cond_t iteration_cond;
};

struct AgsRecyclingThreadClass

struct AgsRecyclingThreadClass {
  AgsThreadClass thread;

  void (*play_channel)(AgsRecyclingThread *recycling_thread,
		       GObject *channel,
		       AgsRecallID *recall_id,
		       gint stage);

  void (*play_audio)(AgsRecyclingThread *recycling_thread,
		     GObject *output, GObject *audio,
		     AgsRecallID *recall_id,
		     gint stage);
};

enum AgsRecyclingThreadFlags

typedef enum {
  AGS_RECYCLING_THREAD_RUNNING   = 1,
  AGS_RECYCLING_THREAD_WAIT      = 1 << 1,
  AGS_RECYCLING_THREAD_DONE      = 1 << 2,
} AgsRecyclingThreadFlags;

ags_recycling_thread_new ()

AgsRecyclingThread * ags_recycling_thread_new           ();

ags_recycling_thread_play_audio ()

void                ags_recycling_thread_play_audio     (AgsRecyclingThread *recycling_thread,
                                                         GObject *output,
                                                         GObject *audio,
                                                         AgsRecallID *recall_id,
                                                         gint stage);

ags_recycling_thread_play_channel ()

void                ags_recycling_thread_play_channel   (AgsRecyclingThread *recycling_thread,
                                                         GObject *channel,
                                                         AgsRecallID *recall_id,
                                                         gint stage);