aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound/compress_driver.h
diff options
context:
space:
mode:
authorJeeja KP <jeeja.kp@intel.com>2013-02-14 06:22:51 -0500
committerTakashi Iwai <tiwai@suse.de>2013-02-14 06:30:22 -0500
commit9727b490e543de956b8ba356e2d5499097d0b7a2 (patch)
tree81c41ee5b9987fdcb32c474484c39f45210507c0 /include/sound/compress_driver.h
parent8be69efacdc73fc110624f847bdf04b83decfc70 (diff)
ALSA: compress: add support for gapless playback
this add new API for sound compress to support gapless playback. As noted in Documentation change, we add API to send metadata of encoder and padding delay to DSP. Also add API for indicating EOF and switching to subsequent track Also bump the compress API version Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound/compress_driver.h')
-rw-r--r--include/sound/compress_driver.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/sound/compress_driver.h b/include/sound/compress_driver.h
index f2912abacdf3..ff6c74153fa1 100644
--- a/include/sound/compress_driver.h
+++ b/include/sound/compress_driver.h
@@ -71,6 +71,8 @@ struct snd_compr_runtime {
71 * @runtime: pointer to runtime structure 71 * @runtime: pointer to runtime structure
72 * @device: device pointer 72 * @device: device pointer
73 * @direction: stream direction, playback/recording 73 * @direction: stream direction, playback/recording
74 * @metadata_set: metadata set flag, true when set
75 * @next_track: has userspace signall next track transistion, true when set
74 * @private_data: pointer to DSP private data 76 * @private_data: pointer to DSP private data
75 */ 77 */
76struct snd_compr_stream { 78struct snd_compr_stream {
@@ -79,6 +81,8 @@ struct snd_compr_stream {
79 struct snd_compr_runtime *runtime; 81 struct snd_compr_runtime *runtime;
80 struct snd_compr *device; 82 struct snd_compr *device;
81 enum snd_compr_direction direction; 83 enum snd_compr_direction direction;
84 bool metadata_set;
85 bool next_track;
82 void *private_data; 86 void *private_data;
83}; 87};
84 88
@@ -110,6 +114,10 @@ struct snd_compr_ops {
110 struct snd_compr_params *params); 114 struct snd_compr_params *params);
111 int (*get_params)(struct snd_compr_stream *stream, 115 int (*get_params)(struct snd_compr_stream *stream,
112 struct snd_codec *params); 116 struct snd_codec *params);
117 int (*set_metadata)(struct snd_compr_stream *stream,
118 struct snd_compr_metadata *metadata);
119 int (*get_metadata)(struct snd_compr_stream *stream,
120 struct snd_compr_metadata *metadata);
113 int (*trigger)(struct snd_compr_stream *stream, int cmd); 121 int (*trigger)(struct snd_compr_stream *stream, int cmd);
114 int (*pointer)(struct snd_compr_stream *stream, 122 int (*pointer)(struct snd_compr_stream *stream,
115 struct snd_compr_tstamp *tstamp); 123 struct snd_compr_tstamp *tstamp);