コード例 #1
0
void
gss_program_set_enabled (GssProgram * program, gboolean enabled)
{
  if (program->enabled && !enabled) {
    program->enabled = enabled;
    gss_program_stop (program);
  } else if (!program->enabled && enabled) {
    program->enabled = enabled;
    gss_program_start (program);
  }
}
コード例 #2
0
static gboolean
idle_state_enable (gpointer ptr)
{
  GssProgram *program = GSS_PROGRAM (ptr);
  gboolean enabled;

  program->state_idle = 0;

  enabled = (program->enabled && program->server->enable_programs);
  if (program->state == GSS_PROGRAM_STATE_STOPPED && enabled) {
    gss_program_start (program);
  } else if (program->state == GSS_PROGRAM_STATE_RUNNING && !enabled) {
    gss_program_stop (program);
  }

  return FALSE;
}
static void
gss_program_finalize (GObject * object)
{
  GssProgram *program = GSS_PROGRAM (object);

  gss_program_stop (program);

  g_list_free_full (program->streams, g_object_unref);

  if (program->hls.variant_buffer) {
    soup_buffer_free (program->hls.variant_buffer);
  }

  gss_metrics_free (program->metrics);
  g_free (program->follow_uri);
  g_free (program->follow_host);
  g_free (program->description);
  g_free (program->safe_description);
  g_free (program->uuid);

  parent_class->finalize (object);
}
static gboolean
gss_program_call_stop (gpointer priv)
{
  gss_program_stop ((GssProgram *) priv);
  return FALSE;
}