• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import unittest
2
3import common
4
5from autotest_lib.server.cros import cfm_jmidata_log_collector
6
7
8class CfmJmidataLogCollectorTest(unittest.TestCase):
9    """
10    Tests for the CfmJmidataLogCOllector.
11    """
12    # Test methods, disable missing-docstring
13    # pylint: disable=missing-docstring
14    def jmi_get_no_error(self, key):
15        data = cfm_jmidata_log_collector.GetDataFromLogs(self, key, JMI_LOG)
16
17    def test_jmi_data(self):
18        # TODO(kerl): Add assertions on the actual values.
19        self.jmi_get_no_error('video_sent_bytes')
20        self.jmi_get_no_error('video_received_bytes')
21        self.jmi_get_no_error('audio_sent_bytes')
22        self.jmi_get_no_error('audio_received_bytes')
23        self.jmi_get_no_error('audio_received_energy_level')
24        self.jmi_get_no_error('audio_sent_energy_level')
25        self.jmi_get_no_error('framerate_received')
26        self.jmi_get_no_error('framerate_sent')
27        self.jmi_get_no_error('framerate_decoded')
28        self.jmi_get_no_error('frames_decoded')
29        self.jmi_get_no_error('frames_encoded')
30        self.jmi_get_no_error('average_encode_time')
31        self.jmi_get_no_error('framerate_to_renderer')
32        self.jmi_get_no_error('framerate_outgoing')
33        self.jmi_get_no_error('video_sent_frame_width')
34        self.jmi_get_no_error('video_received_frame_width')
35        self.jmi_get_no_error('video_sent_frame_height')
36        self.jmi_get_no_error('video_received_frame_height')
37        self.jmi_get_no_error('cpu_adaptation')
38        self.jmi_get_no_error('bandwidth_adaptation')
39        self.jmi_get_no_error('adaptation_changes')
40        self.jmi_get_no_error('video_packets_sent')
41        self.jmi_get_no_error('video_packets_lost')
42        self.jmi_get_no_error('video_encode_cpu_usage')
43        self.jmi_get_no_error('num_active_vid_in_streams')
44        self.jmi_get_no_error('cpu_processors')
45        self.jmi_get_no_error('cpu_percent')
46        self.jmi_get_no_error('browser_cpu_percent')
47        self.jmi_get_no_error('gpu_cpu_percent')
48        self.jmi_get_no_error('nacl_effects_cpu_percent')
49        self.jmi_get_no_error('renderer_cpu_percent')
50
51if __name__ == '__main__':
52    unittest.main()
53
54
55JMI_LOG = (
56'[15.269s]8 talk.media.webrtc.FluteSession: Sending ["jmidatav3","muvc-priva'
57'te-chat-9999i7ng7stjkncgvef6rsa76e44sme@groupchat.google.com","c24448231337'
58'9091599_NMS",0,{"global":{"jmiVersion":3,"numOfProcessors":4,"totalCpuUsage'
59'":118.68242938362964,"tabCpuUsage":86.59793314433666,"browserCpuUsage":19.1'
60'03619952307305,"gpuCpuUsage":37.19470138265887}},null,{"VideoBwe":{"googAct'
61'ualEncBitrate":1374400,"googAvailableSendBandwidth":3956329,"googRetransmit'
62'Bitrate":0,"googAvailableReceiveBandwidth":0,"googTargetEncBitrate":3400000'
63',"googBucketDelay":0,"googTransmitBitrate":1389144}},null,{"googCandidatePa'
64'ir":{"responsesSent":0,"requestsReceived":0,"googRemoteCandidateType":"loca'
65'l","googReadable":"true","googLocalAddress":"[2620:0:1000:1309:3d4f:37b0:65'
66'9a:5378]:55946","consentRequestsSent":1,"googTransportType":"udp","googChan'
67'nelId":"Channel-audio-1","googLocalCandidateType":"local","googWritable":"t'
68'rue","requestsSent":8,"googRemoteAddress":"[2607:f8b0:400e:c05::7f]:19305",'
69'"googRtt":20,"googActiveConnection":"true","packetsDiscardedOnSend":0,"byte'
70'sReceived":5593200,"responsesReceived":8,"remoteCandidateId":"Cand-ztHGWbjH'
71'","localCandidateId":"Cand-iAXjSqBm","bytesSent":1915475,"packetsSent":2367'
72'}},{"localcandidate":{"networkType":"unknown","id":"Cand-iAXjSqBm"}},null,{'
73'"googCandidatePair":{"responsesSent":0,"requestsReceived":0,"googRemoteCand'
74'idateType":"local","googReadable":"false","googLocalAddress":"172.27.213.80'
75':55830","consentRequestsSent":0,"googTransportType":"udp","googChannelId":"'
76'Channel-audio-1","googLocalCandidateType":"local","googWritable":"false","r'
77'equestsSent":0,"googRemoteAddress":"173.194.203.127:19305","googRtt":3000,"'
78'googActiveConnection":"false","packetsDiscardedOnSend":0,"bytesReceived":0,'
79'"responsesReceived":0,"remoteCandidateId":"Cand-DcRzosft","localCandidateId'
80'":"Cand-t/EGflq7","bytesSent":0,"packetsSent":0}},{"localcandidate":{"netwo'
81'rkType":"unknown","id":"Cand-t/EGflq7"}},null,null,null,null,null,null,null'
82',null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"ss'
83'rc":{"googDecodingCTN":958,"packetsLost":0,"googSecondaryDecodedRate":0,"go'
84'ogDecodingPLC":3,"packetsReceived":1,"googExpandRate":0,"googJitterReceived'
85'":0,"googDecodingCNG":847,"ssrc":181174217,"googPreferredJitterBufferMs":0,'
86'"googSpeechExpandRate":0,"totalSamplesDuration":9.58,"totalAudioEnergy":0,"'
87'transportId":"Channel-audio-1","mediaType":"audio","googDecodingPLCCNG":108'
88',"googCodecName":"opus","googSecondaryDiscardedRate":0,"googDecodingNormal"'
89':0,"googTrackId":"hangout7F4822D4_ephemeral.id.google.com%5Efd2eefeedc/1811'
90'74217","audioOutputLevel":0,"googAccelerateRate":0,"bytesReceived":21,"goog'
91'CurrentDelayMs":10,"googDecodingCTSG":0,"googCaptureStartNtpTimeMs":0,"goog'
92'PreemptiveExpandRate":0,"googJitterBufferMs":10,"googDecodingMuted":107}},{'
93'"ssrc":{"googDecodingCTN":958,"packetsLost":0,"googSecondaryDecodedRate":0,'
94'"googDecodingPLC":4,"packetsReceived":46,"googExpandRate":0,"googJitterRece'
95'ived":1,"googDecodingCNG":914,"ssrc":1176043198,"googPreferredJitterBufferM'
96's":20,"googSpeechExpandRate":0,"totalSamplesDuration":9.58,"totalAudioEnerg'
97'y":8.7084e-9,"transportId":"Channel-audio-1","mediaType":"audio","googDecod'
98'ingPLCCNG":10,"googCodecName":"opus","googSecondaryDiscardedRate":0,"googDe'
99'codingNormal":30,"googTrackId":"hangoutF18BB657_ephemeral.id.google.com%5Ed'
100'5e1b749e1/1176043198","audioOutputLevel":1,"googAccelerateRate":0,"bytesRec'
101'eived":1679,"googCurrentDelayMs":89,"googDecodingCTSG":0,"googCaptureStartN'
102'tpTimeMs":0,"googPreemptiveExpandRate":0,"googJitterBufferMs":90,"googDecod'
103'ingMuted":9}},{"ssrc":{"googDecodingCTN":958,"packetsLost":0,"googSecondary'
104'DecodedRate":0,"googDecodingPLC":3,"packetsReceived":46,"googExpandRate":0,'
105'"googJitterReceived":2,"googDecodingCNG":919,"ssrc":1301596892,"googPreferr'
106'edJitterBufferMs":20,"googSpeechExpandRate":0,"totalSamplesDuration":9.58,"'
107'totalAudioEnergy":8.81085e-9,"transportId":"Channel-audio-1","mediaType":"a'
108'udio","googDecodingPLCCNG":6,"googCodecName":"opus","googSecondaryDiscarded'
109'Rate":0,"googDecodingNormal":30,"googTrackId":"hangoutF724C8C9_ephemeral.id'
110'.google.com%5E23a2bf2b70/1301596892","audioOutputLevel":1,"googAccelerateRa'
111'te":0,"bytesReceived":1679,"googCurrentDelayMs":80,"googDecodingCTSG":0,"go'
112'ogCaptureStartNtpTimeMs":0,"googPreemptiveExpandRate":0,"googJitterBufferMs'
113'":80,"googDecodingMuted":5}},{"ssrc":{"googDecodingCTN":958,"packetsLost":0'
114',"googSecondaryDecodedRate":0,"googDecodingPLC":3,"packetsReceived":1,"goog'
115'ExpandRate":0,"googJitterReceived":0,"googDecodingCNG":847,"ssrc":226549935'
116'5,"googPreferredJitterBufferMs":0,"googSpeechExpandRate":0,"totalSamplesDur'
117'ation":9.58,"totalAudioEnergy":0,"transportId":"Channel-audio-1","mediaType'
118'":"audio","googDecodingPLCCNG":108,"googCodecName":"opus","googSecondaryDis'
119'cardedRate":0,"googDecodingNormal":0,"googTrackId":"hangout83754FD7_ephemer'
120'al.id.google.com%5E2f542d3bca/2265499355","audioOutputLevel":0,"googAcceler'
121'ateRate":0,"bytesReceived":21,"googCurrentDelayMs":10,"googDecodingCTSG":0,'
122'"googCaptureStartNtpTimeMs":0,"googPreemptiveExpandRate":0,"googJitterBuffe'
123'rMs":10,"googDecodingMuted":107}},{"ssrc":{"googDecodingCTN":958,"packetsLo'
124'st":0,"googSecondaryDecodedRate":0,"googDecodingPLC":0,"packetsReceived":46'
125',"googJitterReceived":1,"googDecodingCNG":929,"ssrc":3200798097,"googPrefer'
126'redJitterBufferMs":20,"googSpeechExpandRate":0,"totalSamplesDuration":9.58,'
127'"totalAudioEnergy":8.81085e-9,"transportId":"Channel-audio-1","mediaType":"'
128'audio","googDecodingPLCCNG":0,"googCodecName":"opus","googSecondaryDiscarde'
129'dRate":0,"googDecodingNormal":29,"googTrackId":"hangout2A69C3CE_ephemeral.i'
130'd.google.com%5E51a54492e6/3200798097","audioOutputLevel":1,"googAccelerateR'
131'ate":0,"bytesReceived":1679,"googCurrentDelayMs":81,"googDecodingCTSG":0,"g'
132'oogExpandRate":0,"googPreemptiveExpandRate":0,"googJitterBufferMs":93,"goog'
133'DecodingMuted":0}},{"ssrc":{"googDecodingCTN":958,"packetsLost":0,"googSeco'
134'ndaryDecodedRate":0,"googDecodingPLC":3,"packetsReceived":15,"googExpandRat'
135'e":0,"googJitterReceived":5,"googDecodingCNG":895,"ssrc":3611799563,"googPr'
136'eferredJitterBufferMs":20,"googSpeechExpandRate":0,"totalSamplesDuration":9'
137'.58,"totalAudioEnergy":0,"transportId":"Channel-audio-1","mediaType":"audio'
138'","googDecodingPLCCNG":60,"googCodecName":"opus","googSecondaryDiscardedRat'
139'e":0,"googDecodingNormal":0,"googTrackId":"hangoutF9EAE779_ephemeral.id.goo'
140'gle.com%5E42ce92f210/3611799563","audioOutputLevel":0,"googAccelerateRate":'
141'0,"bytesReceived":315,"googCurrentDelayMs":10,"googDecodingCTSG":0,"googCap'
142'tureStartNtpTimeMs":0,"googPreemptiveExpandRate":0,"googJitterBufferMs":90,'
143'"googDecodingMuted":59}},{"ssrc":{"googCaptureStartNtpTimeMs":0,"packetsLos'
144't":0,"googSecondaryDecodedRate":0,"googDecodingPLC":0,"packetsReceived":0,"'
145'googJitterReceived":0,"googDecodingCNG":0,"ssrc":3678956685,"googPreferredJ'
146'itterBufferMs":0,"googSpeechExpandRate":0,"totalSamplesDuration":0,"totalAu'
147'dioEnergy":0,"transportId":"Channel-audio-1","mediaType":"audio","googDecod'
148'ingCTN":0,"googDecodingPLCCNG":0,"googCodecName":"","googDecodingNormal":0,'
149'"googTrackId":"hangout9227780C_ephemeral.id.google.com%5Effba3cb857/3678956'
150'685","googSecondaryDiscardedRate":0,"googAccelerateRate":0,"bytesReceived":'
151'0,"googCurrentDelayMs":0,"googDecodingCTSG":0,"googExpandRate":0,"googPreem'
152'ptiveExpandRate":0,"googJitterBufferMs":0,"googDecodingMuted":0}},{"ssrc":{'
153'"googDecodingCTN":958,"packetsLost":0,"googSecondaryDecodedRate":0,"googDec'
154'odingPLC":3,"packetsReceived":46,"googExpandRate":0,"googJitterReceived":2,'
155'"googDecodingCNG":916,"ssrc":3763354856,"googPreferredJitterBufferMs":20,"g'
156'oogSpeechExpandRate":0,"totalSamplesDuration":9.58,"totalAudioEnergy":8.801'
157'54e-9,"transportId":"Channel-audio-1","mediaType":"audio","googDecodingPLCC'
158'NG":9,"googCodecName":"opus","googSecondaryDiscardedRate":0,"googDecodingNo'
159'rmal":30,"googTrackId":"hangout757A0188_ephemeral.id.google.com%5E576980a8a'
160'e/3763354856","audioOutputLevel":1,"googAccelerateRate":0,"bytesReceived":1'
161'679,"googCurrentDelayMs":91,"googDecodingCTSG":0,"googCaptureStartNtpTimeMs'
162'":0,"googPreemptiveExpandRate":0,"googJitterBufferMs":90,"googDecodingMuted'
163'":8}},{"ssrc":{"googDecodingCTN":958,"packetsLost":0,"googSecondaryDecodedR'
164'ate":0,"googDecodingPLC":0,"packetsReceived":46,"googJitterReceived":3,"goo'
165'gDecodingCNG":928,"ssrc":4088893509,"googPreferredJitterBufferMs":20,"googS'
166'peechExpandRate":0,"totalSamplesDuration":9.58,"totalAudioEnergy":8.80154e-'
167'9,"transportId":"Channel-audio-1","mediaType":"audio","googDecodingPLCCNG":'
168'0,"googCodecName":"opus","googSecondaryDiscardedRate":0,"googDecodingNormal'
169'":30,"googTrackId":"hangoutD84553B2_ephemeral.id.google.com%5E63d56c7215/40'
170'88893509","audioOutputLevel":1,"googAccelerateRate":0,"bytesReceived":1748,'
171'"googCurrentDelayMs":89,"googDecodingCTSG":0,"googExpandRate":0,"googPreemp'
172'tiveExpandRate":0,"googJitterBufferMs":90,"googDecodingMuted":0}},{"ssrc":{'
173'"googContentType":"realtime","googCaptureStartNtpTimeMs":0,"googTargetDelay'
174'Ms":127,"packetsLost":0,"googDecodeMs":6,"googFrameHeightReceived":180,"goo'
175'gFrameRateOutput":23,"packetsReceived":193,"ssrc":234375295,"googRenderDela'
176'yMs":10,"googMaxDecodeMs":13,"googTrackId":"hangout7F4822D4_ephemeral.id.go'
177'ogle.com%5Efd2eefeedc/234375295","googFrameWidthReceived":320,"codecImpleme'
178'ntationName":"unknown","transportId":"Channel-audio-1","mediaType":"video",'
179'"googInterframeDelayMax":1541,"googCodecName":"VP8","googFrameRateReceived"'
180':25,"framesDecoded":141,"googNacksSent":0,"googFirsSent":0,"bytesReceived":'
181'145834,"googCurrentDelayMs":78,"googMinPlayoutDelayMs":0,"googFrameRateDeco'
182'ded":23,"googJitterBufferMs":104,"googPlisSent":0,"fpsGraphicsInput":15.331'
183'086576691497,"fpsGraphicsOutput":15.331086576691497,"googFrameSpacing":996}'
184'},{"ssrc":{"googContentType":"realtime","googCaptureStartNtpTimeMs":0,"goog'
185'TargetDelayMs":117,"packetsLost":0,"googDecodeMs":3,"googFrameHeightReceive'
186'd":180,"googFrameRateOutput":24,"packetsReceived":223,"ssrc":365354875,"goo'
187'gRenderDelayMs":10,"googMaxDecodeMs":14,"googTrackId":"hangout2A69C3CE_ephe'
188'meral.id.google.com%5E51a54492e6/365354875","googFrameWidthReceived":320,"c'
189'odecImplementationName":"unknown","transportId":"Channel-audio-1","mediaTyp'
190'e":"video","googInterframeDelayMax":362,"googCodecName":"VP8","googFrameRat'
191'eReceived":23,"framesDecoded":168,"googNacksSent":0,"googFirsSent":0,"bytes'
192'Received":171134,"googCurrentDelayMs":75,"googMinPlayoutDelayMs":0,"googFra'
193'meRateDecoded":24,"googJitterBufferMs":93,"googPlisSent":0,"fpsGraphicsInpu'
194't":17.980188823503184,"fpsGraphicsOutput":17.980188823503184,"googFrameSpac'
195'ing":502}},{"ssrc":{"googContentType":"realtime","googCaptureStartNtpTimeMs'
196'":0,"googTargetDelayMs":40,"packetsLost":0,"googDecodeMs":10,"googFrameHeig'
197'htReceived":180,"googFrameRateOutput":13,"packetsReceived":1078,"ssrc":6586'
198'85198,"googRenderDelayMs":10,"googMaxDecodeMs":12,"googTrackId":"hangoutD84'
199'553B2_ephemeral.id.google.com%5E63d56c7215/658685198","googFrameWidthReceiv'
200'ed":320,"codecImplementationName":"unknown","transportId":"Channel-audio-1"'
201',"mediaType":"video","googInterframeDelayMax":152,"googCodecName":"VP8","go'
202'ogFrameRateReceived":13,"framesDecoded":108,"googNacksSent":0,"googFirsSent'
203'":0,"bytesReceived":1232161,"googCurrentDelayMs":40,"googMinPlayoutDelayMs"'
204':0,"googFrameRateDecoded":13,"googJitterBufferMs":18,"googPlisSent":0,"fpsG'
205'raphicsInput":11.537631880897864,"fpsGraphicsOutput":11.42980354556237,"goo'
206'gFrameSpacing":501}},{"ssrc":{"googContentType":"realtime","googCaptureStar'
207'tNtpTimeMs":0,"googTargetDelayMs":110,"packetsLost":0,"googDecodeMs":19,"go'
208'ogFrameHeightReceived":720,"googFrameRateOutput":23,"packetsReceived":2542,'
209'"ssrc":771366933,"googRenderDelayMs":10,"googMaxDecodeMs":22,"googTrackId":'
210'"hangoutF18BB657_ephemeral.id.google.com%5Ed5e1b749e1/771366933","googFrame'
211'WidthReceived":1280,"codecImplementationName":"unknown","transportId":"Chan'
212'nel-audio-1","mediaType":"video","googInterframeDelayMax":136,"googCodecNam'
213'e":"VP8","googFrameRateReceived":24,"framesDecoded":203,"googNacksSent":0,"'
214'googFirsSent":0,"bytesReceived":2921629,"googCurrentDelayMs":101,"googMinPl'
215'ayoutDelayMs":0,"googFrameRateDecoded":23,"googJitterBufferMs":78,"googPlis'
216'Sent":0,"fpsGraphicsInput":21.86439764526312,"fpsGraphicsOutput":21.8539465'
217'38565932,"googFrameSpacing":512}},{"ssrc":{"googContentType":"realtime","go'
218'ogCaptureStartNtpTimeMs":0,"googTargetDelayMs":103,"packetsLost":0,"googDec'
219'odeMs":3,"googFrameHeightReceived":180,"googFrameRateOutput":22,"packetsRec'
220'eived":195,"ssrc":811526342,"googRenderDelayMs":10,"googMaxDecodeMs":13,"go'
221'ogTrackId":"hangoutF724C8C9_ephemeral.id.google.com%5E23a2bf2b70/811526342"'
222',"googFrameWidthReceived":320,"codecImplementationName":"unknown","transpor'
223'tId":"Channel-audio-1","mediaType":"video","googInterframeDelayMax":1444,"g'
224'oogCodecName":"VP8","googFrameRateReceived":23,"framesDecoded":143,"googNac'
225'ksSent":0,"googFirsSent":0,"bytesReceived":147248,"googCurrentDelayMs":69,"'
226'googMinPlayoutDelayMs":0,"googFrameRateDecoded":22,"googJitterBufferMs":80,'
227'"googPlisSent":0,"fpsGraphicsInput":15.432764893113935,"fpsGraphicsOutput":'
228'15.432764893113935,"googFrameSpacing":505}},{"ssrc":{"googContentType":"rea'
229'ltime","googCaptureStartNtpTimeMs":0,"googTargetDelayMs":92,"packetsLost":0'
230',"googDecodeMs":4,"googFrameHeightReceived":180,"googFrameRateOutput":21,"p'
231'acketsReceived":208,"ssrc":1009208770,"googRenderDelayMs":10,"googMaxDecode'
232'Ms":13,"googTrackId":"hangout757A0188_ephemeral.id.google.com%5E576980a8ae/'
233'1009208770","googFrameWidthReceived":320,"codecImplementationName":"unknown'
234'","transportId":"Channel-audio-1","mediaType":"video","googInterframeDelayM'
235'ax":810,"googCodecName":"VP8","googFrameRateReceived":23,"framesDecoded":15'
236'6,"googNacksSent":0,"googFirsSent":0,"bytesReceived":151801,"googCurrentDel'
237'ayMs":79,"googMinPlayoutDelayMs":0,"googFrameRateDecoded":21,"googJitterBuf'
238'ferMs":69,"googPlisSent":0,"fpsGraphicsInput":16.79306605413843,"fpsGraphic'
239'sOutput":16.684723692498824,"googFrameSpacing":502}},{"ssrc":{"googContentT'
240'ype":"realtime","googCaptureStartNtpTimeMs":0,"googTargetDelayMs":82,"packe'
241'tsLost":0,"googDecodeMs":4,"googFrameHeightReceived":180,"googFrameRateOutp'
242'ut":24,"packetsReceived":210,"ssrc":1750328988,"googRenderDelayMs":10,"goog'
243'MaxDecodeMs":15,"googTrackId":"hangout9227780C_ephemeral.id.google.com%5Eff'
244'ba3cb857/1750328988","googFrameWidthReceived":320,"codecImplementationName"'
245':"unknown","transportId":"Channel-audio-1","mediaType":"video","googInterfr'
246'ameDelayMax":518,"googCodecName":"VP8","googFrameRateReceived":24,"framesDe'
247'coded":152,"googNacksSent":0,"googFirsSent":0,"bytesReceived":157397,"googC'
248'urrentDelayMs":72,"googMinPlayoutDelayMs":0,"googFrameRateDecoded":24,"goog'
249'JitterBufferMs":57,"googPlisSent":0,"fpsGraphicsInput":16.296136355665766,"'
250'fpsGraphicsOutput":16.296136355665766,"googFrameSpacing":746}},{"ssrc":{"go'
251'ogContentType":"realtime","googCaptureStartNtpTimeMs":0,"googTargetDelayMs"'
252':102,"packetsLost":0,"googDecodeMs":4,"googFrameHeightReceived":180,"googFr'
253'ameRateOutput":24,"packetsReceived":220,"ssrc":2749867232,"googRenderDelayM'
254's":10,"googMaxDecodeMs":12,"googTrackId":"hangoutF9EAE779_ephemeral.id.goog'
255'le.com%5E42ce92f210/2749867232","googFrameWidthReceived":320,"codecImplemen'
256'tationName":"unknown","transportId":"Channel-audio-1","mediaType":"video","'
257'googInterframeDelayMax":583,"googCodecName":"VP8","googFrameRateReceived":2'
258'4,"framesDecoded":171,"googNacksSent":0,"googFirsSent":0,"bytesReceived":16'
259'3793,"googCurrentDelayMs":75,"googMinPlayoutDelayMs":0,"googFrameRateDecode'
260'd":24,"googJitterBufferMs":80,"googPlisSent":0,"fpsGraphicsInput":18.197388'
261'58914156,"fpsGraphicsOutput":18.19738858914156,"googFrameSpacing":502}},{"s'
262'src":{"googContentType":"realtime","googCaptureStartNtpTimeMs":0,"googTarge'
263'tDelayMs":87,"packetsLost":0,"googDecodeMs":5,"googFrameHeightReceived":180'
264',"googFrameRateOutput":24,"packetsReceived":220,"ssrc":3276788334,"googRend'
265'erDelayMs":10,"googMaxDecodeMs":13,"googTrackId":"hangout83754FD7_ephemeral'
266'.id.google.com%5E2f542d3bca/3276788334","googFrameWidthReceived":320,"codec'
267'ImplementationName":"unknown","transportId":"Channel-audio-1","mediaType":"'
268'video","googInterframeDelayMax":648,"googCodecName":"VP8","googFrameRateRec'
269'eived":25,"framesDecoded":167,"googNacksSent":0,"googFirsSent":0,"bytesRece'
270'ived":159314,"googCurrentDelayMs":72,"googMinPlayoutDelayMs":0,"googFrameRa'
271'teDecoded":24,"googJitterBufferMs":64,"googPlisSent":0,"fpsGraphicsInput":1'
272'7.872616766543615,"fpsGraphicsOutput":17.76429787704941,"googFrameSpacing":'
273'502}},{"ssrc":{"audioInputLevel":0,"packetsLost":0,"googResidualEchoLikelih'
274'ood":0,"googRtt":24,"googResidualEchoLikelihoodRecentMax":0,"googEchoCancel'
275'lationReturnLossEnhancement":-100,"totalSamplesDuration":0,"totalAudioEnerg'
276'y":0,"transportId":"Channel-audio-1","mediaType":"audio","aecDivergentFilte'
277'rFraction":0,"googEchoCancellationReturnLoss":-100,"googCodecName":"opus","'
278'googEchoCancellationEchoDelayMedian":388,"googEchoCancellationQualityMin":0'
279',"googTrackId":"4224ce1c-0c2f-4bb4-9d91-3798ca549328","ssrc":141808114,"goo'
280'gJitterReceived":3,"googTypingNoiseState":"false","packetsSent":63,"bytesSe'
281'nt":2709,"googEchoCancellationEchoDelayStdDev":0}},{"ssrc":{"googContentTyp'
282'e":"realtime","googFrameWidthSent":1280,"packetsLost":45,"googRtt":23,"goog'
283'EncodeUsagePercent":82,"googCpuLimitedResolution":"false","googNacksReceive'
284'd":0,"googBandwidthLimitedResolution":"false","googPlisReceived":0,"googAvg'
285'EncodeMs":17,"googTrackId":"99a2ae0e-9cfa-4a7d-83a6-8ea3d5cc2c2e","googFram'
286'eRateInput":24,"framesEncoded":657,"codecImplementationName":"SimulcastEnco'
287'derAdapter (unknown, unknown, unknown)","transportId":"Channel-audio-1","me'
288'diaType":"video","googFrameHeightSent":720,"googFrameRateSent":24,"googCode'
289'cName":"VP8","googAdaptationChanges":0,"ssrc":3865366536,"googFirsReceived"'
290':0,"packetsSent":1869,"bytesSent":1796767,"googAdaptationReason":0}}]')
291