Commit 9c528ca
committed
[chooser][demux] Fix screen resolution false positives and audio deadlock on STREAMCHANGE
Fix 1: Screen Resolution False Positives
CRepresentationChooserDefault::CheckResolution() compared the
user-configured resolution limit (m_screenWidth) against the actual
physical hardware resolution (m_screenCurrentWidth), resulting in
perpetual false positives every 10 seconds. Dedicated tracking
variables (m_screenLastWidth, m_screenLastHeight) now correctly
isolate physical window resize detection from the addon's maximum
quality configuration limits.
Fix 2: Audio Deadlock on Quality STREAMCHANGE
When a bandwidth fluctuation triggered a representation change, Kodi
Core reopened all active streams sequentially. If the first stream
(Video) evaluated to no quality change, the m_checkCoreReopen
optimization flag short-circuited all further OpenStream callbacks.
If a subsequent stream (Audio) did change quality, its Reset() and
reconstruction was skipped entirely, leaving it stuck at
EVENT_TYPE::REP_CHANGE and permanently blocking segment downloads.
This commit hoists a !streamChanged conditional to guard the entire
m_checkCoreReopen block, guaranteeing that a formally changed stream
bypasses the fast-path optimization and executes its native Reset()
cycle.1 parent e8e47b4 commit 9c528ca
3 files changed
+11
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
94 | 97 | | |
95 | 98 | | |
96 | 99 | | |
| |||
116 | 119 | | |
117 | 120 | | |
118 | 121 | | |
119 | | - | |
| 122 | + | |
120 | 123 | | |
121 | 124 | | |
122 | 125 | | |
| |||
128 | 131 | | |
129 | 132 | | |
130 | 133 | | |
| 134 | + | |
| 135 | + | |
131 | 136 | | |
132 | 137 | | |
133 | 138 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
225 | 227 | | |
226 | 228 | | |
227 | 229 | | |
| |||
0 commit comments