Commit 138de3c
committed
Track VideoPlaybackQuality metrics when using WebCoreDecompressionSession.
https://bugs.webkit.org/show_bug.cgi?id=175835
<rdar://problem/34022234>
Reviewed by Eric Carlson.
Source/WebCore:
Test: platform/mac/media/media-source/videoplaybackquality-decompressionsession.html
Track the total number of frames decoded, dropped, & corrupted, as well as the total
delay imposed by decoding in the WebCoreDecompressionSession.
Drive-by fix: implement frame dropping by skipping frames whose presentation times are
before the video's current time and which aren't depended upon by other frames.
* platform/cf/CoreMediaSoftLink.cpp:
* platform/cf/CoreMediaSoftLink.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::videoPlaybackQualityMetrics):
* platform/graphics/cocoa/WebCoreDecompressionSession.h:
(WebCore::WebCoreDecompressionSession::totalVideoFrames):
(WebCore::WebCoreDecompressionSession::droppedVideoFrames):
(WebCore::WebCoreDecompressionSession::corruptedVideoFrames):
(WebCore::WebCoreDecompressionSession::totalFrameDelay):
* platform/graphics/cocoa/WebCoreDecompressionSession.mm:
(WebCore::WebCoreDecompressionSession::shouldDecodeSample):
(WebCore::WebCoreDecompressionSession::decodeSample):
(WebCore::WebCoreDecompressionSession::handleDecompressionOutput):
LayoutTests:
* platform/mac/media/media-source/videoplaybackquality-decompressionsession-expected.txt: Added.
* platform/mac/media/media-source/videoplaybackquality-decompressionsession.html: Added.
Canonical link: https://commits.webkit.org/192552@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221098 268f45cc-cd09-0410-ab3c-d52691b4dbfc1 parent 4846733 commit 138de3cCopy full SHA for 138de3c
10 files changed
+198-12Lines changed: 198 additions & 12 deletions
File tree
Expand file treeCollapse file tree
Open diff view settings
Filter options
- LayoutTests
- media/media-source
- platform/mac/media/media-source
- Source/WebCore
- platform
- cf
- graphics
- avfoundation/objc
- cocoa
Expand file treeCollapse file tree
Open diff view settings
Collapse file
+11Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
1 | 12 | |
2 | 13 | |
3 | 14 | |
|
Collapse file
LayoutTests/media/media-source/media-source-loader.js
Copy file name to clipboardExpand all lines: LayoutTests/media/media-source/media-source-loader.js+4-2Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
1 | | - |
| 1 | + |
2 | 2 | |
3 | 3 | |
| 4 | + |
4 | 5 | |
5 | 6 | |
6 | 7 | |
| ||
40 | 41 | |
41 | 42 | |
42 | 43 | |
43 | | - |
| 44 | + |
| 45 | + |
44 | 46 | |
45 | 47 | |
46 | 48 | |
|
Collapse file
LayoutTests/platform/mac/media/media-source/videoplaybackquality-decompressionsession-expected.txt
Copy file name to clipboard+23Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
Collapse file
LayoutTests/platform/mac/media/media-source/videoplaybackquality-decompressionsession.html
Copy file name to clipboard+60Lines changed: 60 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | + |
Collapse file
+30Lines changed: 30 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | + |
1 | 31 | |
2 | 32 | |
3 | 33 | |
|
Collapse file
Source/WebCore/platform/cf/CoreMediaSoftLink.cpp
Copy file name to clipboardExpand all lines: Source/WebCore/platform/cf/CoreMediaSoftLink.cpp+1-1Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
48 | 48 | |
49 | 49 | |
50 | 50 | |
| 51 | + |
51 | 52 | |
52 | 53 | |
53 | 54 | |
| ||
155 | 156 | |
156 | 157 | |
157 | 158 | |
158 | | - |
159 | 159 | |
160 | 160 | |
161 | 161 | |
|
Collapse file
Source/WebCore/platform/cf/CoreMediaSoftLink.h
Copy file name to clipboardExpand all lines: Source/WebCore/platform/cf/CoreMediaSoftLink.h+2-2Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
59 | 59 | |
60 | 60 | |
61 | 61 | |
| 62 | + |
| 63 | + |
62 | 64 | |
63 | 65 | |
64 | 66 | |
| ||
263 | 265 | |
264 | 266 | |
265 | 267 | |
266 | | - |
267 | | - |
268 | 268 | |
269 | 269 | |
270 | 270 | |
|
Collapse file
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
Copy file name to clipboardExpand all lines: Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm+8Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
689 | 689 | |
690 | 690 | |
691 | 691 | |
| 692 | + |
| 693 | + |
| 694 | + |
| 695 | + |
| 696 | + |
| 697 | + |
| 698 | + |
| 699 | + |
692 | 700 | |
693 | 701 | |
694 | 702 | |
|
Collapse file
Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.h
Copy file name to clipboardExpand all lines: Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.h+10Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
70 | 70 | |
71 | 71 | |
72 | 72 | |
| 73 | + |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | + |
73 | 78 | |
74 | 79 | |
75 | 80 | |
| ||
79 | 84 | |
80 | 85 | |
81 | 86 | |
| 87 | + |
82 | 88 | |
83 | 89 | |
84 | 90 | |
| ||
106 | 112 | |
107 | 113 | |
108 | 114 | |
| 115 | + |
| 116 | + |
| 117 | + |
| 118 | + |
109 | 119 | |
110 | 120 | |
111 | 121 | |
|
Collapse file
Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm
Copy file name to clipboardExpand all lines: Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm+49-7Lines changed: 49 additions & 7 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
180 | 180 | |
181 | 181 | |
182 | 182 | |
| 183 | + |
| 184 | + |
| 185 | + |
| 186 | + |
| 187 | + |
| 188 | + |
| 189 | + |
| 190 | + |
| 191 | + |
| 192 | + |
| 193 | + |
| 194 | + |
| 195 | + |
| 196 | + |
| 197 | + |
| 198 | + |
| 199 | + |
| 200 | + |
| 201 | + |
| 202 | + |
| 203 | + |
| 204 | + |
| 205 | + |
| 206 | + |
| 207 | + |
| 208 | + |
| 209 | + |
183 | 210 | |
184 | 211 | |
185 | 212 | |
| ||
212 | 239 | |
213 | 240 | |
214 | 241 | |
| 242 | + |
| 243 | + |
| 244 | + |
| 245 | + |
| 246 | + |
| 247 | + |
215 | 248 | |
216 | 249 | |
217 | 250 | |
| ||
224 | 257 | |
225 | 258 | |
226 | 259 | |
227 | | - |
228 | | - |
| 260 | + |
| 261 | + |
| 262 | + |
229 | 263 | |
230 | 264 | |
231 | | - |
| 265 | + |
| 266 | + |
232 | 267 | |
| 268 | + |
233 | 269 | |
234 | 270 | |
235 | 271 | |
| ||
239 | 275 | |
240 | 276 | |
241 | 277 | |
242 | | - |
| 278 | + |
| 279 | + |
243 | 280 | |
244 | | - |
245 | | - |
246 | | - |
| 281 | + |
| 282 | + |
| 283 | + |
| 284 | + |
| 285 | + |
| 286 | + |
| 287 | + |
| 288 | + |
247 | 289 | |
248 | 290 | |
249 | 291 | |
|
0 commit comments