ae00d8f50e6418df5c7895707d2c9cb01506a85c
[platform/framework/web/crosswalk-tizen.git] /
1 // Copyright 2016 Samsung Electronics. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef PPAPI_SHARED_IMPL_MEDIA_PLAYER_SERIALIZED_ES_PACKET_H_
6 #define PPAPI_SHARED_IMPL_MEDIA_PLAYER_SERIALIZED_ES_PACKET_H_
7
8 #include <vector>
9 #include "ppapi/shared_impl/media_player/es_packet.h"
10
11 namespace ppapi {
12
13 struct SerializedESPacket {
14   double pts;
15   double dts;
16   double duration;
17   bool key_frame;
18   std::vector<uint8_t> data;
19
20   explicit SerializedESPacket(const PP_ESPacket* pkt);
21
22   SerializedESPacket();
23   SerializedESPacket(const SerializedESPacket& rhs);
24   SerializedESPacket(SerializedESPacket&& rhs);
25
26   SerializedESPacket& operator=(const SerializedESPacket& rhs);
27   SerializedESPacket& operator=(SerializedESPacket&& rhs);
28
29   ~SerializedESPacket();
30 };
31
32 struct SerializedEncryptedESPacket {
33   SerializedESPacket serialized_es_packet;
34   std::vector<uint8_t> key_id;
35   std::vector<uint8_t> iv;
36   std::vector<EncryptedESPacket::SubsampleDescription> subsamples;
37
38   explicit SerializedEncryptedESPacket(const PP_ESPacket* pkt,
39                                        const PP_ESPacketEncryptionInfo* info);
40
41   SerializedEncryptedESPacket();
42   SerializedEncryptedESPacket(const SerializedEncryptedESPacket& rhs);
43   SerializedEncryptedESPacket(SerializedEncryptedESPacket&& rhs);
44
45   SerializedEncryptedESPacket& operator=(
46       const SerializedEncryptedESPacket& rhs);
47   SerializedEncryptedESPacket& operator=(SerializedEncryptedESPacket&& rhs);
48
49   ~SerializedEncryptedESPacket();
50 };
51
52 }  // namespace ppapi
53
54 #endif  // PPAPI_SHARED_IMPL_MEDIA_PLAYER_SERIALIZED_ES_PACKET_H_