include/uapi/sound/compress_offload.h
Source file repositories/reference/linux-study-clean/include/uapi/sound/compress_offload.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/sound/compress_offload.h- Extension
.h- Size
- 9284 bytes
- Lines
- 269
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hsound/asound.hsound/compress_params.h
Detected Declarations
struct snd_compressed_bufferstruct snd_compr_paramsstruct snd_compr_tstampstruct snd_compr_tstamp64struct snd_compr_availstruct snd_compr_avail64struct snd_compr_capsstruct snd_compr_codec_capsstruct snd_compr_metadatastruct snd_compr_taskstruct snd_compr_task_statusenum snd_compr_directionenum sndrv_compress_encoderenum snd_compr_state
Annotated Snippet
struct snd_compressed_buffer {
__u32 fragment_size;
__u32 fragments;
} __attribute__((packed, aligned(4)));
/**
* struct snd_compr_params - compressed stream params
* @buffer: buffer description
* @codec: codec parameters
* @no_wake_mode: dont wake on fragment elapsed
*/
struct snd_compr_params {
struct snd_compressed_buffer buffer;
struct snd_codec codec;
__u8 no_wake_mode;
} __attribute__((packed, aligned(4)));
/**
* struct snd_compr_tstamp - timestamp descriptor
* @byte_offset: Byte offset in ring buffer to DSP
* @copied_total: Total number of bytes copied from/to ring buffer to/by DSP
* @pcm_frames: Frames decoded or encoded by DSP. This field will evolve by
* large steps and should only be used to monitor encoding/decoding
* progress. It shall not be used for timing estimates.
* @pcm_io_frames: Frames rendered or received by DSP into a mixer or an audio
* output/input. This field should be used for A/V sync or time estimates.
* @sampling_rate: sampling rate of audio
*/
struct snd_compr_tstamp {
__u32 byte_offset;
__u32 copied_total;
__u32 pcm_frames;
__u32 pcm_io_frames;
__u32 sampling_rate;
} __attribute__((packed, aligned(4)));
/**
* struct snd_compr_tstamp64 - timestamp descriptor with fields in 64 bit
* @byte_offset: Byte offset in ring buffer to DSP
* @copied_total: Total number of bytes copied from/to ring buffer to/by DSP
* @pcm_frames: Frames decoded or encoded by DSP. This field will evolve by
* large steps and should only be used to monitor encoding/decoding
* progress. It shall not be used for timing estimates.
* @pcm_io_frames: Frames rendered or received by DSP into a mixer or an audio
* output/input. This field should be used for A/V sync or time estimates.
* @sampling_rate: sampling rate of audio
*/
struct snd_compr_tstamp64 {
__u32 byte_offset;
__u64 copied_total;
__u64 pcm_frames;
__u64 pcm_io_frames;
__u32 sampling_rate;
} __attribute__((packed, aligned(4)));
/**
* struct snd_compr_avail - avail descriptor
* @avail: Number of bytes available in ring buffer for writing/reading
* @tstamp: timestamp information
*/
struct snd_compr_avail {
__u64 avail;
struct snd_compr_tstamp tstamp;
} __attribute__((packed, aligned(4)));
/**
* struct snd_compr_avail64 - avail descriptor with tstamp in 64 bit format
* @avail: Number of bytes available in ring buffer for writing/reading
* @tstamp: timestamp information
*/
struct snd_compr_avail64 {
__u64 avail;
struct snd_compr_tstamp64 tstamp;
} __attribute__((packed, aligned(4)));
enum snd_compr_direction {
SND_COMPRESS_PLAYBACK = 0,
SND_COMPRESS_CAPTURE,
SND_COMPRESS_ACCEL
};
/**
* struct snd_compr_caps - caps descriptor
* @codecs: pointer to array of codecs
* @direction: direction supported. Of type snd_compr_direction
* @min_fragment_size: minimum fragment supported by DSP
* @max_fragment_size: maximum fragment supported by DSP
* @min_fragments: min fragments supported by DSP
* @max_fragments: max fragments supported by DSP
* @num_codecs: number of codecs supported
Annotation
- Immediate include surface: `linux/types.h`, `sound/asound.h`, `sound/compress_params.h`.
- Detected declarations: `struct snd_compressed_buffer`, `struct snd_compr_params`, `struct snd_compr_tstamp`, `struct snd_compr_tstamp64`, `struct snd_compr_avail`, `struct snd_compr_avail64`, `struct snd_compr_caps`, `struct snd_compr_codec_caps`, `struct snd_compr_metadata`, `struct snd_compr_task`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.