Skip to content

[Option B] Create AudioStrategyFactory #31

Description

@danieljsinclair

Issue

Create AudioStrategyFactory to replace AudioModeFactory and AudioRendererFactory.

Background

Current architecture has separate factories for IAudioMode and IAudioRenderer. After consolidation to IAudioStrategy, we need a unified factory.

Goal

Create AudioStrategyFactory that:

  • Creates IAudioStrategy instances based on configuration
  • Supports ThreadedStrategy and SyncPullStrategy
  • Injects required dependencies (IAudioHardwareProvider, logger)
  • Provides clean API for strategy selection

Implementation Plan

  1. Create AudioStrategyFactory.h/cpp
  2. Implement createThreadedStrategy() method
  3. Implement createSyncPullStrategy() method
  4. Implement createStrategy() factory method (based on config)
  5. Inject IAudioHardwareProvider and logger
  6. Remove AudioModeFactory and AudioRendererFactory

Acceptance Criteria

  1. AudioStrategyFactory.h/cpp created
  2. Provides clean factory API for strategy creation
  3. Supports both ThreadedStrategy and SyncPullStrategy
  4. Injects IAudioHardwareProvider into strategies
  5. Injects logger into strategies
  6. All existing AudioModeFactory tests pass
  7. Clean build with no warnings
  8. AudioModeFactory and AudioRendererFactory removed

Testing

  • Unit tests for AudioStrategyFactory
  • Integration tests with CLIMain
  • All smoke tests pass
  • No behavioral changes

Dependencies

Related Issues

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions