kodi
RetroPlayerStreamTypes.h
1 /*
2  * Copyright (C) 2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include <array>
12 #include <memory>
13 
14 namespace KODI
15 {
16 namespace RETRO
17 {
18 class IRetroPlayerStream;
19 
21 {
22  void operator()(IRetroPlayerStream* stream);
23 };
24 
25 using StreamPtr = std::unique_ptr<IRetroPlayerStream, DeleteStream>;
26 
27 enum class StreamType
28 {
29  AUDIO,
30  VIDEO,
31  SW_BUFFER,
32  HW_BUFFER,
33 };
34 
35 enum class PCMFormat
36 {
37  FMT_UNKNOWN,
38  FMT_S16NE,
39 };
40 
41 enum class AudioChannel
42 {
43  CH_NULL, // Channel list terminator
44  CH_FL,
45  CH_FR,
46  CH_FC,
47  CH_LFE,
48  CH_BL,
49  CH_BR,
50  CH_FLOC,
51  CH_FROC,
52  CH_BC,
53  CH_SL,
54  CH_SR,
55  CH_TFL,
56  CH_TFR,
57  CH_TFC,
58  CH_TC,
59  CH_TBL,
60  CH_TBR,
61  CH_TBC,
62  CH_BLOC,
63  CH_BROC,
64  CH_COUNT
65 };
66 
67 using AudioChannelMap = std::array<AudioChannel, static_cast<unsigned int>(AudioChannel::CH_COUNT)>;
68 
69 enum class PixelFormat
70 {
71  FMT_UNKNOWN,
72  FMT_0RGB8888,
73  FMT_RGB565,
74  FMT_0RGB1555,
75 };
76 
77 enum class VideoRotation
78 {
79  ROTATION_0,
80  ROTATION_90_CCW,
81  ROTATION_180_CCW,
82  ROTATION_270_CCW,
83 };
84 
85 } // namespace RETRO
86 } // namespace KODI
Definition: RetroPlayerStreamTypes.h:20
Definition: Application.h:72
Definition: AudioDecoder.h:18
Definition: IRetroPlayerStream.h:30