Repository navigation
RDKEMW-26260: Workstream A - Polling Bus Dispatcher - #640
Conversation
|
Pull request title must follow the pattern: Pull request description must follow the Commit message format for RDK-E:
< JIRA TICKET >: < one line summary of change less than 65 characters > |
There was a problem hiding this comment.
🟡 Changes recommended
Shutdown can hang before loop startup, and the component-test harness still depends on polling.
2 open findings
What changed in this PR
Replaces periodic GStreamer bus polling with a private GLib event loop to reduce idle wakeups.
Changes:
- Adds bus-watch and main-loop wrapper APIs and mocks.
- Injects the GLib wrapper into both player dispatchers.
- Reworks dispatcher unit tests around callbacks and message ownership.
| File | Description |
|---|---|
| wrappers/interface/IGstWrapper.h | Declares bus-watch and message-reference APIs. |
| wrappers/interface/IGlibWrapper.h | Declares context, loop, and source APIs. |
| wrappers/include/GstWrapper.h | Implements new GStreamer wrappers. |
| wrappers/include/GlibWrapper.h | Implements new GLib wrappers. |
| tests/unittests/media/server/mocks/gstplayer/GstDispatcherThreadFactoryMock.h | Updates factory mock signature. |
| tests/unittests/media/server/gstplayer/webAudioPlayer/CreateTest.cpp | Updates factory failure expectation. |
| tests/unittests/media/server/gstplayer/webAudioPlayer/common/GstWebAudioPlayerTestCommon.cpp | Updates dispatcher creation expectation. |
| tests/unittests/media/server/gstplayer/genericPlayer/common/GstGenericPlayerTestCommon.cpp | Updates dispatcher creation expectation. |
| tests/unittests/media/server/gstplayer/dispatcherThread/GstDispatcherThreadTest.cpp | Tests callback dispatch and lifecycle. |
| tests/common/externalLibraryMocks/GstWrapperMock.h | Mocks new GStreamer APIs. |
| tests/common/externalLibraryMocks/GlibWrapperMock.h | Mocks new GLib APIs. |
| media/server/gstplayer/source/GstWebAudioPlayer.cpp | Passes GLib wrapper to dispatcher. |
| media/server/gstplayer/source/GstGenericPlayer.cpp | Passes GLib wrapper to dispatcher. |
| media/server/gstplayer/source/GstDispatcherThread.cpp | Replaces polling with bus-watch dispatch. |
| media/server/gstplayer/include/IGstDispatcherThread.h | Extends factory interface. |
| media/server/gstplayer/include/GstDispatcherThread.h | Declares event-loop state and callbacks. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Coverage statistics of your commit: |
0a29c80 to
2f2b910
Compare
|
Coverage statistics of your commit: |
|
Coverage statistics of your commit: |
5f8b18c to
4a74dc5
Compare
|
Coverage statistics of your commit: |
4a74dc5 to
5aa6b7d
Compare
|
Coverage statistics of your commit: |
5aa6b7d to
a116325
Compare
a116325 to
944d5fd
Compare
|
Coverage statistics of your commit: |
|
Coverage statistics of your commit: |
3798da6 to
cae6809
Compare
|
Coverage statistics of your commit: |
cae6809 to
fda1c4b
Compare
fda1c4b to
52b8970
Compare
|
Coverage statistics of your commit: |
|
Coverage statistics of your commit: |
1 similar comment
|
Coverage statistics of your commit: |
Reason for change: Replace polling bus dispatcher with GMainLoop-based event-driven dispatcher (PeriodicWakes - Theme 6) Test Procedure: Rialto CI Signed-off-by: cbicco888 <chirag_biccodenandeesh@comcast.com>
52b8970 to
7eed1e3
Compare
|
Coverage statistics of your commit: |


RDKEMW-26260: Workstream A
Reason for change: Replace polling bus dispatcher with GMainLoop-based event-driven dispatcher (PeriodicWakes - Theme 6)
Test Procedure: Rialto CI