mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-18 04:44:17 +00:00
d346b32eb9
Summary: Allows to build an array ot TrackInfo built from the mimetype provided. This will allow to create dummy decoder to check that if they are supported and how well the decoder will perform. Depends on D1623 Tags: #secure-revision Bug #: 1409664 Differential Revision: https://phabricator.services.mozilla.com/D1624
50 lines
1.5 KiB
C++
50 lines
1.5 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* 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/. */
|
|
|
|
#include "ADTSDecoder.h"
|
|
#include "MediaContainerType.h"
|
|
#include "PDMFactory.h"
|
|
|
|
namespace mozilla {
|
|
|
|
/* static */ bool
|
|
ADTSDecoder::IsEnabled()
|
|
{
|
|
RefPtr<PDMFactory> platform = new PDMFactory();
|
|
return platform->SupportsMimeType(NS_LITERAL_CSTRING("audio/mp4a-latm"),
|
|
/* DecoderDoctorDiagnostics* */ nullptr);
|
|
}
|
|
|
|
/* static */ bool
|
|
ADTSDecoder::IsSupportedType(const MediaContainerType& aContainerType)
|
|
{
|
|
if (aContainerType.Type() == MEDIAMIMETYPE("audio/aac") ||
|
|
aContainerType.Type() == MEDIAMIMETYPE("audio/aacp") ||
|
|
aContainerType.Type() == MEDIAMIMETYPE("audio/x-aac")) {
|
|
return IsEnabled() && (aContainerType.ExtendedType().Codecs().IsEmpty() ||
|
|
aContainerType.ExtendedType().Codecs() == "aac");
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/* static */ nsTArray<UniquePtr<TrackInfo>>
|
|
ADTSDecoder::GetTracksInfo(const MediaContainerType& aType)
|
|
{
|
|
nsTArray<UniquePtr<TrackInfo>> tracks;
|
|
if (!IsSupportedType(aType)) {
|
|
return tracks;
|
|
}
|
|
|
|
tracks.AppendElement(
|
|
CreateTrackInfoWithMIMETypeAndContainerTypeExtraParameters(
|
|
NS_LITERAL_CSTRING("audio/mp4a-latm"), aType));
|
|
|
|
return tracks;
|
|
}
|
|
|
|
} // namespace mozilla
|