17126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten/*
27126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten * Copyright (C) 2010 The Android Open Source Project
37126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten *
47126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten * Licensed under the Apache License, Version 2.0 (the "License");
57126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten * you may not use this file except in compliance with the License.
67126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten * You may obtain a copy of the License at
77126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten *
87126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten *      http://www.apache.org/licenses/LICENSE-2.0
97126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten *
107126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten * Unless required by applicable law or agreed to in writing, software
117126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten * distributed under the License is distributed on an "AS IS" BASIS,
127126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten * See the License for the specific language governing permissions and
147126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten * limitations under the License.
157126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten */
167126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten
177126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten#include <stdlib.h>
18c6853892c94800e72c0bd676d5d2136d48cea76eGlenn Kasten#include <SLES/OpenSLES.h>
197126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten#include "OpenSLESUT.h"
207126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten
217126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten
227126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten/** \brief Maximum result return code */
237126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten
247126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten#define SLESUT_RESULT_MAX (SL_RESULT_CONTROL_LOST + 1)
257126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten
267126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten/** \brief Array of strings correponding to each result code */
277126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten
287126c25d7c037e5086216cf540ecf40779c3585aGlenn Kastenstatic const char * const slesutResultStrings[SLESUT_RESULT_MAX] = {
297126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_SUCCESS",
307126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_PRECONDITIONS_VIOLATED",
317126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_PARAMETER_INVALID",
327126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_MEMORY_FAILURE",
337126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_RESOURCE_ERROR",
347126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_RESOURCE_LOST",
357126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_IO_ERROR",
367126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_BUFFER_INSUFFICIENT",
377126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_CONTENT_CORRUPTED",
387126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_CONTENT_UNSUPPORTED",
397126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_CONTENT_NOT_FOUND",
407126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_PERMISSION_DENIED",
417126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_FEATURE_UNSUPPORTED",
427126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_INTERNAL_ERROR",
437126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_UNKNOWN_ERROR",
447126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_OPERATION_ABORTED",
457126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    "SL_RESULT_CONTROL_LOST"
467126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten};
477126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten
487126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten
497126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten/** \brief Convert a result code to a string or NULL. */
507126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten
517126c25d7c037e5086216cf540ecf40779c3585aGlenn Kastenconst char *slesutResultToString(SLresult result)
527126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten{
537126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    // note that SLresult is unsigned
547126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten    return result < SLESUT_RESULT_MAX ? slesutResultStrings[result] : NULL;
557126c25d7c037e5086216cf540ecf40779c3585aGlenn Kasten}
56