[snappy/aurena] Stop playback if the client gets disabled.
- From: Jan Schmidt <jschmidt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [snappy/aurena] Stop playback if the client gets disabled.
- Date: Mon, 17 Sep 2012 12:09:00 +0000 (UTC)
commit 50692052189c2990261720d2dfffe02c4012bbcb
Author: Jan Schmidt <thaytan noraisin net>
Date: Mon Sep 17 22:08:10 2012 +1000
Stop playback if the client gets disabled.
src/snra-client.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/src/snra-client.c b/src/snra-client.c
index 24a8513..a8cd1b8 100644
--- a/src/snra-client.c
+++ b/src/snra-client.c
@@ -278,16 +278,18 @@ handle_play_message (SnraClient * client, GstStructure * s)
if (client->ui) {
GstClockTime stream_time =
gst_clock_get_time (client->net_clock) - base_time;
- g_print ("Playing base_time %" GST_TIME_FORMAT " (offset %" GST_TIME_FORMAT
- ")\n", GST_TIME_ARGS (base_time), GST_TIME_ARGS (stream_time));
gst_element_set_base_time (GST_ELEMENT (client->ui->engine->player),
base_time);
if (client->enabled == FALSE) {
+ g_print ("Client disabled. Not playing\n");
client->state = DISABLED_STATE;
engine_stop (client->ui->engine);
} else {
+ g_print ("Playing base_time %" GST_TIME_FORMAT " (offset %" GST_TIME_FORMAT
+ ")\n", GST_TIME_ARGS (base_time), GST_TIME_ARGS (stream_time));
client->state = GST_STATE_PLAYING;
engine_play (client->ui->engine);
+ toggle_playing (client->ui, TRUE);
}
}
}
@@ -311,9 +313,10 @@ handle_set_client_message (SnraClient * client, GstStructure * s)
if (!snra_json_structure_get_boolean (s, "enabled", &client->enabled))
return;
- if (client->enabled == FALSE)
+ if (client->enabled == FALSE) {
client->state = DISABLED_STATE;
- else if (client->paused) {
+ engine_stop (client->ui->engine);
+ } else if (client->paused) {
client->state = GST_STATE_PAUSED;
engine_stop (client->ui->engine);
} else {
@@ -372,8 +375,6 @@ handle_received_chunk (G_GNUC_UNUSED SoupMessage * msg, SoupBuffer * chunk,
} else if (g_str_equal (msg_type, "play")) {
g_print ("chunk: play\n");
handle_play_message (client, s);
- change_state (client->ui->engine, "Playing");
- toggle_playing (client->ui, TRUE);
} else if (g_str_equal (msg_type, "pause")) {
g_print ("chunk: pause\n");
client->paused = TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]