VirtualBox

Changeset 82988 in vbox


Ignore:
Timestamp:
Feb 5, 2020 11:10:51 AM (5 years ago)
Author:
vboxsync
Message:

DevIchAc97/ichac97R3MixerAddDrvStream: Destroy streams on failure to prevent annoying assertions in STAM about duplicate statistics when the stream is reopened. Not sure if this is the right fix, but clearly someone didn't test ICH97 with VRDP enabled in a debug/strict build.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Audio/DevIchAc97.cpp

    r82968 r82988  
    18551855            {
    18561856                /* If this is an input stream, always set the latest (added) stream
    1857                  * as the recording source.
    1858                  * @todo Make the recording source dynamic (CFGM?). */
     1857                 * as the recording source. */
     1858                /** @todo Make the recording source dynamic (CFGM?). */
    18591859                if (pStreamCfg->enmDir == PDMAUDIODIR_IN)
    18601860                {
     
    18801880                                 pDrv->uLUN, pStreamCfg->szName, rc));
    18811881                }
     1882                /** @todo r=bird: see below. */
     1883                if (RT_FAILURE(rc))
     1884                    AudioMixerSinkRemoveStream(pMixSink, pMixStrm);
    18821885            }
     1886            /** @todo r=bird: I've added this destroy stuff here, because if it looks as if
     1887             * you just drop the stream if the AudioMixerSinkAddStream fails for some
     1888             * reason.  This is definitely true if AudioMixerSinkSetRecordingSource fails
     1889             * above, because it leads to duplicate statistics when starting XP with ICH97
     1890             * and VRDP enabled.  Looks like the VRDP line-in fails with
     1891             * VERR_AUDIO_STREAM_NOT_READY when configured for 8000HZ, then it asserts in
     1892             * STAM when 48000Hz is configured right afterwards. */
     1893            if (RT_FAILURE(rc))
     1894                AudioMixerStreamDestroy(pMixStrm);
    18831895        }
    18841896
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette