当前位置: 首页>>代码示例>>C++>>正文


C++ pa_context_get_state函数代码示例

本文整理汇总了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;
  }
}
开发者ID:TELE-TWIN,项目名称:enigma2pc-1,代码行数:24,代码来源:audio_pulse_out.c

示例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;
  }
}
开发者ID:rosciio,项目名称:gst-plugins-good,代码行数:19,代码来源:pulsesrc.c

示例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;
    }
}
开发者ID:KOLIA112,项目名称:pulseaudio,代码行数:19,代码来源:simple.c

示例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;
	}
}
开发者ID:osandov,项目名称:supavolumed,代码行数:19,代码来源:supavolumed.c

示例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;
    }
}
开发者ID:Pradeeplge,项目名称:pulseaudio,代码行数:42,代码来源:palist_devices.c

示例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;
            }
      }
开发者ID:CammyVee,项目名称:MuseScore,代码行数:20,代码来源:pulseaudio.cpp

示例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;
}
开发者ID:p2004a,项目名称:pulseaudio-chromecast-sink,代码行数:20,代码来源:audio_sinks_manager.cpp

示例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;
    }
}
开发者ID:microe,项目名称:mythtv,代码行数:20,代码来源:audiooutputpulse.cpp

示例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;
    }
}
开发者ID:ruedigergad,项目名称:vumeter,代码行数:20,代码来源:pa_context_helper.cpp

示例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;
    }
}
开发者ID:sgiurgiu,项目名称:QAudioSwitcher,代码行数:21,代码来源:pulseaudiosinksmanager.cpp

示例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;
    }
}
开发者ID:bhanug,项目名称:virtualbox,代码行数:24,代码来源:DrvHostPulseAudio.cpp

示例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;
  }
}
开发者ID:JJCG,项目名称:gst-plugins-good,代码行数:21,代码来源:pulsemixerctrl.c

示例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;
	}
}
开发者ID:10084462,项目名称:FreeRDP,代码行数:21,代码来源:tsmf_pulse.c

示例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();
    }
}
开发者ID:Distrotech,项目名称:pulseaudio,代码行数:41,代码来源:sync-playback.c

示例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);
}
开发者ID:de-vri-es,项目名称:xfce4-volumed-pulse,代码行数:39,代码来源:xvd_pulse.c


注:本文中的pa_context_get_state函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。