// Copyright 2024 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MEDIA_MUXERS_MP4_MUXER_DELEGATE_FRAGMENT_H_ #define MEDIA_MUXERS_MP4_MUXER_DELEGATE_FRAGMENT_H_ #include <memory> #include <optional> #include <string> #include <vector> #include "base/time/time.h" #include "media/formats/mp4/writable_box_definitions.h" namespace media { class Mp4MuxerContext; template <typename T> uint32_t BuildFlags(const std::vector<T>& build_flags) { … } // It uses the default track index for audio and video regardless of the // actual track index. Correction of the track index will be done in the // `Finalize` function that the caller MUST call before writing // the fragment. inline constexpr int kDefaultAudioIndex = …; inline constexpr int kDefaultVideoIndex = …; // This class is responsible for creating and managing the fragment that holds // audio and video data. It is also responsible for creating the moof and mdat // boxes that will be written to the file. class Mp4MuxerDelegateFragment { … }; } // namespace media #endif // MEDIA_MUXERS_MP4_MUXER_DELEGATE_FRAGMENT_H_