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
9
#include "
audio_player/decoder.h
"
10
11
#ifdef __cplusplus
12
extern
"C"
{
13
#endif
14
17
#define TAG_TEXT_MAX 128
18
#define TAG_GENRE_MAX 48
19
20
typedef
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
;
41
codec_id_t
codec
;
42
bool
is_audiobook_hint
;
43
}
track_tags_t
;
44
45
void
tags_clear
(
track_tags_t
*t);
46
50
int
tags_read_file
(
const
char
*path,
track_tags_t
*out);
51
int
tags_read_stream
(
core_stream_t
*s,
const
char
*path_hint,
track_tags_t
*out);
52
53
#ifdef __cplusplus
54
}
55
#endif
decoder.h
Audio decoders behind one interface.
codec_id_t
codec_id_t
Definition
decoder.h:17
core_stream_t
struct core_stream core_stream_t
Definition
stream.h:14
track_tags_t
Definition
tags.h:20
track_tags_t::sample_rate
uint32_t sample_rate
Definition
tags.h:38
track_tags_t::year
uint16_t year
Definition
tags.h:27
track_tags_t::disc_no
uint16_t disc_no
Definition
tags.h:29
track_tags_t::bits
uint8_t bits
Definition
tags.h:39
track_tags_t::duration_ms
uint32_t duration_ms
From the stream when cheap to get (FLAC STREAMINFO, WAV header, MP3 Xing).
Definition
tags.h:37
track_tags_t::cover_mime
uint8_t cover_mime
0 none, 1 JPEG, 2 PNG
Definition
tags.h:35
track_tags_t::cover_offset
uint64_t cover_offset
Embedded cover: absolute file offset and size of the raw image, 0 if none.
Definition
tags.h:33
track_tags_t::rg_album_gain_db
float rg_album_gain_db
Definition
tags.h:31
track_tags_t::channels
uint8_t channels
Definition
tags.h:40
track_tags_t::track_no
uint16_t track_no
Definition
tags.h:28
track_tags_t::is_audiobook_hint
bool is_audiobook_hint
genre "Audiobook"/"Аудиокнига" or M4B
Definition
tags.h:42
track_tags_t::codec
codec_id_t codec
Definition
tags.h:41
track_tags_t::cover_size
uint32_t cover_size
Definition
tags.h:34
tags_clear
void tags_clear(track_tags_t *t)
TAG_GENRE_MAX
#define TAG_GENRE_MAX
Definition
tags.h:18
TAG_TEXT_MAX
#define TAG_TEXT_MAX
Field limits (bytes, UTF-8, including NUL).
Definition
tags.h:17
tags_read_file
int tags_read_file(const char *path, track_tags_t *out)
Read tags from a file.
tags_read_stream
int tags_read_stream(core_stream_t *s, const char *path_hint, track_tags_t *out)
src
audio_player
tags.h
Generated by
1.9.8