libcdio 2.1.1
audio.h
Go to the documentation of this file.
1/* -*- c -*-
2 Copyright (C) 2005, 2007, 2008, 2019 Rocky Bernstein <rocky@gnu.org>
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
24#ifndef CDIO_AUDIO_H_
25#define CDIO_AUDIO_H_
26
27#include <cdio/types.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif /* __cplusplus */
32
34 typedef struct cdio_subchannel_s
35 {
36 uint8_t format;
37 uint8_t audio_status;
38 uint8_t address: 4;
39 uint8_t control: 4;
40 uint8_t track;
41 uint8_t index;
45
47 typedef struct cdio_audio_volume_s
48 {
49 uint8_t level[4];
51
52
61
73 cdio_audio_volume_t *p_volume);
74
79
86
95 /*in*/msf_t *p_start_msf,
96 /*in*/ msf_t *p_end_msf);
97
105 ( CdIo_t *p_cdio, cdio_track_index_t *p_track_index);
106
114 /*out*/ cdio_subchannel_t *p_subchannel);
115
123
132 cdio_audio_volume_t *p_volume);
133
141
142#ifdef __cplusplus
143}
144#endif /* __cplusplus */
145
146#endif /* CDIO_AUDIO_H_ */
driver_return_code_t cdio_audio_set_volume(CdIo_t *p_cdio, cdio_audio_volume_t *p_volume)
driver_return_code_t cdio_audio_resume(CdIo_t *p_cdio)
struct cdio_audio_volume_s cdio_audio_volume_t
driver_return_code_t cdio_audio_get_volume(CdIo_t *p_cdio, cdio_audio_volume_t *p_volume)
uint32_t cdio_audio_get_msf_seconds(msf_t *p_msf)
driver_return_code_t cdio_audio_pause(CdIo_t *p_cdio)
struct cdio_track_index_s cdio_track_index_t
driver_return_code_t cdio_audio_play_msf(CdIo_t *p_cdio, msf_t *p_start_msf, msf_t *p_end_msf)
driver_return_code_t cdio_audio_stop(CdIo_t *p_cdio)
struct cdio_subchannel_s cdio_subchannel_t
driver_return_code_t cdio_audio_read_subchannel(CdIo_t *p_cdio, cdio_subchannel_t *p_subchannel)
driver_return_code_t cdio_audio_play_track_index(CdIo_t *p_cdio, cdio_track_index_t *p_track_index)
struct _CdIo CdIo_t
Definition cdio.h:47
driver_return_code_t
Definition device.h:205
Definition audio.h:48
uint8_t level[4]
Definition audio.h:49
Definition audio.h:35
uint8_t track
Definition audio.h:40
uint8_t audio_status
Definition audio.h:37
uint8_t index
Definition audio.h:41
msf_t abs_addr
Definition audio.h:42
uint8_t address
Definition audio.h:38
uint8_t control
Definition audio.h:39
msf_t rel_addr
Definition audio.h:43
uint8_t format
Definition audio.h:36
Definition audio.h:55
uint8_t i_start_track
Definition audio.h:56
uint8_t i_end_index
Definition audio.h:59
uint8_t i_start_index
Definition audio.h:57
uint8_t i_end_track
Definition audio.h:58
Common type definitions used pervasively in libcdio.
typedefPRAGMA_END_PACKED struct msf_s msf_t
Definition types.h:208