Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
2.5
-
None
Description
SlimTv's ChannelContext is not thread safe, multiple threads can change the currently selected group/channel without adequate locking to ensure that the state is kept consistent.
Additionally consumers do not adequately wait for async operations to complete before retrieving channels after a channel group change. When a channel group is changed the group's channels are retrieved asynchronously however ChannelContext immediately fires the group changed event causing listeners to retrieve the channel list before the channels have been updated.
Additionally consumers do not adequately wait for async operations to complete before retrieving channels after a channel group change. When a channel group is changed the group's channels are retrieved asynchronously however ChannelContext immediately fires the group changed event causing listeners to retrieve the channel list before the channels have been updated.