wineoss.drv: Fix AudioRenderClient write pointer calculation.
This commit is contained in:
parent
47bc6223e9
commit
ea47c12ebe
|
@ -1611,8 +1611,7 @@ static HRESULT WINAPI AudioRenderClient_GetBuffer(IAudioRenderClient *iface,
|
||||||
*data = This->tmp_buffer;
|
*data = This->tmp_buffer;
|
||||||
This->buf_state = LOCKED_WRAPPED;
|
This->buf_state = LOCKED_WRAPPED;
|
||||||
}else{
|
}else{
|
||||||
*data = This->local_buffer +
|
*data = This->local_buffer + write_pos * This->fmt->nBlockAlign;
|
||||||
This->lcl_offs_frames * This->fmt->nBlockAlign;
|
|
||||||
This->buf_state = LOCKED_NORMAL;
|
This->buf_state = LOCKED_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1656,8 +1655,8 @@ static HRESULT WINAPI AudioRenderClient_ReleaseBuffer(
|
||||||
}
|
}
|
||||||
|
|
||||||
if(This->buf_state == LOCKED_NORMAL)
|
if(This->buf_state == LOCKED_NORMAL)
|
||||||
buffer = This->local_buffer +
|
buffer = This->local_buffer + This->fmt->nBlockAlign *
|
||||||
This->lcl_offs_frames * This->fmt->nBlockAlign;
|
((This->lcl_offs_frames + This->held_frames) % This->bufsize_frames);
|
||||||
else
|
else
|
||||||
buffer = This->tmp_buffer;
|
buffer = This->tmp_buffer;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue