Lines Matching refs:psink
398 gst_pulsering_is_dead (GstPulseSink * psink, GstPulseRingBuffer * pbuf, in gst_pulsering_is_dead() argument
413 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, ("Disconnected: %s", in gst_pulsering_is_dead()
449 GstPulseSink *psink; in gst_pulsering_context_subscribe_cb() local
459 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_context_subscribe_cb()
461 GST_LOG_OBJECT (psink, "type %04x, idx %u", t, idx); in gst_pulsering_context_subscribe_cb()
469 if (psink->device && pbuf->is_pcm && in gst_pulsering_context_subscribe_cb()
470 !g_str_equal (psink->device, in gst_pulsering_context_subscribe_cb()
476 g_free (psink->device); in gst_pulsering_context_subscribe_cb()
477 psink->device = g_strdup (pa_stream_get_device_name (pbuf->stream)); in gst_pulsering_context_subscribe_cb()
479 GST_INFO_OBJECT (psink, "emitting sink-changed"); in gst_pulsering_context_subscribe_cb()
486 if (!gst_pad_push_event (GST_BASE_SINK (psink)->sinkpad, renego)) in gst_pulsering_context_subscribe_cb()
487 GST_DEBUG_OBJECT (psink, "Emitted sink-changed - nobody was listening"); in gst_pulsering_context_subscribe_cb()
496 g_atomic_int_compare_and_exchange (&psink->notify, 0, 1); in gst_pulsering_context_subscribe_cb()
505 GstPulseSink *psink; in gst_pulseringbuffer_open_device() local
511 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (buf)); in gst_pulseringbuffer_open_device()
515 g_assert (psink->client_name); in gst_pulseringbuffer_open_device()
517 if (psink->server) in gst_pulseringbuffer_open_device()
518 pbuf->context_name = g_strdup_printf ("%s@%s", psink->client_name, in gst_pulseringbuffer_open_device()
519 psink->server); in gst_pulseringbuffer_open_device()
521 pbuf->context_name = g_strdup (psink->client_name); in gst_pulseringbuffer_open_device()
533 GST_INFO_OBJECT (psink, "new context with name %s, pbuf=%p, pctx=%p", in gst_pulseringbuffer_open_device()
550 GST_LOG_OBJECT (psink, "connect to server %s", in gst_pulseringbuffer_open_device()
551 GST_STR_NULL (psink->server)); in gst_pulseringbuffer_open_device()
552 if (pa_context_connect (pctx->context, psink->server, in gst_pulseringbuffer_open_device()
556 GST_INFO_OBJECT (psink, in gst_pulseringbuffer_open_device()
573 GST_LOG_OBJECT (psink, "context state is now %d", state); in gst_pulseringbuffer_open_device()
582 GST_LOG_OBJECT (psink, "waiting.."); in gst_pulseringbuffer_open_device()
591 GST_LOG_OBJECT (psink, "opened the device"); in gst_pulseringbuffer_open_device()
608 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulseringbuffer_open_device()
615 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, ("Failed to connect: %s", in gst_pulseringbuffer_open_device()
621 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, ("PulseAudio server version " in gst_pulseringbuffer_open_device()
631 GstPulseSink *psink; in gst_pulseringbuffer_close_device() local
635 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (buf)); in gst_pulseringbuffer_close_device()
637 GST_LOG_OBJECT (psink, "closing device"); in gst_pulseringbuffer_close_device()
643 GST_LOG_OBJECT (psink, "closed device"); in gst_pulseringbuffer_close_device()
651 GstPulseSink *psink; in gst_pulsering_stream_state_cb() local
656 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_stream_state_cb()
659 GST_LOG_OBJECT (psink, "got new stream state %d", state); in gst_pulsering_stream_state_cb()
665 GST_LOG_OBJECT (psink, "signaling"); in gst_pulsering_stream_state_cb()
677 GstPulseSink *psink; in gst_pulsering_stream_request_cb() local
683 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_stream_request_cb()
685 GST_LOG_OBJECT (psink, "got request for length %" G_GSIZE_FORMAT, length); in gst_pulsering_stream_request_cb()
697 GstPulseSink *psink; in gst_pulsering_stream_underflow_cb() local
701 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_stream_underflow_cb()
703 GST_WARNING_OBJECT (psink, "Got underflow"); in gst_pulsering_stream_underflow_cb()
709 GstPulseSink *psink; in gst_pulsering_stream_overflow_cb() local
713 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_stream_overflow_cb()
715 GST_WARNING_OBJECT (psink, "Got overflow"); in gst_pulsering_stream_overflow_cb()
721 GstPulseSink *psink; in gst_pulsering_stream_latency_cb() local
730 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_stream_latency_cb()
734 GST_LOG_OBJECT (psink, "latency update (information unknown)"); in gst_pulsering_stream_latency_cb()
753 GST_LOG_OBJECT (psink, in gst_pulsering_stream_latency_cb()
764 GstPulseSink *psink; in gst_pulsering_stream_suspended_cb() local
768 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_stream_suspended_cb()
771 GST_DEBUG_OBJECT (psink, "stream suspended"); in gst_pulsering_stream_suspended_cb()
773 GST_DEBUG_OBJECT (psink, "stream resumed"); in gst_pulsering_stream_suspended_cb()
779 GstPulseSink *psink; in gst_pulsering_stream_started_cb() local
783 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_stream_started_cb()
785 GST_DEBUG_OBJECT (psink, "stream started"); in gst_pulsering_stream_started_cb()
792 GstPulseSink *psink; in gst_pulsering_stream_event_cb() local
796 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_stream_event_cb()
800 GST_DEBUG_OBJECT (psink, "got request for CORK"); in gst_pulsering_stream_event_cb()
801 gst_element_post_message (GST_ELEMENT_CAST (psink), in gst_pulsering_stream_event_cb()
802 gst_message_new_request_state (GST_OBJECT_CAST (psink), in gst_pulsering_stream_event_cb()
806 GST_DEBUG_OBJECT (psink, "got request for UNCORK"); in gst_pulsering_stream_event_cb()
807 gst_element_post_message (GST_ELEMENT_CAST (psink), in gst_pulsering_stream_event_cb()
808 gst_message_new_request_state (GST_OBJECT_CAST (psink), in gst_pulsering_stream_event_cb()
813 if (g_atomic_int_get (&psink->format_lost)) { in gst_pulsering_stream_event_cb()
818 GST_DEBUG_OBJECT (psink, "got FORMAT LOST"); in gst_pulsering_stream_event_cb()
819 g_atomic_int_set (&psink->format_lost, 1); in gst_pulsering_stream_event_cb()
820 psink->format_lost_time = g_ascii_strtoull (pa_proplist_gets (pl, in gst_pulsering_stream_event_cb()
823 g_free (psink->device); in gst_pulsering_stream_event_cb()
824 psink->device = g_strdup (pa_proplist_gets (pl, "device")); in gst_pulsering_stream_event_cb()
842 if (!gst_pad_push_event (GST_BASE_SINK (psink)->sinkpad, renego)) { in gst_pulsering_stream_event_cb()
844 GST_ELEMENT_ERROR (psink, STREAM, FORMAT, ("Sink format changed"), in gst_pulsering_stream_event_cb()
848 GST_DEBUG_OBJECT (psink, "got unknown event %s", name); in gst_pulsering_stream_event_cb()
854 gst_pulsering_wait_for_stream_ready (GstPulseSink * psink, pa_stream * stream) in gst_pulsering_wait_for_stream_ready() argument
861 GST_LOG_OBJECT (psink, "stream state is now %d", state); in gst_pulsering_wait_for_stream_ready()
881 GstPulseSink *psink; in gst_pulseringbuffer_acquire() local
897 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (buf)); in gst_pulseringbuffer_acquire()
900 GST_LOG_OBJECT (psink, "creating sample spec"); in gst_pulseringbuffer_acquire()
920 GST_LOG_OBJECT (psink, "subscribing to context events"); in gst_pulseringbuffer_acquire()
932 if (psink->stream_name) in gst_pulseringbuffer_acquire()
933 name = psink->stream_name; in gst_pulseringbuffer_acquire()
940 psink->proplist))) in gst_pulseringbuffer_acquire()
969 GST_INFO_OBJECT (psink, "tlength: %d", wanted.tlength); in gst_pulseringbuffer_acquire()
970 GST_INFO_OBJECT (psink, "maxlength: %d", wanted.maxlength); in gst_pulseringbuffer_acquire()
971 GST_INFO_OBJECT (psink, "prebuf: %d", wanted.prebuf); in gst_pulseringbuffer_acquire()
972 GST_INFO_OBJECT (psink, "minreq: %d", wanted.minreq); in gst_pulseringbuffer_acquire()
975 if (psink->volume_set) { in gst_pulseringbuffer_acquire()
976 GST_LOG_OBJECT (psink, "have volume of %f", psink->volume); in gst_pulseringbuffer_acquire()
979 gst_pulse_cvolume_from_linear (pv, pbuf->channels, psink->volume); in gst_pulseringbuffer_acquire()
981 GST_DEBUG_OBJECT (psink, "passthrough stream, not setting volume"); in gst_pulseringbuffer_acquire()
992 if (psink->mute_set) { in gst_pulseringbuffer_acquire()
993 if (psink->mute) in gst_pulseringbuffer_acquire()
1003 GST_LOG_OBJECT (psink, "connect for playback to device %s", in gst_pulseringbuffer_acquire()
1004 GST_STR_NULL (psink->device)); in gst_pulseringbuffer_acquire()
1005 if (pa_stream_connect_playback (pbuf->stream, psink->device, in gst_pulseringbuffer_acquire()
1010 clock = GST_AUDIO_CLOCK (GST_AUDIO_BASE_SINK (psink)->provided_clock); in gst_pulseringbuffer_acquire()
1013 if (!gst_pulsering_wait_for_stream_ready (psink, pbuf->stream)) in gst_pulseringbuffer_acquire()
1016 g_free (psink->device); in gst_pulseringbuffer_acquire()
1017 psink->device = g_strdup (pa_stream_get_device_name (pbuf->stream)); in gst_pulseringbuffer_acquire()
1022 GST_INFO_OBJECT (psink, "negotiated to: %s", print_buf); in gst_pulseringbuffer_acquire()
1027 psink->volume_set = psink->mute_set = FALSE; in gst_pulseringbuffer_acquire()
1029 GST_LOG_OBJECT (psink, "stream is acquired now"); in gst_pulseringbuffer_acquire()
1034 GST_INFO_OBJECT (psink, "tlength: %d (wanted: %d)", actual->tlength, in gst_pulseringbuffer_acquire()
1036 GST_INFO_OBJECT (psink, "maxlength: %d", actual->maxlength); in gst_pulseringbuffer_acquire()
1037 GST_INFO_OBJECT (psink, "prebuf: %d", actual->prebuf); in gst_pulseringbuffer_acquire()
1038 GST_INFO_OBJECT (psink, "minreq: %d (wanted %d)", actual->minreq, in gst_pulseringbuffer_acquire()
1058 GST_ELEMENT_ERROR (psink, RESOURCE, SETTINGS, in gst_pulseringbuffer_acquire()
1064 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulseringbuffer_acquire()
1071 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulseringbuffer_acquire()
1078 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulseringbuffer_acquire()
1098 GstPulseSink *psink; in gst_pulseringbuffer_release() local
1100 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulseringbuffer_release()
1101 g_atomic_int_set (&psink->format_lost, FALSE); in gst_pulseringbuffer_release()
1102 psink->format_lost_time = GST_CLOCK_TIME_NONE; in gst_pulseringbuffer_release()
1121 GstPulseSink *psink; in gst_pulsering_set_corked() local
1124 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_set_corked()
1126 if (g_atomic_int_get (&psink->format_lost)) { in gst_pulsering_set_corked()
1131 GST_DEBUG_OBJECT (psink, "setting corked state to %d", corked); in gst_pulsering_set_corked()
1139 if (gst_pulsering_is_dead (psink, pbuf, TRUE)) in gst_pulsering_set_corked()
1144 GST_DEBUG_OBJECT (psink, "skipping, already in requested state"); in gst_pulsering_set_corked()
1157 GST_DEBUG_OBJECT (psink, "the server is dead"); in gst_pulsering_set_corked()
1162 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsering_set_corked()
1172 GstPulseSink *psink; in gst_pulseringbuffer_clear() local
1177 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulseringbuffer_clear()
1180 GST_DEBUG_OBJECT (psink, "clearing"); in gst_pulseringbuffer_clear()
1218 GstPulseSink *psink; in gst_pulseringbuffer_start() local
1222 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulseringbuffer_start()
1226 GST_DEBUG_OBJECT (psink, "starting"); in gst_pulseringbuffer_start()
1230 if (GST_BASE_SINK_CAST (psink)->eos || in gst_pulseringbuffer_start()
1231 g_atomic_int_get (&GST_AUDIO_BASE_SINK (psink)->eos_rendering)) in gst_pulseringbuffer_start()
1235 GST_DEBUG_OBJECT (psink, "scheduling stream status"); in gst_pulseringbuffer_start()
1236 psink->defer_pending++; in gst_pulseringbuffer_start()
1238 mainloop_enter_defer_cb, psink); in gst_pulseringbuffer_start()
1245 GST_DEBUG_OBJECT (psink, "waiting for stream status (ENTER) to be posted"); in gst_pulseringbuffer_start()
1258 GstPulseSink *psink; in gst_pulseringbuffer_pause() local
1263 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulseringbuffer_pause()
1266 GST_DEBUG_OBJECT (psink, "pausing and corking"); in gst_pulseringbuffer_pause()
1272 GST_DEBUG_OBJECT (psink, "signal commit"); in gst_pulseringbuffer_pause()
1309 GstPulseSink *psink; in gst_pulseringbuffer_stop() local
1315 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulseringbuffer_stop()
1324 GST_DEBUG_OBJECT (psink, "signal commit thread"); in gst_pulseringbuffer_stop()
1327 if (g_atomic_int_get (&psink->format_lost)) { in gst_pulseringbuffer_stop()
1334 GST_DEBUG_OBJECT (psink, "flushing"); in gst_pulseringbuffer_stop()
1337 GST_DEBUG_OBJECT (psink, "wait for completion"); in gst_pulseringbuffer_stop()
1339 if (gst_pulsering_is_dead (psink, pbuf, TRUE)) in gst_pulseringbuffer_stop()
1342 GST_DEBUG_OBJECT (psink, "flush completed"); in gst_pulseringbuffer_stop()
1352 GST_DEBUG_OBJECT (psink, "scheduling stream status"); in gst_pulseringbuffer_stop()
1353 psink->defer_pending++; in gst_pulseringbuffer_stop()
1355 mainloop_leave_defer_cb, psink); in gst_pulseringbuffer_stop()
1362 GST_DEBUG_OBJECT (psink, "waiting for stream status (LEAVE) to be posted"); in gst_pulseringbuffer_stop()
1373 GST_DEBUG_OBJECT (psink, "the server is dead"); in gst_pulseringbuffer_stop()
1454 GstPulseSink *psink; in gst_pulseringbuffer_commit() local
1465 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulseringbuffer_commit()
1468 if (g_atomic_int_compare_and_exchange (&psink->notify, 1, 0)) { in gst_pulseringbuffer_commit()
1469 g_object_notify (G_OBJECT (psink), "volume"); in gst_pulseringbuffer_commit()
1470 g_object_notify (G_OBJECT (psink), "mute"); in gst_pulseringbuffer_commit()
1471 g_object_notify (G_OBJECT (psink), "current-device"); in gst_pulseringbuffer_commit()
1488 GST_DEBUG_OBJECT (psink, "entering commit"); in gst_pulseringbuffer_commit()
1506 GST_DEBUG_OBJECT (psink, "in %d, out %d", inr, outr); in gst_pulseringbuffer_commit()
1512 if (g_atomic_int_get (&psink->format_lost)) { in gst_pulseringbuffer_commit()
1527 GST_LOG_OBJECT (psink, in gst_pulseringbuffer_commit()
1532 GST_LOG_OBJECT (psink, "discontinuity, offset is %" G_GINT64_FORMAT ", " in gst_pulseringbuffer_commit()
1548 GST_LOG_OBJECT (psink, in gst_pulseringbuffer_commit()
1564 if (g_atomic_int_get (&psink->format_lost)) { in gst_pulseringbuffer_commit()
1585 GST_LOG_OBJECT (psink, "waiting for free space"); in gst_pulseringbuffer_commit()
1597 GST_LOG_OBJECT (psink, "requesting %" G_GSIZE_FORMAT " bytes of " in gst_pulseringbuffer_commit()
1602 GST_LOG_OBJECT (psink, "pa_stream_begin_write() failed"); in gst_pulseringbuffer_commit()
1606 GST_LOG_OBJECT (psink, "got %" G_GSIZE_FORMAT " bytes of shared memory", in gst_pulseringbuffer_commit()
1615 GST_LOG_OBJECT (psink, "writing %u samples at offset %" G_GUINT64_FORMAT, in gst_pulseringbuffer_commit()
1620 GST_WARNING_OBJECT (psink, "Passthrough stream can't run in trick mode"); in gst_pulseringbuffer_commit()
1668 GST_LOG_OBJECT (psink, "flushing %u samples at offset %" G_GINT64_FORMAT, in gst_pulseringbuffer_commit()
1688 GST_LOG_OBJECT (psink, in gst_pulseringbuffer_commit()
1699 GST_LOG_OBJECT (psink, "no timing info available yet"); in gst_pulseringbuffer_commit()
1713 GST_LOG_OBJECT (psink, "wrote %d samples", result); in gst_pulseringbuffer_commit()
1721 GST_LOG_OBJECT (psink, "we are reset"); in gst_pulseringbuffer_commit()
1727 GST_LOG_OBJECT (psink, "we can not start"); in gst_pulseringbuffer_commit()
1732 GST_LOG_OBJECT (psink, "failed to start the ringbuffer"); in gst_pulseringbuffer_commit()
1738 GST_ERROR_OBJECT (psink, "uncork failed"); in gst_pulseringbuffer_commit()
1745 GST_LOG_OBJECT (psink, "we are paused"); in gst_pulseringbuffer_commit()
1751 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulseringbuffer_commit()
1758 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulseringbuffer_commit()
1769 GstPulseSink *psink; in gst_pulsering_flush() local
1771 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsering_flush()
1772 GST_DEBUG_OBJECT (psink, "entering flush"); in gst_pulsering_flush()
1780 GST_LOG_OBJECT (psink, in gst_pulsering_flush()
1800 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsering_flush()
2012 GstPulseSink *psink; in gst_pulsesink_get_time() local
2020 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsesink_get_time()
2022 if (g_atomic_int_get (&psink->format_lost)) { in gst_pulsesink_get_time()
2025 return psink->format_lost_time; in gst_pulsesink_get_time()
2029 if (gst_pulsering_is_dead (psink, pbuf, TRUE)) in gst_pulsesink_get_time()
2035 GST_DEBUG_OBJECT (psink, "could not get time"); in gst_pulsesink_get_time()
2041 GST_LOG_OBJECT (psink, "current time is %" GST_TIME_FORMAT, in gst_pulsesink_get_time()
2049 GST_DEBUG_OBJECT (psink, "the server is dead"); in gst_pulsesink_get_time()
2079 gst_pulsesink_create_probe_stream (GstPulseSink * psink, in gst_pulsesink_create_probe_stream() argument
2086 GST_LOG_OBJECT (psink, "Creating probe stream"); in gst_pulsesink_create_probe_stream()
2089 formats, 1, psink->proplist))) in gst_pulsesink_create_probe_stream()
2098 if (pa_stream_connect_playback (stream, psink->device, NULL, flags, NULL, in gst_pulsesink_create_probe_stream()
2102 if (!gst_pulsering_wait_for_stream_ready (psink, stream)) in gst_pulsesink_create_probe_stream()
2114 gst_pulsesink_query_getcaps (GstPulseSink * psink, GstCaps * filter) in gst_pulsesink_query_getcaps() argument
2123 GST_OBJECT_LOCK (psink); in gst_pulsesink_query_getcaps()
2124 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_query_getcaps()
2127 GST_OBJECT_UNLOCK (psink); in gst_pulsesink_query_getcaps()
2130 ret = gst_pad_get_pad_template_caps (GST_AUDIO_BASE_SINK_PAD (psink)); in gst_pulsesink_query_getcaps()
2138 ret = gst_pad_get_pad_template_caps (GST_AUDIO_BASE_SINK_PAD (psink)); in gst_pulsesink_query_getcaps()
2164 pbuf->probe_stream = gst_pulsesink_create_probe_stream (psink, pbuf, in gst_pulsesink_query_getcaps()
2170 GST_WARNING_OBJECT (psink, "Could not create probe stream"); in gst_pulsesink_query_getcaps()
2184 if (gst_pulsering_is_dead (psink, pbuf, FALSE)) in gst_pulsesink_query_getcaps()
2215 GST_DEBUG_OBJECT (psink, "caps %" GST_PTR_FORMAT, ret); in gst_pulsesink_query_getcaps()
2221 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsesink_query_getcaps()
2229 gst_pulsesink_query_acceptcaps (GstPulseSink * psink, GstCaps * caps) in gst_pulsesink_query_acceptcaps() argument
2243 pad_caps = gst_pad_get_pad_template_caps (GST_BASE_SINK_PAD (psink)); in gst_pulsesink_query_acceptcaps()
2247 GST_DEBUG_OBJECT (psink, "caps %" GST_PTR_FORMAT, caps); in gst_pulsesink_query_acceptcaps()
2258 GST_OBJECT_LOCK (psink); in gst_pulsesink_query_acceptcaps()
2259 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_query_acceptcaps()
2262 GST_OBJECT_UNLOCK (psink); in gst_pulsesink_query_acceptcaps()
2276 spec.latency_time = GST_AUDIO_BASE_SINK (psink)->latency_time; in gst_pulsesink_query_acceptcaps()
2312 if (gst_pulsering_is_dead (psink, pbuf, FALSE)) in gst_pulsesink_query_acceptcaps()
2325 pbuf->probe_stream = gst_pulsesink_create_probe_stream (psink, pbuf, in gst_pulsesink_query_acceptcaps()
2352 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsesink_query_acceptcaps()
2413 gst_pulsesink_set_volume (GstPulseSink * psink, gdouble volume) in gst_pulsesink_set_volume() argument
2425 GST_DEBUG_OBJECT (psink, "setting volume to %f", volume); in gst_pulsesink_set_volume()
2427 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_set_volume()
2458 psink->volume = volume; in gst_pulsesink_set_volume()
2459 psink->volume_set = TRUE; in gst_pulsesink_set_volume()
2461 GST_DEBUG_OBJECT (psink, "we have no mainloop"); in gst_pulsesink_set_volume()
2466 psink->volume = volume; in gst_pulsesink_set_volume()
2467 psink->volume_set = TRUE; in gst_pulsesink_set_volume()
2469 GST_DEBUG_OBJECT (psink, "we have no ringbuffer"); in gst_pulsesink_set_volume()
2474 GST_DEBUG_OBJECT (psink, "we don't have a stream index"); in gst_pulsesink_set_volume()
2479 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsesink_set_volume()
2487 gst_pulsesink_set_mute (GstPulseSink * psink, gboolean mute) in gst_pulsesink_set_mute() argument
2498 GST_DEBUG_OBJECT (psink, "setting mute state to %d", mute); in gst_pulsesink_set_mute()
2500 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_set_mute()
2524 psink->mute = mute; in gst_pulsesink_set_mute()
2525 psink->mute_set = TRUE; in gst_pulsesink_set_mute()
2527 GST_DEBUG_OBJECT (psink, "we have no mainloop"); in gst_pulsesink_set_mute()
2532 psink->mute = mute; in gst_pulsesink_set_mute()
2533 psink->mute_set = TRUE; in gst_pulsesink_set_mute()
2535 GST_DEBUG_OBJECT (psink, "we have no ringbuffer"); in gst_pulsesink_set_mute()
2540 GST_DEBUG_OBJECT (psink, "we don't have a stream index"); in gst_pulsesink_set_mute()
2545 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsesink_set_mute()
2557 GstPulseSink *psink; in gst_pulsesink_sink_input_info_cb() local
2560 psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf)); in gst_pulsesink_sink_input_info_cb()
2572 psink->volume = pa_sw_volume_to_linear (pa_cvolume_max (&i->volume)); in gst_pulsesink_sink_input_info_cb()
2573 psink->mute = i->mute; in gst_pulsesink_sink_input_info_cb()
2574 psink->current_sink_idx = i->sink; in gst_pulsesink_sink_input_info_cb()
2576 if (psink->volume > MAX_VOLUME) { in gst_pulsesink_sink_input_info_cb()
2577 GST_WARNING_OBJECT (psink, "Clipped volume from %f to %f", psink->volume, in gst_pulsesink_sink_input_info_cb()
2579 psink->volume = MAX_VOLUME; in gst_pulsesink_sink_input_info_cb()
2588 gst_pulsesink_get_sink_input_info (GstPulseSink * psink, gdouble * volume, in gst_pulsesink_get_sink_input_info() argument
2600 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_get_sink_input_info()
2613 if (gst_pulsering_is_dead (psink, pbuf, TRUE)) in gst_pulsesink_get_sink_input_info()
2619 *volume = psink->volume; in gst_pulsesink_get_sink_input_info()
2621 *mute = psink->mute; in gst_pulsesink_get_sink_input_info()
2634 *volume = psink->volume; in gst_pulsesink_get_sink_input_info()
2636 *mute = psink->mute; in gst_pulsesink_get_sink_input_info()
2638 GST_DEBUG_OBJECT (psink, "we have no mainloop"); in gst_pulsesink_get_sink_input_info()
2643 GST_DEBUG_OBJECT (psink, "we have no ringbuffer"); in gst_pulsesink_get_sink_input_info()
2648 GST_DEBUG_OBJECT (psink, "we don't have a stream index"); in gst_pulsesink_get_sink_input_info()
2653 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsesink_get_sink_input_info()
2664 GstPulseSink *psink; in gst_pulsesink_current_sink_info_cb() local
2666 psink = GST_PULSESINK_CAST (userdata); in gst_pulsesink_current_sink_info_cb()
2674 if (i->index == psink->current_sink_idx) { in gst_pulsesink_current_sink_info_cb()
2675 g_free (psink->current_sink_name); in gst_pulsesink_current_sink_info_cb()
2676 psink->current_sink_name = g_strdup (i->name); in gst_pulsesink_current_sink_info_cb()
2745 gst_pulsesink_device_description (GstPulseSink * psink) in gst_pulsesink_device_description() argument
2755 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_device_description()
2759 free_device_info (&psink->device_info); in gst_pulsesink_device_description()
2761 psink->device, gst_pulsesink_sink_info_cb, &psink->device_info))) in gst_pulsesink_device_description()
2766 if (gst_pulsering_is_dead (psink, pbuf, FALSE)) in gst_pulsesink_device_description()
2774 t = g_strdup (psink->device_info.description); in gst_pulsesink_device_description()
2782 GST_DEBUG_OBJECT (psink, "we have no mainloop"); in gst_pulsesink_device_description()
2787 GST_DEBUG_OBJECT (psink, "we have no ringbuffer"); in gst_pulsesink_device_description()
2792 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsesink_device_description()
2800 gst_pulsesink_set_stream_device (GstPulseSink * psink, const gchar * device) in gst_pulsesink_set_stream_device() argument
2811 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_set_stream_device()
2819 GST_DEBUG_OBJECT (psink, "setting stream device to %s", device); in gst_pulsesink_set_stream_device()
2837 GST_DEBUG_OBJECT (psink, "we have no mainloop"); in gst_pulsesink_set_stream_device()
2842 GST_DEBUG_OBJECT (psink, "we have no ringbuffer"); in gst_pulsesink_set_stream_device()
2847 GST_DEBUG_OBJECT (psink, "we don't have a stream index"); in gst_pulsesink_set_stream_device()
2852 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsesink_set_stream_device()
2961 gst_pulsesink_change_title (GstPulseSink * psink, const gchar * t) in gst_pulsesink_change_title() argument
2968 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_change_title()
2991 GST_DEBUG_OBJECT (psink, "we have no ringbuffer"); in gst_pulsesink_change_title()
2996 GST_ELEMENT_ERROR (psink, RESOURCE, FAILED, in gst_pulsesink_change_title()
3004 gst_pulsesink_change_props (GstPulseSink * psink, GstTagList * l) in gst_pulsesink_change_props() argument
3043 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_change_props()
3050 GST_DEBUG_OBJECT (psink, "pa_stream_proplist_update() failed"); in gst_pulsesink_change_props()
3070 GST_DEBUG_OBJECT (psink, "we have no ringbuffer"); in gst_pulsesink_change_props()
3076 gst_pulsesink_flush_ringbuffer (GstPulseSink * psink) in gst_pulsesink_flush_ringbuffer() argument
3082 pbuf = GST_PULSERING_BUFFER_CAST (GST_AUDIO_BASE_SINK (psink)->ringbuffer); in gst_pulsesink_flush_ringbuffer()
3103 GST_DEBUG_OBJECT (psink, "we have no ringbuffer"); in gst_pulsesink_flush_ringbuffer()
3210 gst_pulsesink_release_mainloop (GstPulseSink * psink) in gst_pulsesink_release_mainloop() argument
3216 while (psink->defer_pending) { in gst_pulsesink_release_mainloop()
3217 GST_DEBUG_OBJECT (psink, "waiting for stream status message emission"); in gst_pulsesink_release_mainloop()
3225 GST_INFO_OBJECT (psink, "terminating pa main loop thread"); in gst_pulsesink_release_mainloop()