⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 284803 in webkit


Ignore:
Timestamp:
Oct 25, 2021, 12:09:42 PM (5 years ago)
Author:
Alan Coon
Message:

Cherry-pick r283628. rdar://problem/83729357

CoreAudioSharedUnit should not clear its persistentID when device capture changes
https://bugs.webkit.org/show_bug.cgi?id=231280

Reviewed by Eric Carlson.

Manually tested.

  • platform/mediastream/mac/CoreAudioCaptureSource.cpp: (WebCore::CoreAudioSharedUnit::cleanupAudioUnit): Partially reverting https://commits.webkit.org/r280702 which was clearing m_persistentID in cleanUpAudioUnit. The issue is that when unit is capturing and is changing capturing device, it will set m_persistentID then cleanUpAudioUnit as part of its reconfiguration. This was making m_persistentID being empty. When starting to capture, we often receive a notification of changed devices and we would check whether the new devices set contains m_persistentID. If not (which is the case since m_persistentID is empty), we would fail the capture.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283628 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Location:
branches/safari-612-branch/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-612-branch/Source/WebCore/ChangeLog

    r284802 r284803  
     12021-10-25  Null  <null@apple.com>
     2
     3        Cherry-pick r283628. rdar://problem/83729357
     4
     5    CoreAudioSharedUnit should not clear its persistentID when device capture changes
     6    https://bugs.webkit.org/show_bug.cgi?id=231280
     7   
     8    Reviewed by Eric Carlson.
     9   
     10    Manually tested.
     11   
     12    * platform/mediastream/mac/CoreAudioCaptureSource.cpp:
     13    (WebCore::CoreAudioSharedUnit::cleanupAudioUnit):
     14    Partially reverting https://commits.webkit.org/r280702 which was clearing m_persistentID in cleanUpAudioUnit.
     15    The issue is that when unit is capturing and is changing capturing device, it will set m_persistentID then cleanUpAudioUnit
     16    as part of its reconfiguration. This was making m_persistentID being empty.
     17    When starting to capture, we often receive a notification of changed devices and we would check whether the new devices set
     18    contains m_persistentID. If not (which is the case since m_persistentID is empty), we would fail the capture.
     19   
     20   
     21    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     22
     23    2021-10-06  Youenn Fablet  <youenn@apple.com>
     24
     25            CoreAudioSharedUnit should not clear its persistentID when device capture changes
     26            https://bugs.webkit.org/show_bug.cgi?id=231280
     27
     28            Reviewed by Eric Carlson.
     29
     30            Manually tested.
     31
     32            * platform/mediastream/mac/CoreAudioCaptureSource.cpp:
     33            (WebCore::CoreAudioSharedUnit::cleanupAudioUnit):
     34            Partially reverting https://commits.webkit.org/r280702 which was clearing m_persistentID in cleanUpAudioUnit.
     35            The issue is that when unit is capturing and is changing capturing device, it will set m_persistentID then cleanUpAudioUnit
     36            as part of its reconfiguration. This was making m_persistentID being empty.
     37            When starting to capture, we often receive a notification of changed devices and we would check whether the new devices set
     38            contains m_persistentID. If not (which is the case since m_persistentID is empty), we would fail the capture.
     39
    1402021-10-25  Null  <null@apple.com>
    241
  • branches/safari-612-branch/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp

    r280702 r284803  
    471471    m_microphoneSampleBuffer = nullptr;
    472472    m_speakerSampleBuffer = nullptr;
    473     m_persistentID = emptyString();
    474473#if !LOG_DISABLED
    475474    m_ioUnitName = emptyString();
Note: See TracChangeset for help on using the changeset viewer.