- 
                Notifications
    
You must be signed in to change notification settings  - Fork 176
 
[DO NOT MERGE] Feature/pipewire #432
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
          
     Open
      
      
            voluntas
  wants to merge
  13
  commits into
  develop
  
    
      
        
          
  
    
      Choose a base branch
      
     
    
      
        
      
      
        
          
          
        
        
          
            
              
              
              
  
           
        
        
          
            
              
              
           
        
       
     
  
        
          
            
          
            
          
        
       
    
      
from
feature/pipewire
  
      
      
   
  
    
  
  
  
 
  
      
    base: develop
Could not load branches
            
              
  
    Branch not found: {{ refName }}
  
            
                
      Loading
              
            Could not load tags
            
            
              Nothing to show
            
              
  
            
                
      Loading
              
            Are you sure you want to change the base?
            Some commits from the old base branch may be removed from the timeline,
            and old review comments may become outdated.
          
          
                
     Open
            
            
          
      
        
          +2,516
        
        
          −10
        
        
          
        
      
    
  
Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    - CHANGES.md の「部分一致」を「完全一致」に修正する - デバイス識別を完全一致(大文字小文字を区別しない)に戻す - 未使用の SelectAudioDevice 関数を削除する
1ae649f    to
    543f189      
    Compare
  
    WebRTC の AudioDeviceModule 実装では、AudioDeviceBuffer は通常 AudioDeviceModuleImpl 内部で作成されるが、カスタム wrapper では 自分で作成して attach する必要がある。 変更内容: - AudioDeviceModulePipeWire::Init() で TaskQueueFactory を作成 - AudioDeviceBuffer を作成して AudioDeviceLinuxPipeWire に attach - AttachAudioBuffer() を private メソッドとして実装 - 録音コールバックにログを追加して動作確認を容易にする 動作確認: - AudioDeviceBuffer が正しく作成・attach される - 録音ストリームが STREAMING 状態に遷移 - OnRecStreamProcess で audio_buffer_ が正しく設定されている - Sora への録音データ送信が成功
- PW_KEY_NODE_FORCE_QUANTUM で quantum を 480 フレームに強制 - SPA_PARAM_Latency で min/max quantum を明示 - chunk offset を考慮してサンプルポインタを計算 - リングバッファで 480 フレーム未満のデータを次回へ繰り越し - StopRecording でバッファをリセット (次回開始時に前回の端数が混入しないようにする) - デバイス一覧表示から GUID を削除 - ドキュメントに実装の詳細を追記 (リングバッファ、データ欠落なし)
- InitPlayout で再生ストリームを作成 - OnPlayStreamProcess で AudioDeviceBuffer からデータを取得して PipeWire に転送 - StartPlayout/StopPlayout を実装 - 録音と同様に PW_KEY_NODE_FORCE_QUANTUM で 10ms ネイティブ配信 - リングバッファで 10ms 境界を維持 - StopPlayout でバッファをリセット CHANGES.md: - Linux PipeWire オーディオデバイスモジュール実装を追加 - Linux でのオーディオデバイス選択オプションを追加 doc/LINUX_PIPEWIRE.md: - audio グループが必要な理由を詳しく説明 - PipeWire も底辺では ALSA デバイス経由でアクセスするため audio グループが必須 - デバイスパーミッションの具体例を追加 - 再生機能の実装状況を更新 - 実装見積もりを更新
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
      
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
これは WebRTC ADM の PipeWire API 実装で、マージする予定はありません。