Shaka Player Embedded
renderer.h
Go to the documentation of this file.
1 // Copyright 2019 Google LLC
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef SHAKA_EMBEDDED_MEDIA_RENDERER_H_
16 #define SHAKA_EMBEDDED_MEDIA_RENDERER_H_
17 
18 #include "../macros.h"
19 #include "streams.h"
20 #include "media_player.h"
21 
22 namespace shaka {
23 namespace media {
24 
38  public:
40 
47  virtual void SetPlayer(const MediaPlayer* player) = 0;
48 
56  virtual void Attach(const DecodedStream* stream) = 0;
57 
62  virtual void Detach() = 0;
63 };
64 
70  public:
72  virtual double Volume() const = 0;
73 
75  virtual void SetVolume(double volume) = 0;
76 
78  virtual bool Muted() const = 0;
79 
81  virtual void SetMuted(bool muted) = 0;
82 };
83 
89  public:
91  virtual VideoPlaybackQuality VideoPlaybackQuality() const = 0;
92 
94  virtual bool SetVideoFillMode(VideoFillMode mode) = 0;
95 };
96 
97 } // namespace media
98 } // namespace shaka
99 
100 #endif // SHAKA_EMBEDDED_MEDIA_RENDERER_H_
#define SHAKA_EXPORT
Definition: macros.h:30
VideoFillMode
Definition: utils.h:41
#define SHAKA_DECLARE_INTERFACE_METHODS(Type)
Definition: macros.h:55