Audio src blocked before session set up
Olivier Crête
olivier.crete at collabora.com
Thu Apr 19 15:23:56 UTC 2018
Hi,
Definitely not something fixed.
It could simply be that the src inside Pidgin is connected to Farstream
before Farstream is in the PAUSED or PLAYING state, which would cause
the src to stop.
Can you reproduce it with GST_DEBUG=GST_SCHEDULING:9 ?
Olivier
On Wed, 2018-04-18 at 22:18 +0100, David Woodhouse wrote:
> I've suddenly started experiencing a problem where my outbound audio
> in
> Pidgin is missing — Farstream never seems to send any audio, and I
> don't even get the farstream-send-codec-changed signal.
>
> It's sporadic, and relatively hard to reproduce. And of course the
> more
> I turn up the GST_DEBUG debugging, the harder it gets.
>
> It looks like the problem occurs when pulsesrc gets blocked:
>
> New App transmitter
> (11:21:32) GLib-GObject: g_object_newv: object class
> 'FsAppStreamTransmitter' has no property named 'controlling-mode'
> 0:00:05.967645116 23118 0x1e07290 WARN fsconference
> fs-stream-transmitter.c:294:fs_stream_transmitter_set_property:
> Subclass FsAppStreamTransmitter of FsStreamTransm
> itter does not override the preferred-local-candidates property
> setter
> 0:00:05.967674719 23118 0x1e07290 INFO GST_EVENT
> gstevent.c:1382:gst_event_new_reconfigure: creating reconfigure event
> (11:21:32) media: Creating hash table for sessions
> (11:21:32) gtkmedia: state: 0 sid: chime name: (null)
> (11:21:32) headset: media state-changed: PURPLE_MEDIA_STATE_NEW chime
> (null)
> 0:00:05.938819668 23118 0x2e41630 INFO GST_ELEMENT_PADS
> gstelement.c:904:gst_element_get_static_pad: no such pad 'sink' in
> element "pulsesrc0"
> 0:00:05.967796826 23118 0x2e41630 FIXME default
> gstutils.c:3766:gst_pad_create_stream_id_internal:<pulsesrc0:src>
> Creating random stream-id, consider implementing a deterministic way
> of creating a stream-id
> 0:00:05.967852418 23118 0x2e41630 INFO basesrc
> gstbasesrc.c:2739:gst_base_src_loop:<pulsesrc0> pausing after
> gst_base_src_get_range() = flushing
> 0:00:05.967864004 23118 0x2e41630 INFO task
> gsttask.c:316:gst_task_func:<pulsesrc0:src> Task going to paused
> (11:21:32) chime: Call media state 0
>
>
> After that, I never get any more audio data.
>
> In a working call, the first buffer from the pulsesrc seems to come
> *earlier*, and I don't quite understand what's going on, but it
> doesn't
> get paused and everything works.
>
> $ grep backend-fs2 fscall-working
> (11:19:53) backend-fs2: Creating hash table for sessions
> (11:19:53) backend-fs2: connecting pad: success
> (11:19:53) backend-fs2: create_src: setting source state to
> GST_STATE_PLAYING - it may hang here on win32
> (11:19:53) backend-fs2: create_src: state set
> (11:19:53) backend-fs2: Creating hash table for participants
> (11:19:53) backend-fs2: got new local candidate: (null)
> (11:19:53) backend-fs2: farstream-send-codec-changed: codec: 97:
> audio CHIME clock:16000 channels:1
> (11:19:54) backend-fs2: farstream-recv-codecs-changed: CHIME
>
> $ grep backend-fs2 fscall-silent
> (11:21:32) backend-fs2: Creating hash table for sessions
> (11:21:32) backend-fs2: connecting pad: success
> (11:21:32) backend-fs2: create_src: setting source state to
> GST_STATE_PLAYING - it may hang here on win32
> (11:21:32) backend-fs2: create_src: state set
> (11:21:32) backend-fs2: Creating hash table for participants
> (11:21:32) backend-fs2: got new local candidate: (null)
> (11:21:32) backend-fs2: farstream-recv-codecs-changed: CHIME
>
> Log files at http://david.woodhou.se/fscall-silent and
> http://david.woodhou.se/fscall-working
>
> Graphs at http://david.woodhou.se/fscall-silent-graph.svg and
> http://david.woodhou.se/fscall-working-graph.svg
>
> What's going wrong here? Is Pidgin setting the src element to PLAYING
> too soon? This is Farstream 0.2.7 FWIW; is there something fixed in
> 0.2.8 or later?
> _______________________________________________
> Farstream-devel mailing list
> Farstream-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/farstream-devel
--
Olivier Crête
olivier.crete at collabora.com
More information about the Farstream-devel
mailing list