Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: docs/audio_focus.md

Issue 2551513002: Fix spelling mistakes in //docs. (Closed)
Patch Set: Undo beng->being Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « docs/angle_in_chromium.md ('k') | docs/browser_view_resizer.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Audio Focus Handling 1 # Audio Focus Handling
2 2
3 A MediaSession collects all audio-producing objects in one tab. It is usually 3 A MediaSession collects all audio-producing objects in one tab. It is usually
4 unpleasant when multiple MediaSessions play sound at the same time. Audio focus 4 unpleasant when multiple MediaSessions play sound at the same time. Audio focus
5 handling manages the MediaSessions and mixes them in proper ways. This is part 5 handling manages the MediaSessions and mixes them in proper ways. This is part
6 of the default media session on desktop project. 6 of the default media session on desktop project.
7 7
8 [TOC] 8 [TOC]
9 9
10 ## Processing model 10 ## Processing model
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 66
67 * Remove it from the audio focus stack if it's already there, and place it at 67 * Remove it from the audio focus stack if it's already there, and place it at
68 the top of audio focus stack, grant focus to the session and let it play. 68 the top of audio focus stack, grant focus to the session and let it play.
69 * If the session is persistent, suspend all the other sessions on the stack. 69 * If the session is persistent, suspend all the other sessions on the stack.
70 * If the session is transient, we should duck any active persistent audio 70 * If the session is transient, we should duck any active persistent audio
71 focus entry if present: 71 focus entry if present:
72 72
73 * If the next top entry is transient, do nothing, since if there is any 73 * If the next top entry is transient, do nothing, since if there is any
74 persistent session that is active, it is already ducking. 74 persistent session that is active, it is already ducking.
75 * If the next top entry is persistent, let the next top entry start ducking, 75 * If the next top entry is persistent, let the next top entry start ducking,
76 since it is the only active persisten session. 76 since it is the only active persistent session.
77 77
78 * When a `MediaSession` abandons audio focus: 78 * When a `MediaSession` abandons audio focus:
79 79
80 * If the session is not on the top, just remove it from the stack. 80 * If the session is not on the top, just remove it from the stack.
81 * If the session is on the top, remove it from the stack. 81 * If the session is on the top, remove it from the stack.
82 82
83 * If the stack becomes empty, do nothing. 83 * If the stack becomes empty, do nothing.
84 * If the next top session is transient, do nothing. 84 * If the next top session is transient, do nothing.
85 * If the next top session is persistent, stop ducking it. 85 * If the next top session is persistent, stop ducking it.
86 86
87 ### Handling Pepper 87 ### Handling Pepper
88 88
89 Pepper is different from media elements since it has a different model. Pepper 89 Pepper is different from media elements since it has a different model. Pepper
90 cannot be paused, but its volume can be changed. When considering Pepper, the 90 cannot be paused, but its volume can be changed. When considering Pepper, the
91 above algorithm must be modified. 91 above algorithm must be modified.
92 92
93 When Pepper joins `MediaSession`, it should request persistent focus type. When 93 When Pepper joins `MediaSession`, it should request persistent focus type. When
94 AudioFocusManager wants to suspend a `MediaSession`, it must check whether the 94 AudioFocusManager wants to suspend a `MediaSession`, it must check whether the
95 session has Pepper instance, and if yes, it should duck the session instead. 95 session has Pepper instance, and if yes, it should duck the session instead.
96 96
97 Also, whenever a session abandons focus, and the next top session is INACTIVE, 97 Also, whenever a session abandons focus, and the next top session is INACTIVE,
98 `AudioFocusManager` should find the next session having Pepper and unduck it. 98 `AudioFocusManager` should find the next session having Pepper and unduck it.
OLDNEW
« no previous file with comments | « docs/angle_in_chromium.md ('k') | docs/browser_view_resizer.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698