blob: 443732ae96d6a56a023f4e4246839a62c9079fbf
1 | /** |
2 | * \file audio-out.h |
3 | * \brief Definitiond Of Audio Out Structures |
4 | * \version 1.0.0 |
5 | * \date 2011-03-08 |
6 | */ |
7 | /* Copyright (C) 2007-2011, Amlogic Inc. |
8 | * All right reserved |
9 | * |
10 | */ |
11 | #ifndef AUDIO_OUT_H |
12 | #define AUDIO_OUT_H |
13 | |
14 | #include <adec-macros.h> |
15 | |
16 | ADEC_BEGIN_DECLS |
17 | |
18 | struct aml_audio_dec; |
19 | |
20 | typedef struct { |
21 | void *private_data; |
22 | void *private_data_raw; |
23 | int (*init)(struct aml_audio_dec *); |
24 | int (*start)(struct aml_audio_dec *); |
25 | int (*pause)(struct aml_audio_dec *); |
26 | int (*resume)(struct aml_audio_dec *); |
27 | int (*stop)(struct aml_audio_dec *); |
28 | unsigned long(*latency)(struct aml_audio_dec *); /* get latency in ms */ |
29 | int (*mute)(struct aml_audio_dec *, adec_bool_t); /* 1: enable mute ; 0: disable mute */ |
30 | int (*set_volume)(struct aml_audio_dec *, float); |
31 | int (*set_lrvolume)(struct aml_audio_dec *, float, float); |
32 | int (*set_track_rate)(struct aml_audio_dec *, void *rate); |
33 | int (*get_out_position)(struct aml_audio_dec *, int64_t *position, |
34 | int64_t * time_us); |
35 | int audio_out_raw_enable; |
36 | float track_rate; |
37 | } audio_out_operations_t; |
38 | |
39 | ADEC_END_DECLS |
40 | |
41 | #endif |
42 |