Rialto 0.1
Rialto media pipeline API
Loading...
Searching...
No Matches
IMediaCapabilities.h
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 2026 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_CAPABILITIES_H_
21#define FIREBOLT_RIALTO_I_MEDIA_CAPABILITIES_H_
22
23#include "AudioDecoderCapabilities.h"
24#include "VideoDecoderCapabilities.h"
25#include <memory>
26#include <optional>
27
28namespace firebolt::rialto
29{
30class IMediaCapabilities;
31
36{
37public:
38 IMediaCapabilitiesFactory() = default;
39 virtual ~IMediaCapabilitiesFactory() = default;
40
46 static std::shared_ptr<IMediaCapabilitiesFactory> createFactory();
47
56 virtual std::unique_ptr<IMediaCapabilities> createMediaCapabilities() const = 0;
57};
58
65{
66public:
67 IMediaCapabilities() = default;
68 virtual ~IMediaCapabilities() = default;
69
70 IMediaCapabilities(const IMediaCapabilities &) = delete;
71 IMediaCapabilities &operator=(const IMediaCapabilities &) = delete;
73 IMediaCapabilities &operator=(IMediaCapabilities &&) = delete;
74
80 virtual firebolt::rialto::common::AudioDecoderCapabilities getSupportedAudioCapabilities() = 0;
81
87 virtual firebolt::rialto::common::VideoDecoderCapabilities getSupportedVideoCapabilities() = 0;
88};
89
90} // namespace firebolt::rialto
91
92#endif // FIREBOLT_RIALTO_I_MEDIA_CAPABILITIES_H_
IMediaCapabilities factory class, for getting the IMediaCapabilities object.
Definition IMediaCapabilities.h:36
static std::shared_ptr< IMediaCapabilitiesFactory > createFactory()
Gets the IMediaCapabilitiesFactory instance.
virtual std::unique_ptr< IMediaCapabilities > createMediaCapabilities() const =0
Creates the IMediaCapabilities object.
Single capabilities query interface replacing IMediaPipelineCapabilities capability methods....
Definition IMediaCapabilities.h:65
virtual firebolt::rialto::common::VideoDecoderCapabilities getSupportedVideoCapabilities()=0
Returns the video decoder capabilities supported by Rialto.
virtual firebolt::rialto::common::AudioDecoderCapabilities getSupportedAudioCapabilities()=0
Returns the audio decoder capabilities supported by Rialto.