~jbicha/ubuntu/oneiric/gnome-shell/oneiric-3.2.2.1

« back to all changes in this revision

Viewing changes to src/gvc/gvc-mixer-control.c

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha
  • Date: 2011-09-07 09:09:05 UTC
  • mfrom: (1.1.29 upstream)
  • Revision ID: package-import@ubuntu.com-20110907090905-kbo4fewcg12zt99u
Tags: 3.1.90.1-0ubuntu1
* New upstream release.
* debian/control: Bump build-depends on new mutter
* debian/patches/01_favorite_apps.patch: Updated
* debian/patches/03_remove-glx-dependency-on-armel.patch: Refreshed
* debian/patches/04_build-without-caribou.patch
  - Build without caribou since Ubuntu uses onboard and our System 
    Settings doesn't support choosing a different screen keyboard yet

Show diffs side-by-side

added added

removed removed

Lines of Context:
81
81
        GHashTable       *cards;
82
82
 
83
83
        GvcMixerStream   *new_default_stream; /* new default stream, used in gvc_mixer_control_set_default_sink () */
 
84
 
 
85
        GvcMixerControlState state;
84
86
};
85
87
 
86
88
enum {
87
 
        CONNECTING,
88
 
        READY,
 
89
        STATE_CHANGED,
89
90
        STREAM_ADDED,
90
91
        STREAM_REMOVED,
91
92
        CARD_ADDED,
508
509
        }
509
510
 
510
511
        if (--control->priv->n_outstanding <= 0) {
511
 
                g_signal_emit (G_OBJECT (control), signals[READY], 0);
 
512
                control->priv->state = GVC_STATE_READY;
 
513
                g_signal_emit (G_OBJECT (control), signals[STATE_CHANGED], 0, GVC_STATE_READY);
512
514
        }
513
515
}
514
516
 
515
 
gboolean
516
 
gvc_mixer_control_is_ready (GvcMixerControl *control)
 
517
GvcMixerControlState
 
518
gvc_mixer_control_get_state (GvcMixerControl *control)
517
519
{
518
520
        g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), FALSE);
519
521
 
520
 
        return (control->priv->n_outstanding == 0);
 
522
        return control->priv->state;
521
523
}
522
524
 
523
525
 
1943
1945
                break;
1944
1946
 
1945
1947
        case PA_CONTEXT_FAILED:
1946
 
                g_warning ("Connection failed, reconnecting...");
 
1948
                control->priv->state = GVC_STATE_FAILED;
 
1949
                g_signal_emit (control, signals[STATE_CHANGED], 0, GVC_STATE_FAILED);
1947
1950
                if (control->priv->reconnect_id == 0)
1948
1951
                        control->priv->reconnect_id = g_timeout_add_seconds (RECONNECT_DELAY, idle_reconnect, control);
1949
1952
                break;
1968
1971
                                       _pa_context_state_cb,
1969
1972
                                       control);
1970
1973
 
1971
 
        g_signal_emit (G_OBJECT (control), signals[CONNECTING], 0);
 
1974
        control->priv->state = GVC_STATE_CONNECTING;
 
1975
        g_signal_emit (G_OBJECT (control), signals[STATE_CHANGED], 0, GVC_STATE_CONNECTING);
1972
1976
        res = pa_context_connect (control->priv->pa_context, NULL, (pa_context_flags_t) PA_CONTEXT_NOFAIL, NULL);
1973
1977
        if (res < 0) {
1974
1978
                g_warning ("Failed to connect context: %s",
1985
1989
        g_return_val_if_fail (control->priv->pa_context != NULL, FALSE);
1986
1990
 
1987
1991
        pa_context_disconnect (control->priv->pa_context);
 
1992
 
 
1993
        control->priv->state = GVC_STATE_CLOSED;
 
1994
        g_signal_emit (G_OBJECT (control), signals[STATE_CHANGED], 0, GVC_STATE_CLOSED);
1988
1995
        return TRUE;
1989
1996
}
1990
1997
 
2125
2132
                                                              NULL,
2126
2133
                                                              G_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY));
2127
2134
 
2128
 
        signals [CONNECTING] =
2129
 
                g_signal_new ("connecting",
2130
 
                              G_TYPE_FROM_CLASS (klass),
2131
 
                              G_SIGNAL_RUN_LAST,
2132
 
                              G_STRUCT_OFFSET (GvcMixerControlClass, connecting),
2133
 
                              NULL, NULL,
2134
 
                              g_cclosure_marshal_VOID__VOID,
2135
 
                              G_TYPE_NONE, 0);
2136
 
        signals [READY] =
2137
 
                g_signal_new ("ready",
2138
 
                              G_TYPE_FROM_CLASS (klass),
2139
 
                              G_SIGNAL_RUN_LAST,
2140
 
                              G_STRUCT_OFFSET (GvcMixerControlClass, ready),
2141
 
                              NULL, NULL,
2142
 
                              g_cclosure_marshal_VOID__VOID,
2143
 
                              G_TYPE_NONE, 0);
 
2135
        signals [STATE_CHANGED] =
 
2136
                g_signal_new ("state-changed",
 
2137
                              G_TYPE_FROM_CLASS (klass),
 
2138
                              G_SIGNAL_RUN_LAST,
 
2139
                              G_STRUCT_OFFSET (GvcMixerControlClass, state_changed),
 
2140
                              NULL, NULL,
 
2141
                              g_cclosure_marshal_VOID__UINT,
 
2142
                              G_TYPE_NONE, 1, G_TYPE_UINT);
2144
2143
        signals [STREAM_ADDED] =
2145
2144
                g_signal_new ("stream-added",
2146
2145
                              G_TYPE_FROM_CLASS (klass),
2212
2211
        control->priv->cards = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_object_unref);
2213
2212
 
2214
2213
        control->priv->clients = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_free);
 
2214
 
 
2215
        control->priv->state = GVC_STATE_CLOSED;
2215
2216
}
2216
2217
 
2217
2218
static void