2 * Copyright (C) 2016 Samsung Electronics. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
13 * THIS SOFTWARE IS PROVIDED BY SAMSUNG ELECTRONICS. AND ITS CONTRIBUTORS
14 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SAMSUNG ELECTRONICS. OR ITS
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
23 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 * @file ewk_media_playback_info_product.h
28 * @brief This file describes the ewk media playback info API.
31 #ifndef ewk_media_playback_info_product_h
32 #define ewk_media_playback_info_product_h
43 * Enum values used to inform webengine about decoder used by broadcast.
45 typedef enum Ewk_Hardware_Decoders {
46 EWK_HARDWARE_DECODERS_NONE,
47 EWK_HARDWARE_DECODERS_MAIN,
48 EWK_HARDWARE_DECODERS_SUB,
49 } Ewk_Hardware_Decoders;
51 typedef struct _Ewk_Media_Playback_Info Ewk_Media_Playback_Info;
54 * Get video id of media.
56 * @param meia playback info's structure
60 EXPORT_API const int ewk_media_playback_info_video_id_get(
61 Ewk_Media_Playback_Info* data);
66 * @param meia playback info's structure
68 * @return @c media url
70 EXPORT_API const char* ewk_media_playback_info_media_url_get(
71 Ewk_Media_Playback_Info* data);
74 * Get mime type of media.
76 * @param meia playback info's structure
78 * @return @c mime type
80 EXPORT_API const char* ewk_media_playback_info_mime_type_get(
81 Ewk_Media_Playback_Info* data);
84 * Get translated url of media.
86 * @param media playback info's structure
88 * @return @c translated url
90 EXPORT_API const char* ewk_media_playback_info_translated_url_get(
91 Ewk_Media_Playback_Info* data);
94 * Get drm info of media.
96 * @param media playback info's structure
100 EXPORT_API const char* ewk_media_playback_info_drm_info_get(
101 Ewk_Media_Playback_Info* data);
104 * Get decoder info of media.
106 * @param data playback info's structure
108 * @return @c decoder name
110 EXPORT_API Ewk_Hardware_Decoders ewk_media_playback_info_decoder_get(
111 Ewk_Media_Playback_Info* data);
114 * Set media resource acquired of media.
116 * @param media playback info's structure
118 EXPORT_API void ewk_media_playback_info_media_resource_acquired_set(
119 Ewk_Media_Playback_Info* data,
120 Eina_Bool media_resource_acquired);
123 * Set translated url of media.
125 * @param media playback info's structure
127 EXPORT_API void ewk_media_playback_info_translated_url_set(
128 Ewk_Media_Playback_Info* data,
129 const char* translated_url);
132 * Set drm info of media.
134 * @param media playback info's structure
136 EXPORT_API void ewk_media_playback_info_drm_info_set(
137 Ewk_Media_Playback_Info* data,
138 const char* drm_info);
141 * Set decoder info of media.
143 * @param media playback info's structure
145 EXPORT_API void ewk_media_playback_info_decoder_set(
146 Ewk_Media_Playback_Info* data,
147 Ewk_Hardware_Decoders decoder);
149 Ewk_Media_Playback_Info* ewkMediaPlaybackInfoCreate(const int player_id,
151 const char* mime_type);
152 Eina_Bool ewk_media_playback_info_media_resource_acquired_get(
153 Ewk_Media_Playback_Info* data);
154 void ewkMediaPlaybackInfoDelete(Ewk_Media_Playback_Info* data);
159 #endif // ewk_media_playback_info_product_h