webrtc - GetStats()使用空的RTCStatsReport调用OnStatsDelivered

时间:2017-04-28 12:15:30

标签: c++ webrtc

我正在使用新的 WebRTC统计信息API 与生成统计信息报告时调用的 RTCStatsCollectorCallback 对象。我调用了GetStats(),然后我可以看到 OnStatsDelivered 是使用一个RTCStatsReport调用的,它只包含stats_ member中的一个(空)项。在 GetStats()调用中,我传递了我自己的实现webrtc :: RTCStatsCollectorCallback接口的RTCStatsCollectorCallback实现。我的问题是,为了获得带有指标的RTCStatsReport,PeerConnection中是否需要一些设置或约束?我的意思是,要获得,例如kStatsValueNameRtt stat,我需要在PeerConnection中设置一些东西。请注意,我在分支 55 中使用 C ++原生API 。这个新的统计数据API是否已完全实现?

1 个答案:

答案 0 :(得分:0)

我已成功使用旧的GetStats方法:

bool GetStats(StatsObserver* observer,
            webrtc::MediaStreamTrackInterface* track,
            StatsOutputLevel level) override;

可能是您的问题是由于尝试使用正在进行的API(webrtc框架有点疯狂西部)。目前,peerconnectiointernface.h说明如下:

// Gets stats using the new stats collection API, see webrtc/api/stats/. These
// will replace old stats collection API when the new API has matured enough.
// TODO(hbos): Default implementation that does nothing only exists as to not
// break third party projects. As soon as they have been updated this should
// be changed to "= 0;".
virtual void GetStats(RTCStatsCollectorCallback* callback) {}

当我写这个回复时,你的问题已经有6个月了,所以这个新的API现在可能正在运行(尽管上面的评论另有说明)。