summaryrefslogtreecommitdiffstats
path: root/audio/out/ao.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-07-21 21:33:17 +0200
committerwm4 <wm4@nowhere>2013-07-21 23:27:31 +0200
commit7eba27c125f6e4813ecc6cff567dc29e17d10fc5 (patch)
treefaff2bdc8aa2fc490634eacbebccdfa19b5c7df9 /audio/out/ao.h
parent9e1331f7afe8f1648424e45ea2c67ca5e95656ad (diff)
downloadmpv-7eba27c125f6e4813ecc6cff567dc29e17d10fc5.tar.bz2
mpv-7eba27c125f6e4813ecc6cff567dc29e17d10fc5.tar.xz
options: use new option code for --ao
This requires completely refactoring the AO creation code too.
Diffstat (limited to 'audio/out/ao.h')
-rw-r--r--audio/out/ao.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/audio/out/ao.h b/audio/out/ao.h
index 146c35f823..4556958324 100644
--- a/audio/out/ao.h
+++ b/audio/out/ao.h
@@ -82,6 +82,11 @@ struct ao_driver {
float (*get_delay)(struct ao *ao);
void (*pause)(struct ao *ao);
void (*resume)(struct ao *ao);
+
+ // For option parsing (see vo.h)
+ int priv_size;
+ const void *priv_defaults;
+ const struct m_option *options;
};
/* global data used by mplayer and plugins */
@@ -94,7 +99,6 @@ struct ao {
struct bstr buffer;
int buffer_playable_size;
bool probing; // if true, don't fail loudly on init
- bool initialized;
bool untimed;
bool no_persistent_volume; // the AO does the equivalent of af_volume
bool per_application_mixer; // like above, but volume persists (per app)
@@ -107,10 +111,10 @@ struct ao {
extern char *ao_subdevice;
-void list_audio_out(void);
-
-struct ao *ao_create(struct MPOpts *opts, struct input_ctx *input);
-void ao_init(struct ao *ao, char **ao_list);
+struct ao *ao_init_best(struct MPOpts *opts,
+ struct input_ctx *input_ctx,
+ struct encode_lavc_context *encode_lavc_ctx,
+ int samplerate, int format, struct mp_chmap channels);
void ao_uninit(struct ao *ao, bool cut_audio);
int ao_play(struct ao *ao, void *data, int len, int flags);
int ao_control(struct ao *ao, enum aocontrol cmd, void *arg);