From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- dom/media/platforms/wmf/MFMediaEngineAudioStream.h | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 dom/media/platforms/wmf/MFMediaEngineAudioStream.h (limited to 'dom/media/platforms/wmf/MFMediaEngineAudioStream.h') diff --git a/dom/media/platforms/wmf/MFMediaEngineAudioStream.h b/dom/media/platforms/wmf/MFMediaEngineAudioStream.h new file mode 100644 index 0000000000..14a72b9f63 --- /dev/null +++ b/dom/media/platforms/wmf/MFMediaEngineAudioStream.h @@ -0,0 +1,51 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef DOM_MEDIA_PLATFORM_WMF_MFMEDIAENGINEAUDIOSTREAM_H +#define DOM_MEDIA_PLATFORM_WMF_MFMEDIAENGINEAUDIOSTREAM_H + +#include "MFMediaEngineStream.h" + +namespace mozilla { + +class MFMediaSource; + +class MFMediaEngineAudioStream final : public MFMediaEngineStream { + public: + MFMediaEngineAudioStream() = default; + + static MFMediaEngineAudioStream* Create(uint64_t aStreamId, + const TrackInfo& aInfo, + MFMediaSource* aParentSource); + + nsCString GetDescriptionName() const override { + return "media engine audio stream"_ns; + } + + nsCString GetCodecName() const override; + + TrackInfo::TrackType TrackType() override { + return TrackInfo::TrackType::kAudioTrack; + } + + bool IsEncrypted() const override; + + private: + HRESULT CreateMediaType(const TrackInfo& aInfo, + IMFMediaType** aMediaType) override; + + bool HasEnoughRawData() const override; + + already_AddRefed OutputDataInternal() override; + + // For MF_MT_USER_DATA. Currently only used for AAC. + nsTArray mAACUserData; + + // Set when `CreateMediaType()` is called. + AudioInfo mAudioInfo; +}; + +} // namespace mozilla + +#endif // DOM_MEDIA_PLATFORM_WMF_MFMEDIAENGINEAUDIOSTREAM_H -- cgit v1.2.3