From: David Woodhouse Date: Fri, 3 Nov 2017 08:30:52 +0000 (+0000) Subject: Not working with filesink X-Git-Tag: v0.2~6 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3bcee8fba3a577dc83a0716abba54efaeb28c1cf;p=pidgin-chime.git Not working with filesink The fsappbin1 bin never entes the PLAYING state, for some reason. Hopefully I can get a coherent response to https://lists.freedesktop.org/archives/farstream-devel/2017-November/000079.html --- diff --git a/chat.c b/chat.c index 8b62298..6a0b6d0 100644 --- a/chat.c +++ b/chat.c @@ -314,7 +314,7 @@ static void audio_joined(GObject *source, GAsyncResult *result, gpointer _chat) if (!chat->audio) return; -#if 1 /* FIXME make this work... */ +#if 0 /* FIXME make this work... */ const gchar *name = chime_call_get_alert_body(chat->call); chat->media = purple_media_manager_create_media(purple_media_manager_get(), chat->conv->account, @@ -326,7 +326,6 @@ static void audio_joined(GObject *source, GAsyncResult *result, gpointer _chat) gboolean r = purple_media_add_stream(chat->media, "chime", name, PURPLE_MEDIA_AUDIO, TRUE, "app", 0, NULL); - purple_media_stream_info(chat->media, PURPLE_MEDIA_INFO_ACCEPT, "chime", name, FALSE); printf("Add stream %s\n", r ? "succeeded" : "failed"); GList *cands = g_list_append (NULL, purple_media_candidate_new(NULL, 1, @@ -334,10 +333,10 @@ static void audio_joined(GObject *source, GAsyncResult *result, gpointer _chat) GList *codecs = g_list_append(NULL, purple_media_codec_new(1, "audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1", PURPLE_MEDIA_AUDIO, 0)); - // purple_media_set_send_codec(chat->media, "chime", codecs->data); - purple_media_add_remote_candidates(chat->media, "chime", name, cands); + purple_media_set_send_codec(chat->media, "chime", codecs->data); purple_media_set_remote_codecs(chat->media, "chime", name, codecs); + purple_media_stream_info(chat->media, PURPLE_MEDIA_INFO_ACCEPT, "chime", name, FALSE); } #endif } diff --git a/fs-app-stream-transmitter.c b/fs-app-stream-transmitter.c index edb6f61..d174f80 100644 --- a/fs-app-stream-transmitter.c +++ b/fs-app-stream-transmitter.c @@ -385,7 +385,7 @@ static void connected_cb (guint component, gint id, gpointer data) { FsAppStreamTransmitter *self = data; - + printf("emit state-changed for %p:%u\n", self, component); g_signal_emit_by_name (self, "state-changed", component, FS_STREAM_STATE_READY); } @@ -419,7 +419,7 @@ fs_app_stream_transmitter_add_sink (FsAppStreamTransmitter *self, if (candidate->component_id == 1) { fs_app_transmitter_sink_set_sending (self->priv->transmitter, self->priv->app_sink[candidate->component_id], self->priv->sending); - // connected_cb(1, 0, self); + connected_cb(1, 0, self); } return TRUE; } @@ -578,7 +578,7 @@ fs_app_stream_transmitter_gather_local_candidates ( if (c == 1) { fs_app_transmitter_sink_set_sending (self->priv->transmitter, self->priv->app_sink[c], self->priv->sending); - // connected_cb(1, 0, self); + connected_cb(1, 0, self); } } diff --git a/fs-app-transmitter.c b/fs-app-transmitter.c index d8d068c..a51e445 100644 --- a/fs-app-transmitter.c +++ b/fs-app-transmitter.c @@ -778,7 +778,7 @@ fs_app_transmitter_get_app_sink (FsAppTransmitter *self, /* First add the sink */ - elem = gst_element_factory_make ("appsink", NULL); + elem = gst_element_factory_make ("filesink", NULL); if (!elem) { g_set_error (error, FS_ERROR, FS_ERROR_CONSTRUCTION,