Skip to content

[Option B] Create AudioStrategyFactory #31

@danieljsinclair

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

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