7 #include "ppapi/c/pp_errors.h"
8 #include "ppapi/c/ppb_instance.h"
17 template <>
const char* interface_name<PPB_MediaPlayer_Samsung_1_0>() {
18 return PPB_MEDIAPLAYER_SAMSUNG_INTERFACE_1_0;
22 const char* interface_name<PPB_MediaPlayer_Samsung_1_1>() {
23 return PPB_MEDIAPLAYER_SAMSUNG_INTERFACE_1_1;
27 const char* interface_name<PPB_Instance_1_0>() {
28 return PPB_INSTANCE_INTERFACE_1_0;
37 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
40 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
42 get_interface<PPB_MediaPlayer_Samsung_1_0>()->Create(
50 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
52 get_interface<PPB_MediaPlayer_Samsung_1_1>()
53 ->CreateWithoutBindingToInstance(instance.
pp_instance()));
71 if (!has_interface<PPB_Instance_1_0>())
73 return PP_ToBool(get_interface<PPB_Instance_1_0>()->BindGraphics(
80 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
84 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
90 return callback.
MayForce(PP_ERROR_NOINTERFACE);
96 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
97 return get_interface<PPB_MediaPlayer_Samsung_1_1>()->
Play(
99 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
100 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
Play(
104 return callback.
MayForce(PP_ERROR_NOINTERFACE);
108 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
109 return get_interface<PPB_MediaPlayer_Samsung_1_1>()->
Pause(
111 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
112 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
Pause(
116 return callback.
MayForce(PP_ERROR_NOINTERFACE);
120 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
121 return get_interface<PPB_MediaPlayer_Samsung_1_1>()->
Stop(
123 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
124 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
Stop(
128 return callback.
MayForce(PP_ERROR_NOINTERFACE);
133 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
134 return get_interface<PPB_MediaPlayer_Samsung_1_1>()->
Seek(
136 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
137 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
Seek(
141 return callback.
MayForce(PP_ERROR_NOINTERFACE);
146 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
149 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
154 return callback.
MayForce(PP_ERROR_NOINTERFACE);
161 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
162 return get_interface<PPB_MediaPlayer_Samsung_1_1>()->
GetDuration(
164 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
165 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
GetDuration(
169 return callback.
MayForce(PP_ERROR_NOINTERFACE);
174 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
175 return get_interface<PPB_MediaPlayer_Samsung_1_1>()->
GetCurrentTime(
177 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
178 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
GetCurrentTime(
182 return callback.
MayForce(PP_ERROR_NOINTERFACE);
189 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
190 return get_interface<PPB_MediaPlayer_Samsung_1_1>()->
GetPlayerState(
192 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
193 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
GetPlayerState(
197 return callback.
MayForce(PP_ERROR_NOINTERFACE);
204 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
205 return get_interface<PPB_MediaPlayer_Samsung_1_1>()
208 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
209 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
215 return callback.
MayForce(PP_ERROR_NOINTERFACE);
221 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
224 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
229 return callback.
MayForce(PP_ERROR_NOINTERFACE);
234 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
235 return get_interface<PPB_MediaPlayer_Samsung_1_1>()
238 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
239 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
245 return callback.
MayForce(PP_ERROR_NOINTERFACE);
251 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
254 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
259 return callback.
MayForce(PP_ERROR_NOINTERFACE);
264 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
265 return get_interface<PPB_MediaPlayer_Samsung_1_1>()
268 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
269 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
275 return callback.
MayForce(PP_ERROR_NOINTERFACE);
281 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
284 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
289 return callback.
MayForce(PP_ERROR_NOINTERFACE);
293 PP_ElementaryStream_Type_Samsung track_type,
294 uint32_t track_index,
296 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
297 return get_interface<PPB_MediaPlayer_Samsung_1_1>()->
SelectTrack(
300 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
301 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
SelectTrack(
306 return callback.
MayForce(PP_ERROR_NOINTERFACE);
312 const std::string& file_path,
313 const std::string& encoding,
315 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
319 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
321 pp_resource(), file_path.c_str(), encoding.c_str(),
325 return callback.
MayForce(PP_ERROR_NOINTERFACE);
331 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
334 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
339 return callback.
MayForce(PP_ERROR_NOINTERFACE);
347 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
348 return get_interface<PPB_MediaPlayer_Samsung_1_1>()->
SetDisplayRect(
350 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
351 return get_interface<PPB_MediaPlayer_Samsung_1_0>()->
SetDisplayRect(
355 return callback.
MayForce(PP_ERROR_NOINTERFACE);
361 PP_MediaPlayerDRMType drm_type,
362 PP_MediaPlayerDRMOperation drm_operation,
363 uint32_t drm_data_size,
364 const void* drm_data,
366 if (has_interface<PPB_MediaPlayer_Samsung_1_1>()) {
368 pp_resource(), drm_type, drm_operation, drm_data_size, drm_data,
370 }
else if (has_interface<PPB_MediaPlayer_Samsung_1_0>()) {
372 pp_resource(), drm_type, drm_operation, drm_data_size, drm_data,
376 return callback.
MayForce(PP_ERROR_NOINTERFACE);
void PassRefFromConstructor(PP_Resource resource)
APIArgType output() const
int32_t MayForce(int32_t result) const
const PP_CompletionCallback & pp_completion_callback() const
PP_Resource pp_resource() const
PP_Instance pp_instance() const
A reference counted module resource.
Resource & operator=(const Resource &other)