Rialto 0.1
Rialto media pipeline API
Loading...
Searching...
No Matches
IMediaPipelineCapabilities.h
Go to the documentation of this file.
1/*
2 * If not stated otherwise in this file or this component's LICENSE file the
3 * following copyright and licenses apply:
4 *
5 * Copyright 2022 Sky UK
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 */
19
20#ifndef FIREBOLT_RIALTO_I_MEDIA_PIPELINE_CAPABILITIES_H_
21#define FIREBOLT_RIALTO_I_MEDIA_PIPELINE_CAPABILITIES_H_
22
29#include "MediaCommon.h"
30#include <memory>
31#include <string>
32#include <vector>
33
34namespace firebolt::rialto
35{
36class IMediaPipelineCapabilities;
37
42{
43public:
45 virtual ~IMediaPipelineCapabilitiesFactory() = default;
46
52 static std::shared_ptr<IMediaPipelineCapabilitiesFactory> createFactory();
53
59 virtual std::unique_ptr<IMediaPipelineCapabilities> createMediaPipelineCapabilities() const = 0;
60};
61
69{
70public:
72 virtual ~IMediaPipelineCapabilities() = default;
73
75 IMediaPipelineCapabilities &operator=(const IMediaPipelineCapabilities &) = delete;
78
86 virtual std::vector<std::string> getSupportedMimeTypes(MediaSourceType sourceType) = 0;
87
98 virtual bool isMimeTypeSupported(const std::string &mimeType) = 0;
99
108 virtual std::vector<std::string> getSupportedProperties(MediaSourceType mediaType,
109 const std::vector<std::string> &propertyNames) = 0;
110};
111
112}; // namespace firebolt::rialto
113
114#endif // FIREBOLT_RIALTO_I_MEDIA_PIPELINE_CAPABILITIES_H_
MediaSourceType
The supported types of media source.
Definition MediaCommon.h:73
IMediaPipelineCapabilities factory class, for getting the IMediaPipelineCapabilities object.
Definition IMediaPipelineCapabilities.h:42
static std::shared_ptr< IMediaPipelineCapabilitiesFactory > createFactory()
Gets the IMediaPipelineCapabilitiesFactory instance.
virtual std::unique_ptr< IMediaPipelineCapabilities > createMediaPipelineCapabilities() const =0
Creates the IMediaPipelineCapabilities object.
The definition of the IMediaPipelineCapabilities interface.
Definition IMediaPipelineCapabilities.h:69
virtual bool isMimeTypeSupported(const std::string &mimeType)=0
Indicates if the specified mime type is supported.
virtual std::vector< std::string > getSupportedMimeTypes(MediaSourceType sourceType)=0
Returns the MSE mime types supported by Rialto for sourceType.
virtual std::vector< std::string > getSupportedProperties(MediaSourceType mediaType, const std::vector< std::string > &propertyNames)=0
Check sinks and decoders for supported properties.