Rémi Bernon (@rbernon) commented about dlls/dmband/bandtrack.c:
- MUSIC_TIME prev = -1, next = time;
- TRACE("(%p, %s, %ld, %p, %p)\n", This, debugstr_dmguid(type), time, next, param);
TRACE("(%p, %s, %ld, %p, %p)\n", This, debugstr_dmguid(type), time, out_next, param);
if (!type) return E_POINTER; if (!IsEqualGUID(type, &GUID_BandParam)) return DMUS_E_GET_UNSUPPORTED;
- FIXME("GUID_BandParam not handled yet\n");
bandparam = param;
LIST_FOR_EACH_ENTRY(band, &This->bands, struct band_entry, entry)
{
if (band->head.lBandTimeLogical <= time && band->head.lBandTimeLogical >= prev)
Adding a few more tests you'll see that this should return the first band even if `lBandTimeLogical >= time`.