// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MEDIA_BASE_PIPELINE_METADATA_H_ #define MEDIA_BASE_PIPELINE_METADATA_H_ #include "base/time/time.h" #include "media/base/audio_decoder_config.h" #include "media/base/video_decoder_config.h" #include "media/base/video_rotation.h" #include "ui/gfx/geometry/size.h" namespace media { // Metadata describing a pipeline once it has been initialized. struct MEDIA_EXPORT PipelineMetadata { PipelineMetadata(); ~PipelineMetadata(); // Required by Chromium style: Complex class/struct needs an explicit // out-of-line copy constructor. PipelineMetadata(const PipelineMetadata&); // On Android, when using the MediaPlayerRenderer, |has_video| and |has_audio| // will be true, but the respective configs will be empty. // Do not make any assumptions on the validity of configs based off of the // presence of audio/video. bool has_audio; bool has_video; AudioDecoderConfig audio_decoder_config; VideoDecoderConfig video_decoder_config; gfx::Size natural_size; // Rotated according to |video_rotation|. VideoRotation video_rotation; base::Time timeline_offset; }; } // namespace media #endif // MEDIA_BASE_PIPELINE_METADATA_H_