| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright (c) 2013 The Chromium Authors. 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 MEDIA_BASE_ANDROID_DEMUXER_STREAM_PLAYER_PARAMS_H_ |  | 
| 6 #define MEDIA_BASE_ANDROID_DEMUXER_STREAM_PLAYER_PARAMS_H_ |  | 
| 7 |  | 
| 8 #include <stdint.h> |  | 
| 9 |  | 
| 10 #include <vector> |  | 
| 11 |  | 
| 12 #include "media/base/audio_decoder_config.h" |  | 
| 13 #include "media/base/decrypt_config.h" |  | 
| 14 #include "media/base/demuxer_stream.h" |  | 
| 15 #include "media/base/media_export.h" |  | 
| 16 #include "media/base/video_decoder_config.h" |  | 
| 17 #include "ui/gfx/geometry/size.h" |  | 
| 18 |  | 
| 19 namespace media { |  | 
| 20 |  | 
| 21 struct MEDIA_EXPORT DemuxerConfigs { |  | 
| 22   DemuxerConfigs(); |  | 
| 23   DemuxerConfigs(const DemuxerConfigs& other); |  | 
| 24   ~DemuxerConfigs(); |  | 
| 25 |  | 
| 26   AudioCodec audio_codec; |  | 
| 27   int audio_channels; |  | 
| 28   int audio_sampling_rate; |  | 
| 29   bool is_audio_encrypted; |  | 
| 30   std::vector<uint8_t> audio_extra_data; |  | 
| 31   int64_t audio_codec_delay_ns; |  | 
| 32   int64_t audio_seek_preroll_ns; |  | 
| 33 |  | 
| 34   VideoCodec video_codec; |  | 
| 35   gfx::Size video_size; |  | 
| 36   bool is_video_encrypted; |  | 
| 37   std::vector<uint8_t> video_extra_data; |  | 
| 38 |  | 
| 39   base::TimeDelta duration; |  | 
| 40 }; |  | 
| 41 |  | 
| 42 struct MEDIA_EXPORT AccessUnit { |  | 
| 43   AccessUnit(); |  | 
| 44   AccessUnit(const AccessUnit& other); |  | 
| 45   ~AccessUnit(); |  | 
| 46 |  | 
| 47   DemuxerStream::Status status; |  | 
| 48   bool is_end_of_stream; |  | 
| 49   // TODO(ycheo): Use the shared memory to transfer the block data. |  | 
| 50   std::vector<uint8_t> data; |  | 
| 51   base::TimeDelta timestamp; |  | 
| 52   std::vector<char> key_id; |  | 
| 53   std::vector<char> iv; |  | 
| 54   std::vector<media::SubsampleEntry> subsamples; |  | 
| 55   bool is_key_frame; |  | 
| 56 }; |  | 
| 57 |  | 
| 58 struct MEDIA_EXPORT DemuxerData { |  | 
| 59   DemuxerData(); |  | 
| 60   DemuxerData(const DemuxerData& other); |  | 
| 61   ~DemuxerData(); |  | 
| 62 |  | 
| 63   DemuxerStream::Type type; |  | 
| 64   std::vector<AccessUnit> access_units; |  | 
| 65   // If the last entry in |access_units| has a status equal to |kConfigChanged|, |  | 
| 66   // a corresponding DemuxerConfigs is added into this vector. The |  | 
| 67   // DemuxerConfigs should only contain information of the stream that is |  | 
| 68   // specified by |type|. This solves the issue that we need multiple IPCs when |  | 
| 69   // demuxer configs change. |  | 
| 70   std::vector<DemuxerConfigs> demuxer_configs; |  | 
| 71 }; |  | 
| 72 |  | 
| 73 };  // namespace media |  | 
| 74 |  | 
| 75 // For logging |  | 
| 76 MEDIA_EXPORT |  | 
| 77 std::ostream& operator<<(std::ostream& os, media::DemuxerStream::Type type); |  | 
| 78 |  | 
| 79 MEDIA_EXPORT |  | 
| 80 std::ostream& operator<<(std::ostream& os, const media::AccessUnit& au); |  | 
| 81 |  | 
| 82 MEDIA_EXPORT |  | 
| 83 std::ostream& operator<<(std::ostream& os, const media::DemuxerConfigs& conf); |  | 
| 84 |  | 
| 85 #endif  // MEDIA_BASE_ANDROID_DEMUXER_STREAM_PLAYER_PARAMS_H_ |  | 
| OLD | NEW | 
|---|