2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef __TIZEN_SOUNDPOOL_INTERNAL_PRIORITY_H_
18 #define __TIZEN_SOUNDPOOL_INTERNAL_PRIORITY_H_
20 #include "sound_pool_private.h"
21 #include "internal/stream.h"
30 * @brief Pool Priority Manager type.
34 struct stream_priority_manager_s {
36 GList *priority_queue;
39 sound_pool_error_e _sound_stream_priority_create(sound_pool_t *pool,
40 stream_priority_manager_t **mgr);
42 sound_pool_error_e _sound_stream_priority_destroy(
43 stream_priority_manager_t *mgr);
45 sound_pool_error_e _sound_stream_priority_add_stream(
46 stream_priority_manager_t *mgr, sound_stream_t *stream);
48 sound_pool_error_e _sound_stream_priority_remove_stream(
49 stream_priority_manager_t *mgr, sound_stream_t *stream);
51 sound_pool_error_e _sound_stream_priority_check(stream_priority_manager_t *mgr,
52 sound_stream_t *stream, gboolean *out);
54 void _sound_stream_priority_update_playback(stream_priority_manager_t *mgr);
58 #endif /* __cplusplus */
60 #endif /* __TIZEN_SOUNDPOOL_INTERNAL_PRIORITY_H_ */