microsoft / microsoft/win32metadata
Feature request: Highly related consts `KSDATAFORMAT_SUBTYPE_PCM` and `KSDATAFORMAT_SUBTYPE_IEEE_FLOAT` should be in the same module
- Dominant language
- C++
- Stars
- 1.5k
- Forks
- 149
- Avg merge
- 5d 16h
- Merged PRs (30d)
- 4
Description
### Motivation
In the C headers both are defined in `mmreg.h` but in the rust version
- `KSDATAFORMAT_SUBTYPE_PCM` is in `Windows::Media::KernelStreaming`
- `KSDATAFORMAT_SUBTYPE_IEEE_FLOAT` is in `Windows::Media::Multimedia`
I am not sure what is the best thing to do, but I am not comfortable writing code with the current organization.
This is the same situation for
- `WAVE_FORMAT_IEEE_FLOAT` which is in `Windows::Media::Multimedia`
- `WAVE_FORMAT_PCM` which is in `Windows::Media::Audio`
### Drawbacks
_No response_
### Rationale and alternatives
_No response_
### Additional context
I am writing code using the WASAPI API. and manipulate WAVEFORMATEXTENSIBLE.
Then I have to deal with these two constants for the `WAVEFORMATEXTENSIBLE::SubFormat` field.
It feels strange to import them from two different modules.
Contributor guide
Research direction
Start by comparing the constant definitions in the C `mmreg.h` header with their generated Rust locations under `Windows::Media::KernelStreaming`, `Multimedia`, and `Audio`. Determine a consistent placement for the related PCM and IEEE-float constants used with WASAPI and `WAVEFORMATEXTENSIBLE`; done means the related constants can be imported from the same appropriate module.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, rust
- Domain
- audio-video-rtc, devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100