5 #ifndef PPAPI_CPP_SAMSUNG_ES_DATA_SOURCE_SAMSUNG_H_
6 #define PPAPI_CPP_SAMSUNG_ES_DATA_SOURCE_SAMSUNG_H_
10 #include "ppapi/c/samsung/ppb_media_data_source_samsung.h"
22 class ElementaryStreamListener_Samsung;
43 virtual PP_ElementaryStream_Type_Samsung
GetStreamType()
const = 0;
97 const PP_ESPacket& packet,
118 const PP_ESPacket& packet,
119 const PP_ESPacketEncryptionInfo& encryption_info,
152 const PP_TrustZoneReference& handle,
184 uint32_t init_data_size,
185 const void* init_data,
206 const std::string& type,
207 uint32_t init_data_size,
208 const void* init_data,
238 virtual PP_ElementaryStream_Type_Samsung
GetStreamType()
const;
299 uint32_t extra_data_size,
300 const void* extra_data);
323 virtual PP_ElementaryStream_Type_Samsung
GetStreamType()
const;
365 void GetFrameRate(uint32_t* numerator, uint32_t* denominator)
const;
371 void SetFrameRate(uint32_t numerator, uint32_t denominator);
380 uint32_t extra_data_size,
381 const void* extra_data);
453 PP_TimeDelta duration,
483 PP_ElementaryStream_Type_Samsung stream_type,
493 template <
typename T>
495 static const PP_ElementaryStream_Type_Samsung kType =
496 PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_UNKNOWN;
501 static const PP_ElementaryStream_Type_Samsung kType =
502 PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_VIDEO;
507 static const PP_ElementaryStream_Type_Samsung kType =
508 PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_AUDIO;
511 #if __cplusplus >= 201103L
512 #define PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT(expr, msg) \
513 static_assert(expr, msg)
516 #define UNUSED_TYPEDEF __attribute__((__unused__))
518 #define UNUSED_TYPEDEF
520 #define PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT(expr, msg) \
522 typedef int static_assert_check[(expr) ? 1 : -1] UNUSED_TYPEDEF; \
531 PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT(
532 Traits::kType != PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_UNKNOWN,
534 return AddStream(Traits::kType, callback.output(), listener, callback);
539 #endif // PPAPI_CPP_SAMSUNG_ES_DATA_SOURCE_SAMSUNG_H_
Definition: es_data_source_samsung.h:494
int32_t AppendPacket(const PP_ESPacket &packet, const CompletionCallback &callback)
PP_VideoCodec_Type_Samsung GetVideoCodecType() const
Retrieves a currently set video codec type.
Definition: es_data_source_samsung.h:411
Definition: completion_callback.h:189
virtual PP_ElementaryStream_Type_Samsung GetStreamType() const =0
Retrieves stream type represented by this resource.
void SetBitsPerChannel(int32_t bits_per_channel)
int32_t AppendTrustZonePacket(const PP_ESPacket &packet, const PP_TrustZoneReference &handle, const CompletionCallback &callback)
int32_t GetSamplesPerSecond() const
Retrieves a currently set sample rate.
int32_t SetDRMInitData(uint32_t type_size, const void *type, uint32_t init_data_size, const void *init_data, const CompletionCallback &callback)
int32_t AppendEncryptedPacket(const PP_ESPacket &packet, const PP_ESPacketEncryptionInfo &encryption_info, const CompletionCallback &callback)
int32_t SetDuration(PP_TimeDelta duration, const CompletionCallback &callback)
virtual PP_ElementaryStream_Type_Samsung GetStreamType() const
void SetVideoCodecType(PP_VideoCodec_Type_Samsung video_codec)
Listener for receiving elementary stream related events.
Definition: elementary_stream_listener_samsung.h:16
Definition: completion_callback.h:26
void SetAudioCodecProfile(PP_AudioCodec_Profile_Samsung profile)
Retrieves a currently set audio sample format.
PP_VideoCodec_Profile_Samsung GetVideoCodecProfile() const
Retrieves a currently set video codec type.
Definition: es_data_source_samsung.h:35
void SetChannelLayout(PP_ChannelLayout_Samsung channel_layout)
Sets a new audio channel layout.
void SetSamplesPerSecond(int32_t samples_per_second)
Sets how many audio samples were recorded per second (sample rate).
void SetSampleFormat(PP_SampleFormat_Samsung sample_format)
Retrieves a currently set audio channel layout.
Definition: instance_handle.h:44
void SetVideoFrameSize(const PP_Size &size)
Sets new video frame size in pixels.
PassRef
Definition: pass_ref.h:17
void SetFrameRate(uint32_t numerator, uint32_t denominator)
void SetVideoCodecProfile(PP_VideoCodec_Profile_Samsung video_codec)
PP_AudioCodec_Type_Samsung GetAudioCodecType() const
Retrieves a currently set audio codec type.
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_Size GetVideoFrameSize() const
Retrieves current video frame size in pixels.
void SetVideoFrameFormat(PP_VideoFrame_Format_Samsung frame_format)
Definition: es_data_source_samsung.h:310
void SetAudioCodecType(PP_AudioCodec_Type_Samsung audio_codec)
int32_t SetEndOfStream(const CompletionCallback &callback)
PP_VideoFrame_Format_Samsung GetVideoFrameFormat() const
Retrieves a currently set video codec profile.
int32_t AddStream(const CompletionCallbackWithOutput< T > &callback, ElementaryStreamListener_Samsung *listener=NULL)
Definition: es_data_source_samsung.h:527
void SetCodecExtraData(uint32_t extra_data_size, const void *extra_data)
int32_t InitializeDone(const CompletionCallback &callback)
int32_t Flush(const CompletionCallback &callback)
virtual PP_ElementaryStream_Type_Samsung GetStreamType() const
A reference counted module resource.
Definition: resource.h:20
int32_t GetBitsPerChannel() const
PP_ChannelLayout_Samsung GetChannelLayout() const
Retrieves a currently set audio channel layout.
PP_AudioCodec_Profile_Samsung GetAudioCodecProfile() const
Definition: es_data_source_samsung.h:225