From 51de1d8436100f725f3576aefa24a2bd2057bc28 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 22:36:56 +0200 Subject: Adding upstream version 0.37.0. Signed-off-by: Daniel Baumann --- audio/chmap_sel.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 audio/chmap_sel.h (limited to 'audio/chmap_sel.h') diff --git a/audio/chmap_sel.h b/audio/chmap_sel.h new file mode 100644 index 0000000..4b11557 --- /dev/null +++ b/audio/chmap_sel.h @@ -0,0 +1,52 @@ +/* + * This file is part of mpv. + * + * mpv is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * mpv is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with mpv. If not, see . + */ + +#ifndef MP_CHMAP_SEL_H +#define MP_CHMAP_SEL_H + +#include + +#include "chmap.h" + +struct mp_chmap_sel { + // should be considered opaque + bool allow_any, allow_waveext; + bool speakers[MP_SPEAKER_ID_COUNT]; + struct mp_chmap *chmaps; + int num_chmaps; + + struct mp_chmap chmaps_storage[20]; + + void *tmp; // set to any talloc context to allow more chmaps entries +}; + +void mp_chmap_sel_add_any(struct mp_chmap_sel *s); +void mp_chmap_sel_add_waveext(struct mp_chmap_sel *s); +void mp_chmap_sel_add_waveext_def(struct mp_chmap_sel *s); +void mp_chmap_sel_add_map(struct mp_chmap_sel *s, const struct mp_chmap *map); +void mp_chmap_sel_add_speaker(struct mp_chmap_sel *s, int id); +bool mp_chmap_sel_adjust(const struct mp_chmap_sel *s, struct mp_chmap *map); +bool mp_chmap_sel_fallback(const struct mp_chmap_sel *s, struct mp_chmap *map); +bool mp_chmap_sel_get_def(const struct mp_chmap_sel *s, struct mp_chmap *map, + int num); + +struct mp_log; +void mp_chmal_sel_log(const struct mp_chmap_sel *s, struct mp_log *log, int lev); + +void mp_chmap_sel_list(struct mp_chmap *c, struct mp_chmap *maps, int num_maps); + +#endif -- cgit v1.2.3