本文整理汇总了C++中pa_context_get_state函数的典型用法代码示例。如果您正苦于以下问题:C++ pa_context_get_state函数的具体用法?C++ pa_context_get_state怎么用?C++ pa_context_get_state使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pa_context_get_state函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: __xine_pa_context_state_callback
/**
* @brief Callback function called when the state of the context is changed
* @param c Context which changed status
* @param this_gen pulse_class_t pointer for the PulseAudio output class
*/
static void __xine_pa_context_state_callback(pa_context *c, void *this_gen)
{
pulse_driver_t * this = (pulse_driver_t*) this_gen;
switch (pa_context_get_state(c)) {
case PA_CONTEXT_READY:
case PA_CONTEXT_TERMINATED:
case PA_CONTEXT_FAILED:
pa_threaded_mainloop_signal(this->mainloop, 0);
break;
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_UNCONNECTED:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
break;
}
}
示例2: gst_pulsesrc_context_state_cb
static void
gst_pulsesrc_context_state_cb (pa_context * c, void *userdata)
{
GstPulseSrc *pulsesrc = GST_PULSESRC_CAST (userdata);
switch (pa_context_get_state (c)) {
case PA_CONTEXT_READY:
case PA_CONTEXT_TERMINATED:
case PA_CONTEXT_FAILED:
pa_threaded_mainloop_signal (pulsesrc->mainloop, 0);
break;
case PA_CONTEXT_UNCONNECTED:
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
break;
}
}
示例3: context_state_cb
static void context_state_cb(pa_context *c, void *userdata) {
pa_simple *p = userdata;
pa_assert(c);
pa_assert(p);
switch (pa_context_get_state(c)) {
case PA_CONTEXT_READY:
case PA_CONTEXT_TERMINATED:
case PA_CONTEXT_FAILED:
pa_threaded_mainloop_signal(p->mainloop, 0);
break;
case PA_CONTEXT_UNCONNECTED:
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
break;
}
}
示例4: context_state_callback
static void context_state_callback(pa_context *c, void *userdata)
{
switch (pa_context_get_state(c)) {
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
case PA_CONTEXT_READY:
break;
case PA_CONTEXT_TERMINATED:
gtk_main_quit();
break;
case PA_CONTEXT_FAILED:
default:
fprintf(stderr, "Connection failure: %s",
pa_strerror(pa_context_errno(c)));
gtk_main_quit();
break;
}
}
示例5: context_state_cb
void context_state_cb(pa_context *c, void *userdata) {
switch (pa_context_get_state(c)) {
case PA_CONTEXT_UNCONNECTED:
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
break;
case PA_CONTEXT_READY: {
printf("func = %s , LINE = %d \n",__func__,__LINE__);
pa_operation *o;
// set up a callback to tell us about source devices
if (!(o = pa_context_get_source_info_list(c,
sourcelist_cb,
NULL
))) {
show_error(_("pa_context_subscribe() failed"));
return;
}
pa_operation_unref(o);
// set up a callback to tell us about sink devices
if (!(o = pa_context_get_sink_info_list(c,
sinklist_cb,
NULL
))) {
show_error(_("pa_context_subscribe() failed"));
return;
}
pa_operation_unref(o);
break;
}
case PA_CONTEXT_FAILED:
case PA_CONTEXT_TERMINATED:
default:
return;
}
}
示例6: pa_state_cb
static void pa_state_cb(pa_context* c, void* data)
{
int* pa_ready = (int*)data;
switch (pa_context_get_state(c)) {
// These are just here for reference
case PA_CONTEXT_UNCONNECTED:
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
default:
break;
case PA_CONTEXT_FAILED:
case PA_CONTEXT_TERMINATED:
*pa_ready = 2;
break;
case PA_CONTEXT_READY:
*pa_ready = 1;
break;
}
}
示例7: InternalAudioSink
std::shared_ptr<AudioSink> AudioSinksManager::create_new_sink(std::string name,
std::string pretty_name) {
auto internal_sink = std::shared_ptr<InternalAudioSink>(
new InternalAudioSink(this, std::move(name), std::move(pretty_name)));
auto sink = std::shared_ptr<AudioSink>(new AudioSink(internal_sink));
pa_mainloop.get_strand().dispatch([this, internal_sink]() {
if (stopping) {
internal_sink->free();
} else {
logger->trace("(AudioSinkManager) Registering audio_sink '{}'",
internal_sink->get_name());
audio_sinks.insert(internal_sink);
sink_identifier_audio_sink.emplace(internal_sink->get_identifier(), internal_sink);
if (pa_context_get_state(context) == PA_CONTEXT_READY) {
internal_sink->start_sink();
}
}
});
return sink;
}
示例8: switch
void AudioOutputPulseAudio::ContextStateCallback(pa_context *c, void *arg)
{
QString fn_log_tag = "_ContextStateCallback, ";
AudioOutputPulseAudio *audoutP = static_cast<AudioOutputPulseAudio*>(arg);
switch (pa_context_get_state(c))
{
case PA_CONTEXT_READY:
pa_threaded_mainloop_signal(audoutP->mainloop, 0);
break;
case PA_CONTEXT_TERMINATED:
case PA_CONTEXT_FAILED:
pa_threaded_mainloop_signal(audoutP->mainloop, 0);
break;
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_UNCONNECTED:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
break;
}
}
示例9: context_state_callback
void context_state_callback(pa_context *context, void *data){
(void) data;
pa_context_state_t state = pa_context_get_state(context);
qDebug("Context state changed: %d", state);
switch(state){
case PA_CONTEXT_READY:
qDebug("Ready, set, go...");
connected = true;
pa_threaded_mainloop_signal(threaded_main_loop, 0);
break;
case PA_CONTEXT_FAILED:
qDebug("Connecting context failed.");
failed = true;
pa_threaded_mainloop_signal(threaded_main_loop, 0);
break;
default:
break;
}
}
示例10: pa_context_get_state
void PulseAudioSinksManager::pulseAudioStateCallback(pa_context *ctx, void *userdata)
{
PulseAudioSinksManager* sinksManager = (PulseAudioSinksManager*)userdata;
pa_context_state_t state = pa_context_get_state(ctx);
switch (state) {
// There are just here for reference
case PA_CONTEXT_UNCONNECTED:
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
case PA_CONTEXT_TERMINATED:
default:
break;
case PA_CONTEXT_FAILED:
sinksManager->emitSignalError("Cannot connect to pulse audio");
break;
case PA_CONTEXT_READY:
sinksManager->retrieveSinksInfo();
break;
}
}
示例11: drvHostPulseAudioCbCtxState
/**
* Context status changed.
*/
static void drvHostPulseAudioCbCtxState(pa_context *pContext, void *pvUser)
{
AssertPtrReturnVoid(pContext);
NOREF(pvUser);
switch (pa_context_get_state(pContext))
{
case PA_CONTEXT_READY:
case PA_CONTEXT_TERMINATED:
drvHostPulseAudioAbortMainLoop();
break;
case PA_CONTEXT_FAILED:
LogRel(("PulseAudio: Audio input/output stopped!\n"));
drvHostPulseAudioAbortMainLoop();
break;
default:
break;
}
}
示例12: gst_pulsemixer_ctrl_context_state_cb
static void
gst_pulsemixer_ctrl_context_state_cb (pa_context * context, void *userdata)
{
GstPulseMixerCtrl *c = GST_PULSEMIXER_CTRL (userdata);
/* Called from the background thread! */
switch (pa_context_get_state (context)) {
case PA_CONTEXT_READY:
case PA_CONTEXT_TERMINATED:
case PA_CONTEXT_FAILED:
pa_threaded_mainloop_signal (c->mainloop, 0);
break;
case PA_CONTEXT_UNCONNECTED:
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
break;
}
}
示例13: tsmf_pulse_context_state_callback
static void tsmf_pulse_context_state_callback(pa_context *context, void *userdata)
{
TSMFPulseAudioDevice *pulse = (TSMFPulseAudioDevice *) userdata;
pa_context_state_t state;
state = pa_context_get_state(context);
switch(state)
{
case PA_CONTEXT_READY:
DEBUG_TSMF("PA_CONTEXT_READY");
pa_threaded_mainloop_signal(pulse->mainloop, 0);
break;
case PA_CONTEXT_FAILED:
case PA_CONTEXT_TERMINATED:
DEBUG_TSMF("state %d", (int)state);
pa_threaded_mainloop_signal(pulse->mainloop, 0);
break;
default:
DEBUG_TSMF("state %d", (int)state);
break;
}
}
示例14: context_state_callback
/* This is called whenever the context status changes */
static void context_state_callback(pa_context *c, void *userdata) {
fail_unless(c != NULL);
switch (pa_context_get_state(c)) {
case PA_CONTEXT_CONNECTING:
case PA_CONTEXT_AUTHORIZING:
case PA_CONTEXT_SETTING_NAME:
break;
case PA_CONTEXT_READY: {
int i;
fprintf(stderr, "Connection established.\n");
for (i = 0; i < NSTREAMS; i++) {
char name[64];
fprintf(stderr, "Creating stream %i\n", i);
snprintf(name, sizeof(name), "stream #%i", i);
streams[i] = pa_stream_new(c, name, &sample_spec, NULL);
fail_unless(streams[i] != NULL);
pa_stream_set_state_callback(streams[i], stream_state_callback, (void*) (long) i);
pa_stream_connect_playback(streams[i], NULL, &buffer_attr, PA_STREAM_START_CORKED, NULL, i == 0 ? NULL : streams[0]);
}
break;
}
case PA_CONTEXT_TERMINATED:
mainloop_api->quit(mainloop_api, 0);
break;
case PA_CONTEXT_FAILED:
default:
fprintf(stderr, "Context error: %s\n", pa_strerror(pa_context_errno(c)));
fail();
}
}
示例15: xvd_toggle_mute
void
xvd_toggle_mute (XvdInstance *i)
{
pa_operation *op = NULL;
if (!i || !i->pulse_context)
{
g_warning ("xvd_toggle_mute: pulseaudio context is null");
return;
}
if (pa_context_get_state (i->pulse_context) != PA_CONTEXT_READY)
{
g_warning ("xvd_toggle_mute: pulseaudio context isn't ready");
return;
}
if (i->sink_index == PA_INVALID_INDEX)
{
g_warning ("xvd_toggle_mute: undefined sink");
return;
}
/* backup existing mute and update */
i->mute = !(old_mute = i->mute);
op = pa_context_set_sink_mute_by_index (i->pulse_context,
i->sink_index,
i->mute,
xvd_notify_volume_callback,
i);
if (!op)
{
g_warning ("xvd_toggle_mute: failed");
return;
}
pa_operation_unref (op);
}