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.
5 #ifndef MEDIA_BASE_ANDROID_DEMUXER_STREAM_PLAYER_PARAMS_H_
6 #define MEDIA_BASE_ANDROID_DEMUXER_STREAM_PLAYER_PARAMS_H_
10 #include "media/base/audio_decoder_config.h"
11 #include "media/base/decrypt_config.h"
12 #include "media/base/demuxer_stream.h"
13 #include "media/base/media_export.h"
14 #include "media/base/video_decoder_config.h"
15 #include "ui/gfx/size.h"
19 struct MEDIA_EXPORT DemuxerConfigs {
23 AudioCodec audio_codec;
25 int audio_sampling_rate;
26 bool is_audio_encrypted;
27 std::vector<uint8> audio_extra_data;
29 VideoCodec video_codec;
31 bool is_video_encrypted;
32 std::vector<uint8> video_extra_data;
34 base::TimeDelta duration;
37 struct MEDIA_EXPORT AccessUnit {
41 DemuxerStream::Status status;
43 // TODO(ycheo): Use the shared memory to transfer the block data.
44 std::vector<uint8> data;
45 base::TimeDelta timestamp;
46 std::vector<char> key_id;
48 std::vector<media::SubsampleEntry> subsamples;
51 struct MEDIA_EXPORT DemuxerData {
55 DemuxerStream::Type type;
56 std::vector<AccessUnit> access_units;
61 #endif // MEDIA_BASE_ANDROID_DEMUXER_STREAM_PLAYER_PARAMS_H_