From 747e63f4e74c3e2d15387c90a2982b5ce8da4524 Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Tue, 10 Jan 2012 23:02:45 +0100 Subject: [PATCH] jack: deactivate the request_state code When qjackctl is started, transport is stopped by default. This would be a regression for gstreamer apps that before just started to play right away. --- ext/jack/gstjackaudiosink.c | 8 +++++++- ext/jack/gstjackaudiosrc.c | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ext/jack/gstjackaudiosink.c b/ext/jack/gstjackaudiosink.c index 43b5240..8e979c3 100644 --- a/ext/jack/gstjackaudiosink.c +++ b/ext/jack/gstjackaudiosink.c @@ -191,12 +191,17 @@ jack_process_cb (jack_nframes_t nframes, void *arg) guint8 *readptr; gint i, j, flen, channels; sample_t *data; - GstState state; + /*GstState state;*/ buf = GST_RING_BUFFER_CAST (arg); sink = GST_JACK_AUDIO_SINK (GST_OBJECT_PARENT (buf)); /* handle transport state requisitions */ + /* + FIXME: qjackctl's initial transport state is stopped + it can be started using jack_transport_start (jack_client_t *); + need to figure out what the policy here is + state = gst_jack_audio_client_get_transport_state (sink->client); if ((state != GST_STATE_VOID_PENDING) && (GST_STATE (sink) != state)) { GST_DEBUG_OBJECT (sink, "requesting state change: %s", @@ -204,6 +209,7 @@ jack_process_cb (jack_nframes_t nframes, void *arg) gst_element_post_message (GST_ELEMENT (sink), gst_message_new_request_state (GST_OBJECT (sink), state)); } + */ channels = buf->spec.channels; diff --git a/ext/jack/gstjackaudiosrc.c b/ext/jack/gstjackaudiosrc.c index a8ca1ed..9eaba47 100644 --- a/ext/jack/gstjackaudiosrc.c +++ b/ext/jack/gstjackaudiosrc.c @@ -211,12 +211,17 @@ jack_process_cb (jack_nframes_t nframes, void *arg) gint writeseg; gint channels, i, j, flen; sample_t *data; - GstState state; + /*GstState state;*/ buf = GST_RING_BUFFER_CAST (arg); src = GST_JACK_AUDIO_SRC (GST_OBJECT_PARENT (buf)); /* handle transport state requisitions */ + /* + FIXME: qjackctl's initial transport state is stopped + it can be started using jack_transport_start (jack_client_t *); + need to figure out what the policy here is + state = gst_jack_audio_client_get_transport_state (src->client); if ((state != GST_STATE_VOID_PENDING) && (GST_STATE (src) != state)) { GST_DEBUG_OBJECT (src, "requesting state change: %s", @@ -224,6 +229,7 @@ jack_process_cb (jack_nframes_t nframes, void *arg) gst_element_post_message (GST_ELEMENT (src), gst_message_new_request_state (GST_OBJECT (src), state)); } + */ channels = buf->spec.channels; -- 2.7.4