summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/audio.h20
-rw-r--r--firmware/export/config_caps.h9
-rw-r--r--firmware/export/spdif.h8
3 files changed, 29 insertions, 8 deletions
diff --git a/firmware/export/audio.h b/firmware/export/audio.h
index a79a734e29..e6fed90069 100644
--- a/firmware/export/audio.h
+++ b/firmware/export/audio.h
@@ -194,12 +194,7 @@ void audio_record(const char *filename);
194void audio_stop_recording(void); 194void audio_stop_recording(void);
195void audio_pause_recording(void); 195void audio_pause_recording(void);
196void audio_resume_recording(void); 196void audio_resume_recording(void);
197#if CONFIG_CODEC == SWCODEC
198static inline void audio_new_file(const char *filename)
199 { audio_record(filename); }
200#else
201void audio_new_file(const char *filename); 197void audio_new_file(const char *filename);
202#endif /* CONFIG_CODEC == SWCODEC */
203void audio_set_recording_options(struct audio_recording_options *options); 198void audio_set_recording_options(struct audio_recording_options *options);
204void audio_set_recording_gain(int left, int right, int type); 199void audio_set_recording_gain(int left, int right, int type);
205unsigned long audio_recorded_time(void); 200unsigned long audio_recorded_time(void);
@@ -211,11 +206,22 @@ unsigned long audio_num_recorded_bytes(void);
211bool audio_load_encoder(int afmt); 206bool audio_load_encoder(int afmt);
212void audio_remove_encoder(void); 207void audio_remove_encoder(void);
213unsigned char *audio_get_recording_buffer(size_t *buffer_size); 208unsigned char *audio_get_recording_buffer(size_t *buffer_size);
214void audio_set_source(int source, unsigned flags);
215void audio_set_output_source(int source);
216#endif /* CONFIG_CODEC == SWCODEC */ 209#endif /* CONFIG_CODEC == SWCODEC */
210
217#endif /* HAVE_RECORDING */ 211#endif /* HAVE_RECORDING */
218 212
213#if CONFIG_CODEC == SWCODEC
214/* SWCODEC misc. audio functions */
215#if INPUT_SRC_CAPS != 0
216/* audio.c */
217void audio_set_input_source(int source, unsigned flags);
218/* audio_input_mux: target-specific implementation used by audio_set_source
219 to set hardware inputs and audio paths */
220void audio_input_mux(int source, unsigned flags);
221void audio_set_output_source(int source);
222#endif /* INPUT_SRC_CAPS */
223#endif /* CONFIG_CODEC == SWCODEC */
224
219#ifdef HAVE_SPDIF_IN 225#ifdef HAVE_SPDIF_IN
220/* returns index into rec_master_sampr_list */ 226/* returns index into rec_master_sampr_list */
221int audio_get_spdif_sample_rate(void); 227int audio_get_spdif_sample_rate(void);
diff --git a/firmware/export/config_caps.h b/firmware/export/config_caps.h
index 8e3832d3a7..62cae8f8d8 100644
--- a/firmware/export/config_caps.h
+++ b/firmware/export/config_caps.h
@@ -66,6 +66,10 @@
66 #define HAVE_FMRADIO_IN_(...) 66 #define HAVE_FMRADIO_IN_(...)
67#endif 67#endif
68 68
69#if INPUT_SRC_CAPS != 0 && (INPUT_SRC_CAPS & (INPUT_SRC_CAPS-1)) != 0
70#define HAVE_MULTI_INPUT_SRC
71#endif
72
69#ifdef HAVE_RECORDING 73#ifdef HAVE_RECORDING
70/* Recordable source implies it has the input as well */ 74/* Recordable source implies it has the input as well */
71 75
@@ -104,4 +108,9 @@
104#else 108#else
105 #define HAVE_FMRADIO_REC_(...) 109 #define HAVE_FMRADIO_REC_(...)
106#endif 110#endif
111
112#if REC_SRC_CAPS != 0 && (REC_SRC_CAPS & (REC_SRC_CAPS-1)) != 0
113#define HAVE_MULTI_REC_SRC
114#endif
115
107#endif /* HAVE_RECORDING */ 116#endif /* HAVE_RECORDING */
diff --git a/firmware/export/spdif.h b/firmware/export/spdif.h
index f4712fb88f..4179c7873f 100644
--- a/firmware/export/spdif.h
+++ b/firmware/export/spdif.h
@@ -20,6 +20,12 @@
20#ifndef SPDIF_H 20#ifndef SPDIF_H
21#define SPDIF_H 21#define SPDIF_H
22 22
23#ifdef HAVE_SPDIF_POWER
24#define IF_SPDIF_POWER_(...) __VA_ARGS__
25#else
26#define IF_SPDIF_POWER_(...)
27#endif
28
23/* Initialize the S/PDIF driver */ 29/* Initialize the S/PDIF driver */
24void spdif_init(void); 30void spdif_init(void);
25/* Return the S/PDIF frequency in herz - unrounded */ 31/* Return the S/PDIF frequency in herz - unrounded */
@@ -27,7 +33,7 @@ unsigned long spdif_measure_frequency(void);
27#ifdef HAVE_SPDIF_OUT 33#ifdef HAVE_SPDIF_OUT
28/* Set the S/PDIF audio feed - Use AUDIO_SRC_* values - 34/* Set the S/PDIF audio feed - Use AUDIO_SRC_* values -
29 will be off if not powered or !on */ 35 will be off if not powered or !on */
30void spdif_set_output_source(int source, bool on); 36void spdif_set_output_source(int source IF_SPDIF_POWER_(, bool on));
31/* Return the last set S/PDIF audio source - literally the last value passed 37/* Return the last set S/PDIF audio source - literally the last value passed
32 to spdif_set_monitor regardless of power state */ 38 to spdif_set_monitor regardless of power state */
33int spdif_get_output_source(bool *src_on); 39int spdif_get_output_source(bool *src_on);