microsoft / microsoft/win32metadata

Feature request: Highly related consts `KSDATAFORMAT_SUBTYPE_PCM` and `KSDATAFORMAT_SUBTYPE_IEEE_FLOAT` should be in the same module

Open
#1,602 3 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.