Module: wine Branch: master Commit: c6e6f87a898817ac13e49685f0bacdd9b17518a6 URL: https://gitlab.winehq.org/wine/wine/-/commit/c6e6f87a898817ac13e49685f0bacdd...
Author: Rémi Bernon rbernon@codeweavers.com Date: Fri Sep 22 11:29:00 2023 +0200
dmime: Implement some segment state default values.
---
dlls/dmime/segmentstate.c | 30 +++++++++++++++++++----------- dlls/dmime/tests/dmime.c | 14 +++++++------- 2 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/dlls/dmime/segmentstate.c b/dlls/dmime/segmentstate.c index b49308369ac..655940311b3 100644 --- a/dlls/dmime/segmentstate.c +++ b/dlls/dmime/segmentstate.c @@ -78,38 +78,46 @@ static ULONG WINAPI segment_state_Release(IDirectMusicSegmentState8 *iface) return ref; }
-static HRESULT WINAPI segment_state_GetRepeats(IDirectMusicSegmentState8 *iface, DWORD *pdwRepeats) +static HRESULT WINAPI segment_state_GetRepeats(IDirectMusicSegmentState8 *iface, DWORD *repeats) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, pdwRepeats); + FIXME("(%p, %p): semi-stub\n", This, repeats); return S_OK; }
-static HRESULT WINAPI segment_state_GetSegment(IDirectMusicSegmentState8 *iface, IDirectMusicSegment **ppSegment) +static HRESULT WINAPI segment_state_GetSegment(IDirectMusicSegmentState8 *iface, IDirectMusicSegment **segment) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, ppSegment); - return S_OK; + + FIXME("(%p, %p): semi-stub\n", This, segment); + + *segment = NULL; + return DMUS_E_NOT_FOUND; }
-static HRESULT WINAPI segment_state_GetStartTime(IDirectMusicSegmentState8 *iface, MUSIC_TIME *pmtStart) +static HRESULT WINAPI segment_state_GetStartTime(IDirectMusicSegmentState8 *iface, MUSIC_TIME *start_time) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, pmtStart); + FIXME("(%p, %p): semi-stub\n", This, start_time); + *start_time = -1; return S_OK; }
-static HRESULT WINAPI segment_state_GetSeek(IDirectMusicSegmentState8 *iface, MUSIC_TIME *pmtSeek) +static HRESULT WINAPI segment_state_GetSeek(IDirectMusicSegmentState8 *iface, MUSIC_TIME *seek_time) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, pmtSeek); + FIXME("(%p, %p): semi-stub\n", This, seek_time); + *seek_time = 0; return S_OK; }
-static HRESULT WINAPI segment_state_GetStartPoint(IDirectMusicSegmentState8 *iface, MUSIC_TIME *pmtStart) +static HRESULT WINAPI segment_state_GetStartPoint(IDirectMusicSegmentState8 *iface, MUSIC_TIME *start_time) { struct segment_state *This = impl_from_IDirectMusicSegmentState8(iface); - FIXME("(%p, %p): stub\n", This, pmtStart); + + FIXME("(%p, %p): semi-stub\n", This, start_time); + + *start_time = 0; return S_OK; }
diff --git a/dlls/dmime/tests/dmime.c b/dlls/dmime/tests/dmime.c index ea5a972dc80..e7113d2bb5c 100644 --- a/dlls/dmime/tests/dmime.c +++ b/dlls/dmime/tests/dmime.c @@ -3985,12 +3985,12 @@ static void test_segment_state(void)
tmp_segment = (void *)0xdeadbeef; hr = IDirectMusicSegmentState_GetSegment(state, &tmp_segment); - todo_wine ok(hr == DMUS_E_NOT_FOUND, "got %#lx\n", hr); - todo_wine ok(tmp_segment == NULL, "got %p\n", tmp_segment); + ok(hr == DMUS_E_NOT_FOUND, "got %#lx\n", hr); + ok(tmp_segment == NULL, "got %p\n", tmp_segment); time = 0xdeadbeef; hr = IDirectMusicSegmentState_GetStartPoint(state, &time); ok(hr == S_OK, "got %#lx\n", hr); - todo_wine ok(time == 0, "got %#lx\n", time); + ok(time == 0, "got %#lx\n", time); time = 0xdeadbeef; hr = IDirectMusicSegmentState_GetRepeats(state, &value); ok(hr == S_OK, "got %#lx\n", hr); @@ -3998,11 +3998,11 @@ static void test_segment_state(void) time = 0xdeadbeef; hr = IDirectMusicSegmentState_GetStartTime(state, &time); ok(hr == S_OK, "got %#lx\n", hr); - todo_wine ok(time == -1, "got %#lx\n", time); + ok(time == -1, "got %#lx\n", time); time = 0xdeadbeef; hr = IDirectMusicSegmentState_GetSeek(state, &time); ok(hr == S_OK, "got %#lx\n", hr); - todo_wine ok(time == 0, "got %#lx\n", time); + ok(time == 0, "got %#lx\n", time);
/* PlaySegment returns a different, genuine segment state */ @@ -4043,9 +4043,9 @@ static void test_segment_state(void)
tmp_segment = (void *)0xdeadbeef; hr = IDirectMusicSegmentState_GetSegment(state, &tmp_segment); - ok(hr == S_OK, "got %#lx\n", hr); + todo_wine ok(hr == S_OK, "got %#lx\n", hr); todo_wine ok(tmp_segment == segment, "got %p\n", tmp_segment); - if (tmp_segment != (void *)0xdeadbeef) IDirectMusicSegment_Release(tmp_segment); + if (tmp_segment) IDirectMusicSegment_Release(tmp_segment);
time = 0xdeadbeef; hr = IDirectMusicSegmentState_GetStartPoint(state, &time);