Commit ccdce60
committed
[SoftCSA] Defer skin notification until SoftDecoder has a running decoder
When switching between SoftCSA channels, the skin was notified via
evUpdatedInfo immediately after SoftDecoder takeover. At that point the
SoftDecoder's hardware decoder does not exist yet (it is created only
after the first CW arrives), so getVideoHeight() returns -1. The skin
falls back to eAVControl which reads /proc/stb/vmpeg/0/yres from the
just-released HW decoder, returning 0. This causes the HD icon to grey
out. On platforms where VIDEO_EVENT_SIZE_CHANGED is suppressed for
identical resolutions (e.g. VU Solo4K), the icon never recovers.
Add a m_decoder_ready signal to eDVBSoftDecoder, fired after the decoder
reaches PLAY state. eDVBServicePlay defers the evUpdatedInfo notification
until this signal arrives, ensuring the skin queries valid video info.1 parent ae1921a commit ccdce60
File tree
4 files changed
+17
-5
lines changed- lib/service
4 files changed
+17
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4448 | 4448 | | |
4449 | 4449 | | |
4450 | 4450 | | |
4451 | | - | |
4452 | | - | |
| 4451 | + | |
| 4452 | + | |
| 4453 | + | |
| 4454 | + | |
| 4455 | + | |
4453 | 4456 | | |
4454 | | - | |
4455 | | - | |
4456 | | - | |
| 4457 | + | |
4457 | 4458 | | |
4458 | 4459 | | |
4459 | 4460 | | |
| |||
4468 | 4469 | | |
4469 | 4470 | | |
4470 | 4471 | | |
| 4472 | + | |
| 4473 | + | |
| 4474 | + | |
| 4475 | + | |
| 4476 | + | |
| 4477 | + | |
4471 | 4478 | | |
4472 | 4479 | | |
4473 | 4480 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
| 358 | + | |
358 | 359 | | |
359 | 360 | | |
360 | 361 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
688 | 688 | | |
689 | 689 | | |
690 | 690 | | |
| 691 | + | |
691 | 692 | | |
692 | 693 | | |
693 | 694 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
92 | 95 | | |
93 | 96 | | |
94 | 97 | | |
| |||
0 commit comments