-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Summary
At the moment, the CiscoRoomOsCodec class, the main class for the plugin, is ~7000 lines currently, making it difficult to read and maintain. In addition, it implements multiple interfaces, both through the VideoCodecBase class and other more specific interfaces. This functionality can be broken out into partial classes, making it easier to read and find functionality related to specific interfaces, while not requiring multiple classes.
Scope
Break the CiscoCodec class in the CiscoRoomOsCodec.cs file into multiple partial classes in multiple files. Each partial class should contain the implementation of one interface that is explicitly referenced by the current CiscoCodec class, and should have the interface name in it's file name. Existing methods that implement the interface should be moved from the main file to the file that implements that interface. Any method overloads that aren't explicitly implemented by the interface should also be moved to the interface file. Also move any private fields that are related to the new file. Move any properties or methods that are an overload of the methods in the VideoCodecBase class to a file named CiscoCodecVideoCodecBase.cs. Comment on the PR if there are any questions or concerns.
Acceptance Criteria
- [] No functionality changes
- [] No code-related compiler warnings. Compiler warnings for missing XML methods or deprecated/obsolete methods are allowed