esp32-audio-player 0.1.0
Audio player engine for ESP32
Loading...
Searching...
No Matches
tags.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
7#pragma once
8
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
17#define TAG_TEXT_MAX 128
18#define TAG_GENRE_MAX 48
19
20typedef struct {
21 char title[TAG_TEXT_MAX];
22 char artist[TAG_TEXT_MAX];
23 char album[TAG_TEXT_MAX];
24 char album_artist[TAG_TEXT_MAX];
25 char genre[TAG_GENRE_MAX];
26 char composer[TAG_TEXT_MAX];
27 uint16_t year;
28 uint16_t track_no, track_total;
29 uint16_t disc_no, disc_total;
31 float rg_track_gain_db, rg_track_peak, rg_album_gain_db, rg_album_peak;
33 uint64_t cover_offset;
34 uint32_t cover_size;
35 uint8_t cover_mime;
37 uint32_t duration_ms;
38 uint32_t sample_rate;
39 uint8_t bits;
40 uint8_t channels;
44
46
50int tags_read_file(const char *path, track_tags_t *out);
51int tags_read_stream(core_stream_t *s, const char *path_hint, track_tags_t *out);
52
53#ifdef __cplusplus
54}
55#endif
Audio decoders behind one interface.
codec_id_t
Definition decoder.h:17
struct core_stream core_stream_t
Definition stream.h:14
Definition tags.h:20
uint32_t sample_rate
Definition tags.h:38
uint16_t year
Definition tags.h:27
uint16_t disc_no
Definition tags.h:29
uint8_t bits
Definition tags.h:39
uint32_t duration_ms
From the stream when cheap to get (FLAC STREAMINFO, WAV header, MP3 Xing).
Definition tags.h:37
uint8_t cover_mime
0 none, 1 JPEG, 2 PNG
Definition tags.h:35
uint64_t cover_offset
Embedded cover: absolute file offset and size of the raw image, 0 if none.
Definition tags.h:33
float rg_album_gain_db
Definition tags.h:31
uint8_t channels
Definition tags.h:40
uint16_t track_no
Definition tags.h:28
bool is_audiobook_hint
genre "Audiobook"/"Аудиокнига" or M4B
Definition tags.h:42
codec_id_t codec
Definition tags.h:41
uint32_t cover_size
Definition tags.h:34
void tags_clear(track_tags_t *t)
#define TAG_GENRE_MAX
Definition tags.h:18
#define TAG_TEXT_MAX
Field limits (bytes, UTF-8, including NUL).
Definition tags.h:17
int tags_read_file(const char *path, track_tags_t *out)
Read tags from a file.
int tags_read_stream(core_stream_t *s, const char *path_hint, track_tags_t *out)