Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH] android/client-av: Close audio output stream on a2dp disconnection
@ 2014-02-06  9:06 Jakub Tyszkowski
  2014-02-06 14:12 ` Szymon Janc
  0 siblings, 1 reply; 2+ messages in thread
From: Jakub Tyszkowski @ 2014-02-06  9:06 UTC (permalink / raw)
  To: linux-bluetooth

This patch makes haltest's audio part aware of a2dp disconnection and
closes audio output stream. This fixes the issue with CPU cycles being
eaten up by playback thread still trying to send audio data after
disconnection.
---
 android/client/if-av.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/android/client/if-av.c b/android/client/if-av.c
index 8d1f69b..ef1d997 100644
--- a/android/client/if-av.c
+++ b/android/client/if-av.c
@@ -41,6 +41,13 @@ static void connection_state(btav_connection_state_t state,
 	haltest_info("%s: connection_state=%s remote_bd_addr=%s\n", __func__,
 					btav_connection_state_t2str(state),
 					bt_bdaddr_t2str(bd_addr, last_addr));
+
+	if (state == BTAV_CONNECTION_STATE_DISCONNECTED) {
+		const struct method *m = get_interface_method("audio",
+							"close_output_stream");
+		if (m)
+			m->func(0, NULL);
+	}
 }
 
 static void audio_state(btav_audio_state_t state, bt_bdaddr_t *bd_addr)
-- 
1.8.5.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] android/client-av: Close audio output stream on a2dp disconnection
  2014-02-06  9:06 [PATCH] android/client-av: Close audio output stream on a2dp disconnection Jakub Tyszkowski
@ 2014-02-06 14:12 ` Szymon Janc
  0 siblings, 0 replies; 2+ messages in thread
From: Szymon Janc @ 2014-02-06 14:12 UTC (permalink / raw)
  To: Jakub Tyszkowski; +Cc: linux-bluetooth

Hi Jakub,

On Thursday 06 of February 2014 10:06:01 Jakub Tyszkowski wrote:
> This patch makes haltest's audio part aware of a2dp disconnection and
> closes audio output stream. This fixes the issue with CPU cycles being
> eaten up by playback thread still trying to send audio data after
> disconnection.
> ---
>  android/client/if-av.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/android/client/if-av.c b/android/client/if-av.c
> index 8d1f69b..ef1d997 100644
> --- a/android/client/if-av.c
> +++ b/android/client/if-av.c
> @@ -41,6 +41,13 @@ static void connection_state(btav_connection_state_t state,
>  	haltest_info("%s: connection_state=%s remote_bd_addr=%s\n", __func__,
>  					btav_connection_state_t2str(state),
>  					bt_bdaddr_t2str(bd_addr, last_addr));
> +
> +	if (state == BTAV_CONNECTION_STATE_DISCONNECTED) {
> +		const struct method *m = get_interface_method("audio",
> +							"close_output_stream");
> +		if (m)
> +			m->func(0, NULL);
> +	}
>  }

I think haltest should not be that smart and interaction of audio and av should
be handled by user (it is 'emulating' mediaserver, right?). I pushed fix for CPU
eating myself.

>  
>  static void audio_state(btav_audio_state_t state, bt_bdaddr_t *bd_addr)
> 

-- 
Best regards, 
Szymon Janc

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-02-06 14:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-06  9:06 [PATCH] android/client-av: Close audio output stream on a2dp disconnection Jakub Tyszkowski
2014-02-06 14:12 ` Szymon Janc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox