diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2014-08-25 10:05:49 +0200 |
---|---|---|
committer | Alessandro Ghedini <alessandro@ghedini.me> | 2014-08-25 11:24:01 +0200 |
commit | 334fd10f1cd0e031a3679ca4dff439bfb162f904 (patch) | |
tree | 3ca4406306eb4671ab64567de0ea4d42f6f1af54 | |
parent | 226735331cf53bc8293458f96e8f004ad530942e (diff) | |
download | mpv-334fd10f1cd0e031a3679ca4dff439bfb162f904.tar.bz2 mpv-334fd10f1cd0e031a3679ca4dff439bfb162f904.tar.xz |
coreaudio_device: fix overwriting of user input
Fixes #1030
-rw-r--r-- | audio/out/ao_coreaudio_device.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/audio/out/ao_coreaudio_device.c b/audio/out/ao_coreaudio_device.c index 047e094f61..cf9d312003 100644 --- a/audio/out/ao_coreaudio_device.c +++ b/audio/out/ao_coreaudio_device.c @@ -404,15 +404,6 @@ static int init(struct ao *ao) if (p->opt_list) ca_print_device_list(ao); - *p = (struct priv) { - .muted = false, - .stream_asbd_changed = 0, - .hog_pid = -1, - .stream = 0, - .stream_idx = -1, - .changed_mixing = false, - }; - OSStatus err = ca_select_device(ao, p->opt_device_id, &p->device); CHECK_CA_ERROR("failed to select device"); @@ -676,6 +667,14 @@ const struct ao_driver audio_out_coreaudio_exclusive = { .pause = audio_pause, .resume = audio_resume, .priv_size = sizeof(struct priv), + .priv_defaults = &(const struct priv){ + .muted = false, + .stream_asbd_changed = 0, + .hog_pid = -1, + .stream = 0, + .stream_idx = -1, + .changed_mixing = false, + }, .options = (const struct m_option[]) { OPT_INT("device_id", opt_device_id, 0, OPTDEF_INT(-1)), OPT_FLAG("list", opt_list, 0), |