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