7 #include "ppapi/c/pp_errors.h"
18 const char* interface_name<PPB_ElementaryStream_Samsung_1_0>() {
19 return PPB_ELEMENTARYSTREAM_SAMSUNG_INTERFACE_1_0;
23 const char* interface_name<PPB_AudioElementaryStream_Samsung_1_0>() {
24 return PPB_AUDIOELEMENTARYSTREAM_SAMSUNG_INTERFACE_1_0;
28 const char* interface_name<PPB_VideoElementaryStream_Samsung_1_0>() {
29 return PPB_VIDEOELEMENTARYSTREAM_SAMSUNG_INTERFACE_1_0;
33 const char* interface_name<PPB_ESDataSource_Samsung_1_0>() {
34 return PPB_ESDATASOURCE_SAMSUNG_INTERFACE_1_0;
37 void ElementaryStreamListenerWrapper_OnNeedData(
int32_t max_bytes,
39 if (!user_data)
return;
41 ElementaryStreamListener_Samsung* listener =
42 static_cast<ElementaryStreamListener_Samsung*
>(user_data);
43 listener->OnNeedData(max_bytes);
46 void ElementaryStreamListenerWrapper_OnEnoughData(
void* user_data) {
47 if (!user_data)
return;
49 ElementaryStreamListener_Samsung* listener =
50 static_cast<ElementaryStreamListener_Samsung*
>(user_data);
51 listener->OnEnoughData();
54 void ElementaryStreamListenerWrapper_OnSeekData(PP_TimeTicks new_position,
56 if (!user_data)
return;
58 ElementaryStreamListener_Samsung* listener =
59 static_cast<ElementaryStreamListener_Samsung*
>(user_data);
60 listener->OnSeekData(new_position);
63 const PPP_ElementaryStreamListener_Samsung_1_0* GetListenerWrapper() {
64 static const PPP_ElementaryStreamListener_Samsung_1_0 listener = {
65 &ElementaryStreamListenerWrapper_OnNeedData,
66 &ElementaryStreamListenerWrapper_OnEnoughData,
67 &ElementaryStreamListenerWrapper_OnSeekData
93 if (has_interface<PPB_ElementaryStream_Samsung_1_0>()) {
94 return get_interface<PPB_ElementaryStream_Samsung_1_0>()->
98 return callback.
MayForce(PP_ERROR_NOINTERFACE);
102 const PP_ESPacket& packet,
105 if (has_interface<PPB_ElementaryStream_Samsung_1_0>()) {
106 return get_interface<PPB_ElementaryStream_Samsung_1_0>()->
AppendPacket(
110 return callback.
MayForce(PP_ERROR_NOINTERFACE);
114 const PP_ESPacket& packet,
115 const PP_ESPacketEncryptionInfo& encryption_info,
118 if (has_interface<PPB_ElementaryStream_Samsung_1_0>()) {
119 return get_interface<PPB_ElementaryStream_Samsung_1_0>()->
126 return callback.
MayForce(PP_ERROR_NOINTERFACE);
130 if (has_interface<PPB_ElementaryStream_Samsung_1_0>()) {
131 return get_interface<PPB_ElementaryStream_Samsung_1_0>()->
Flush(
135 return callback.
MayForce(PP_ERROR_NOINTERFACE);
139 uint32_t type_size,
const void* type,
140 uint32_t init_data_size,
const void* init_data,
143 if (has_interface<PPB_ElementaryStream_Samsung_1_0>()) {
144 std::string type_str(reinterpret_cast<const char*>(type), type_size);
145 return get_interface<PPB_ElementaryStream_Samsung_1_0>()->
SetDRMInitData(
146 pp_resource(), type_str.c_str(), init_data_size, init_data,
150 return callback.
MayForce(PP_ERROR_NOINTERFACE);
154 const std::string& type,
155 uint32_t init_data_size,
const void* init_data,
158 if (has_interface<PPB_ElementaryStream_Samsung_1_0>()) {
159 return get_interface<PPB_ElementaryStream_Samsung_1_0>()->
SetDRMInitData(
160 pp_resource(), type.c_str(), init_data_size, init_data,
164 return callback.
MayForce(PP_ERROR_NOINTERFACE);
214 PP_ElementaryStream_Type_Samsung
216 return PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_AUDIO;
219 PP_AudioCodec_Type_Samsung
221 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
222 return get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
226 return PP_AUDIOCODEC_TYPE_SAMSUNG_UNKNOWN;
230 PP_AudioCodec_Type_Samsung audio_codec) {
231 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
232 get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
237 PP_AudioCodec_Profile_Samsung
239 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
240 return get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
244 return PP_AUDIOCODEC_PROFILE_SAMSUNG_UNKNOWN;
248 PP_AudioCodec_Profile_Samsung profile) {
249 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
250 get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
256 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
257 return get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
261 return PP_SAMPLEFORMAT_SAMSUNG_UNKNOWN;
265 PP_SampleFormat_Samsung sample_format) {
266 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
267 get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
272 PP_ChannelLayout_Samsung
274 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
275 return get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
279 return PP_CHANNEL_LAYOUT_SAMSUNG_NONE;
283 PP_ChannelLayout_Samsung channel_layout) {
284 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
285 get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
291 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
292 return get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
301 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
302 get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
308 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
309 return get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
318 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
319 get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
325 uint32_t extra_data_size,
326 const void* extra_data) {
327 if (has_interface<PPB_AudioElementaryStream_Samsung_1_0>()) {
328 get_interface<PPB_AudioElementaryStream_Samsung_1_0>()->
363 PP_ElementaryStream_Type_Samsung
365 return PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_VIDEO;
368 PP_VideoCodec_Type_Samsung
370 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
371 return get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
375 return PP_VIDEOCODEC_TYPE_SAMSUNG_UNKNOWN;
379 PP_VideoCodec_Type_Samsung video_codec) {
380 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
381 get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
386 PP_VideoCodec_Profile_Samsung
388 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
389 return get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
393 return PP_VIDEOCODEC_PROFILE_SAMSUNG_UNKNOWN;
397 PP_VideoCodec_Profile_Samsung video_codec) {
398 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
399 get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
404 PP_VideoFrame_Format_Samsung
406 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
407 return get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
411 return PP_VIDEOFRAME_FORMAT_SAMSUNG_INVALID;
415 PP_VideoFrame_Format_Samsung frame_format) {
416 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
417 get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
423 PP_Size size = PP_MakeSize(-1, -1);
424 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
425 get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
433 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
434 get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
440 uint32_t* numerator, uint32_t* denominator)
const {
441 if (!numerator || !denominator) {
442 if (numerator) *numerator = 0;
443 if (denominator) *denominator = 0;
444 }
else if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
445 get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
454 uint32_t numerator, uint32_t denominator) {
455 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
456 get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
462 uint32_t extra_data_size,
const void* extra_data) {
463 if (has_interface<PPB_VideoElementaryStream_Samsung_1_0>()) {
464 get_interface<PPB_VideoElementaryStream_Samsung_1_0>()->
472 if (has_interface<PPB_ESDataSource_Samsung_1_0>()) {
474 get_interface<PPB_ESDataSource_Samsung_1_0>()->Create(
502 if (has_interface<PPB_ESDataSource_Samsung_1_0>()) {
503 return get_interface<PPB_ESDataSource_Samsung_1_0>()->
SetDuration(
507 return callback.
MayForce(PP_ERROR_NOINTERFACE);
513 if (has_interface<PPB_ESDataSource_Samsung_1_0>()) {
514 return get_interface<PPB_ESDataSource_Samsung_1_0>()->
SetEndOfStream(
518 return callback.
MayForce(PP_ERROR_NOINTERFACE);
522 PP_ElementaryStream_Type_Samsung stream_type,
527 if (has_interface<PPB_ESDataSource_Samsung_1_0>()) {
528 return get_interface<PPB_ESDataSource_Samsung_1_0>()->
AddStream(
529 pp_resource(), stream_type, GetListenerWrapper(), listener, stream,
533 return callback.
MayForce(PP_ERROR_NOINTERFACE);
void PassRefFromConstructor(PP_Resource resource)
int32_t AppendPacket(const PP_ESPacket &packet, const CompletionCallback &callback)
PP_VideoCodec_Type_Samsung GetVideoCodecType() const
virtual ~ElementaryStream_Samsung()
ElementaryStream_Samsung()
void SetBitsPerChannel(int32_t bits_per_channel)
VideoElementaryStream_Samsung()
int32_t GetSamplesPerSecond() const
virtual ~AudioElementaryStream_Samsung()
AudioElementaryStream_Samsung()
int32_t SetDRMInitData(uint32_t type_size, const void *type, uint32_t init_data_size, const void *init_data, const CompletionCallback &callback)
ESDataSource_Samsung & operator=(const ESDataSource_Samsung &other)
int32_t MayForce(int32_t result) const
const PP_CompletionCallback & pp_completion_callback() const
int32_t AppendEncryptedPacket(const PP_ESPacket &packet, const PP_ESPacketEncryptionInfo &encryption_info, const CompletionCallback &callback)
int32_t SetDuration(PP_TimeDelta duration, const CompletionCallback &callback)
void SetVideoCodecType(PP_VideoCodec_Type_Samsung video_codec)
Listener for receiving elementary stream related events.
void SetAudioCodecProfile(PP_AudioCodec_Profile_Samsung profile)
PP_VideoCodec_Profile_Samsung GetVideoCodecProfile() const
void SetChannelLayout(PP_ChannelLayout_Samsung channel_layout)
virtual PP_ElementaryStream_Type_Samsung GetStreamType() const
void SetSamplesPerSecond(int32_t samples_per_second)
void SetSampleFormat(PP_SampleFormat_Samsung sample_format)
void SetVideoFrameSize(const PP_Size &size)
Sets new video frame size in pixels.
void SetFrameRate(uint32_t numerator, uint32_t denominator)
ESDataSource_Samsung(const InstanceHandle &instance)
void SetVideoCodecProfile(PP_VideoCodec_Profile_Samsung video_codec)
PP_AudioCodec_Type_Samsung GetAudioCodecType() const
void SetCodecExtraData(uint32_t extra_data_size, const void *extra_data)
void GetFrameRate(uint32_t *numerator, uint32_t *denominator) const
PP_SampleFormat_Samsung GetSampleFormat() const
PP_Resource pp_resource() const
PP_Size GetVideoFrameSize() const
Retrieves current video frame size in pixels.
ElementaryStream_Samsung & operator=(const ElementaryStream_Samsung &other)
void SetVideoFrameFormat(PP_VideoFrame_Format_Samsung frame_format)
void SetAudioCodecType(PP_AudioCodec_Type_Samsung audio_codec)
int32_t SetEndOfStream(const CompletionCallback &callback)
PP_VideoFrame_Format_Samsung GetVideoFrameFormat() const
AudioElementaryStream_Samsung & operator=(const AudioElementaryStream_Samsung &other)
int32_t AddStream(const CompletionCallbackWithOutput< T > &callback, ElementaryStreamListener_Samsung *listener=NULL)
void SetCodecExtraData(uint32_t extra_data_size, const void *extra_data)
int32_t InitializeDone(const CompletionCallback &callback)
int32_t Flush(const CompletionCallback &callback)
PP_Instance pp_instance() const
virtual ~VideoElementaryStream_Samsung()
A reference counted module resource.
int32_t GetBitsPerChannel() const
PP_ChannelLayout_Samsung GetChannelLayout() const
Resource & operator=(const Resource &other)
PP_AudioCodec_Profile_Samsung GetAudioCodecProfile() const
VideoElementaryStream_Samsung & operator=(const VideoElementaryStream_Samsung &other)
virtual ~ESDataSource_Samsung()
virtual PP_ElementaryStream_Type_Samsung GetStreamType() const