mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-28 04:35:33 +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
49 lines
1.3 KiB
C++
49 lines
1.3 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 "FlacDecoder.h"
|
|
#include "MediaContainerType.h"
|
|
#include "mozilla/StaticPrefs.h"
|
|
|
|
namespace mozilla {
|
|
|
|
/* static */ bool
|
|
FlacDecoder::IsEnabled()
|
|
{
|
|
#ifdef MOZ_FFVPX
|
|
return StaticPrefs::MediaFlacEnabled();
|
|
#else
|
|
// Until bug 1295886 is fixed.
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
/* static */ bool
|
|
FlacDecoder::IsSupportedType(const MediaContainerType& aContainerType)
|
|
{
|
|
return IsEnabled() &&
|
|
(aContainerType.Type() == MEDIAMIMETYPE("audio/flac") ||
|
|
aContainerType.Type() == MEDIAMIMETYPE("audio/x-flac") ||
|
|
aContainerType.Type() == MEDIAMIMETYPE("application/x-flac"));
|
|
}
|
|
|
|
/* static */ nsTArray<UniquePtr<TrackInfo>>
|
|
FlacDecoder::GetTracksInfo(const MediaContainerType& aType)
|
|
{
|
|
nsTArray<UniquePtr<TrackInfo>> tracks;
|
|
if (!IsSupportedType(aType)) {
|
|
return tracks;
|
|
}
|
|
|
|
tracks.AppendElement(
|
|
CreateTrackInfoWithMIMETypeAndContainerTypeExtraParameters(
|
|
NS_LITERAL_CSTRING("audio/flac"), aType));
|
|
|
|
return tracks;
|
|
}
|
|
|
|
} // namespace mozilla
|