Bug 30386 - Regression: StreamedMediaChannel::streamAdded is not emitted when one requests a new stream using a StreamedMedia channel type
Summary: Regression: StreamedMediaChannel::streamAdded is not emitted when one request...
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: tp-qt (show other bugs)
Version: git master
Hardware: All All
: medium normal
Assignee: Andre Moreira Magalhaes
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-26 11:11 UTC by George Kiagiadakis
Modified: 2010-10-14 04:32 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description George Kiagiadakis 2010-09-26 11:11:07 UTC
When a new stream is requested on a Tp::StreamedMediaChannel that wraps a StreamedMedia channel type, the PendingMediaStreams object internally adds a content for this stream (in PendingMediaStreams::gotSMStreams) but never emits any signal that the stream and the content were added. Later, the StreamedMedia.StreamAdded signal arrives from the connection manager, but the corresponding Qt signal is not emitted because the stream already exists in the StreamedMediaChannel's internal data (StreamedMediaChannel::onSMStreamAdded prints "Received StreamedMedia.StreamAdded for an existing stream, ignoring").

This is a regression compared to older versions, where the streamAdded() signal was emitted correctly in this case, complying with the spec.
Comment 1 Olli Salli 2010-10-13 07:28:17 UTC
Andre has a prospective patch.
Comment 2 Olli Salli 2010-10-13 08:09:47 UTC
Review:

Good catch about the RequestDirection bug. However, currently there's always a group self contact (can be faked from the connection self contact) whenever a Channel is ready - so instead of conditionalizing on whether there is a group self contact, just make requestDirection early-fail (PendingFailure) if the Channel on which it's called on doesn't have Channel::FeatureCore ready. We need that to be ready to know our real groupSelfHandle, if any, anyway.

Added tests seem OK - through due to the complexity/clutter of the API, it's a bit hard to tell for sure :(

So OK to merge with that requestDirection being-ready change.
Comment 3 Olli Salli 2010-10-13 08:10:51 UTC
Review:

Good catch about the RequestDirection bug. However, currently there's always a group self contact (can be faked from the connection self contact) whenever a Channel is ready - so instead of conditionalizing on whether there is a group self contact, just make requestDirection early-fail (PendingFailure) if the Channel on which it's called on doesn't have Channel::FeatureCore ready. We need that to be ready to know our real groupSelfHandle, if any, anyway.

Added tests seem OK - through due to the complexity/clutter of the API, it's a bit hard to tell for sure :(

So OK to merge with that requestDirection being-ready change.
Comment 4 Andre Moreira Magalhaes 2010-10-14 04:32:05 UTC
Merged upstream. It will be in next release 0.3.12.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.