blob: f3812a545e7916984c76d168eec64c1d17cfc8b8 [file] [log] [blame]
Sylvain Munaut0f7e52d2010-10-29 11:38:54 +02001/* Formats handling */
2
3/*
4 * This file is part of gapk (GSM Audio Pocket Knife).
5 *
6 * gapk is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * gapk is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with gapk. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#include <stdio.h> /* for NULL */
21
22#include <gapk/formats.h>
23
24/* Extern format descriptors */
Sylvain Munaut5e380d02010-10-29 11:41:16 +020025extern const struct format_desc fmt_gsm;
Sylvain Munautf9059832010-10-29 11:44:40 +020026extern const struct format_desc fmt_hr_ref_dec;
27extern const struct format_desc fmt_hr_ref_enc;
Sylvain Munaut6c96cc22010-10-29 11:46:05 +020028extern const struct format_desc fmt_racal_hr;
29extern const struct format_desc fmt_racal_fr;
30extern const struct format_desc fmt_racal_efr;
Sylvain Munaut5e380d02010-10-29 11:41:16 +020031
Sylvain Munaut0f7e52d2010-10-29 11:38:54 +020032static const struct format_desc *supported_formats[_FMT_MAX] = {
33 [FMT_INVALID] = NULL,
Sylvain Munaut5e380d02010-10-29 11:41:16 +020034 [FMT_GSM] = &fmt_gsm,
Sylvain Munautf9059832010-10-29 11:44:40 +020035 [FMT_HR_REF_DEC] = &fmt_hr_ref_dec,
36 [FMT_HR_REF_ENC] = &fmt_hr_ref_enc,
Sylvain Munaut6c96cc22010-10-29 11:46:05 +020037 [FMT_RACAL_HR] = &fmt_racal_hr,
38 [FMT_RACAL_FR] = &fmt_racal_fr,
39 [FMT_RACAL_EFR] = &fmt_racal_efr,
Sylvain Munaut0f7e52d2010-10-29 11:38:54 +020040};
41
42
43const struct format_desc *
44fmt_get_from_type(enum format_type type)
45{
46 if (type <= FMT_INVALID || type >= _FMT_MAX)
47 return NULL;
48 return supported_formats[type];
49}