[Bug 30928] New: [PATCH] Sometimes src-pad-added is emitted before request-resource

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Oct 17 00:06:41 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=30928

           Summary: [PATCH] Sometimes src-pad-added is emitted before
                    request-resource
           Product: Telepathy
           Version: git master
          Platform: Other
               URL: http://git.collabora.co.uk/?p=user/gkiagia/telepathy-f
                    arsight.git;a=shortlog;h=refs/heads/fix-src-pad-added
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: tp-farsight
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: kiagiadakis.george at gmail.com
         QAContact: telepathy-bugs at lists.freedesktop.org


Sometimes when I make a call from my desktop to my laptop, the src-pad-added
signal is emitted too early, before the request-resource signal. This causes
trouble, since I assume that request-resource should come first and I create
the sink inside the closure connected to this signal.

As I've mentioned on irc, this happens because:

19:55 < gkiagia> request-resource is connected to some connection manager
signal. As soon as the CM signals it, request-resource is emitted, then the
TfStream is set to receiving state. In TfStream though, that only controls the
input valve of the FsRtpSubStream and not its pads
19:56 < gkiagia> the src-pad-added signal is connected to the pad block
callback of the rtpbin src pad
19:57 < gkiagia> as soon as the pad blocks, the callback is called and the
codecbin and the conference src pad are added
19:57 < gkiagia> so it looks like they are totally unrelated to each other
19:58 < gkiagia> what happens probably is that data is received too early, so
the pad gets a buffer and blocks before the CM manages to finish its work
19:59 < gkiagia> input_valve still stays closed though, but that doesn't really
help :/

This patch (see URL field) fixes the issue by delaying the src-pad-added signal
until the pad has received data, which is implemented by blocking the pad and
emitting the signal in the pad block callback.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list