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;
74 const PP_ESPacket& packet,
94 const PP_ESPacket& packet,
95 const PP_ESPacketEncryptionInfo& encryption_info,
127 uint32_t init_data_size,
128 const void* init_data,
149 const std::string& type,
150 uint32_t init_data_size,
151 const void* init_data,
181 virtual PP_ElementaryStream_Type_Samsung
GetStreamType()
const;
208 uint32_t extra_data_size,
209 const void* extra_data);
232 virtual PP_ElementaryStream_Type_Samsung
GetStreamType()
const;
254 void GetFrameRate(uint32_t* numerator, uint32_t* denominator)
const;
260 void SetFrameRate(uint32_t numerator, uint32_t denominator);
269 uint32_t extra_data_size,
270 const void* extra_data);
342 PP_TimeDelta duration,
372 PP_ElementaryStream_Type_Samsung stream_type,
382 template <
typename T>
384 static const PP_ElementaryStream_Type_Samsung
kType =
385 PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_UNKNOWN;
390 static const PP_ElementaryStream_Type_Samsung
kType =
391 PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_VIDEO;
396 static const PP_ElementaryStream_Type_Samsung
kType =
397 PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_AUDIO;
400 #if __cplusplus >= 201103L
401 #define PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT(expr, msg) \
402 static_assert(expr, msg)
404 #define PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT_CONCAT(a, b) a ## b
406 #define PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT_MAKE_NAME(prefix, line) \
407 PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT_CONCAT(prefix, line)
409 #define PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT_VAR \
410 PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT_MAKE_NAME(\
411 pp_media_player_static_assert_var_, __LINE__)
413 #define PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT(expr, msg) do { \
414 typedef int static_assert_check[(expr) ? 1 : -1]; \
415 static_assert_check PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT_VAR = { 1 }; \
425 Traits::kType != PP_ELEMENTARYSTREAM_TYPE_SAMSUNG_UNKNOWN,
427 return AddStream(Traits::kType, callback.
output(), listener, callback);
432 #endif // PPAPI_CPP_SAMSUNG_ES_DATA_SOURCE_SAMSUNG_H_
int32_t AppendPacket(const PP_ESPacket &packet, const CompletionCallback &callback)
PP_VideoCodec_Type_Samsung GetVideoCodecType() const
virtual ~ElementaryStream_Samsung()
static const PP_ElementaryStream_Type_Samsung kType
virtual PP_ElementaryStream_Type_Samsung GetStreamType() const =0
Retrieves stream type represented by this resource.
ElementaryStream_Samsung()
void SetBitsPerChannel(int32_t bits_per_channel)
APIArgType output() const
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)
#define PP_MEDIA_PLAYER_SAMSUNG_STATIC_ASSERT(expr, msg)
ESDataSource_Samsung & operator=(const ESDataSource_Samsung &other)
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_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)
virtual ~VideoElementaryStream_Samsung()
A reference counted module resource.
int32_t GetBitsPerChannel() const
PP_ChannelLayout_Samsung GetChannelLayout() const
PP_AudioCodec_Profile_Samsung GetAudioCodecProfile() const
VideoElementaryStream_Samsung & operator=(const VideoElementaryStream_Samsung &other)
virtual ~ESDataSource_Samsung()
virtual PP_ElementaryStream_Type_Samsung GetStreamType() const