diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index a0653d2a421..df1996bf850 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -3689,7 +3689,9 @@ static HRESULT WINAPI d3d9_device_SetStreamSourceFreq(IDirect3DDevice9Ex *iface, TRACE("iface %p, stream_idx %u, freq %u.\n", iface, stream_idx, freq); wined3d_mutex_lock(); - hr = wined3d_device_set_stream_source_freq(device->wined3d_device, stream_idx, freq); + hr = wined3d_stateblock_set_stream_source_freq(device->update_state, stream_idx, freq); + if (SUCCEEDED(hr) && !device->recording) + hr = wined3d_device_set_stream_source_freq(device->wined3d_device, stream_idx, freq); wined3d_mutex_unlock(); return hr;