RDK Documentation (Open Sourced RDK Components)
hdmiin_shim.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 2021 RDK Management
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 /**
21  * @file hdmiin_shim.h
22  * @brief shim for dispatching UVE HDMI input playback
23  */
24 
25 #ifndef HDMIIN_SHIM_H_
26 #define HDMIIN_SHIM_H_
27 
28 #include "videoin_shim.h"
29 #include <string>
30 #include <stdint.h>
31 #ifdef USE_CPP_THUNDER_PLUGIN_ACCESS
32 #include <core/core.h>
33 #include "ThunderAccess.h"
34 #endif
35 using namespace std;
36 
37 /**
38  * @class StreamAbstractionAAMP_HDMIIN
39  * @brief Fragment collector for MPEG DASH
40  */
42 {
43 public:
44  /**
45  * @fn StreamAbstractionAAMP_HDMIIN
46  * @param aamp pointer to PrivateInstanceAAMP object associated with player
47  * @param seekpos Seek position
48  * @param rate playback rate
49  */
50  StreamAbstractionAAMP_HDMIIN(AampLogManager *logObj, class PrivateInstanceAAMP *aamp,double seekpos, float rate);
51  /**
52  * @fn ~StreamAbstractionAAMP_HDMIIN
53  */
55  /**
56  * @brief Copy constructor disabled
57  *
58  */
60  /**
61  * @brief assignment operator disabled
62  *
63  */
65  /**
66  * @fn Init
67  * @param tuneType to set type of object.
68  * @retval eAAMPSTATUS_OK
69  */
70  AAMPStatusType Init(TuneType tuneType) override;
71  /**
72  * @fn Start
73  */
74  void Start() override;
75  /**
76  * @fn Stop
77  */
78  void Stop(bool clearChannelData) override;
79  /**
80  * @fn GetAvailableVideoTracks
81  */
82  std::vector<StreamInfo*> GetAvailableVideoTracks(void) override;
83  /**
84  * @fn GetAvailableThumbnailTracks
85  */
86  std::vector<StreamInfo*> GetAvailableThumbnailTracks(void) override;
87  /**
88  * @fn SetThumbnailTrack
89  */
90  bool SetThumbnailTrack(int) override;
91  /**
92  * @fn GetThumbnailRangeData
93  */
94  std::vector<ThumbnailData> GetThumbnailRangeData(double,double, std::string*, int*, int*, int*, int*) override;
95 private:
96 #ifdef USE_CPP_THUNDER_PLUGIN_ACCESS
97  /*Event Handler*/
98  /**
99  * @fn OnVideoStreamInfoUpdate
100  */
101  void OnVideoStreamInfoUpdate(const JsonObject& parameters);
102 #endif
103 };
104 
105 #endif // HDMIIN_SHIM_H_
106 /**
107  * @}
108  */
109 
ThunderAccess.h
shim for dispatching UVE HDMI input playback
videoin_shim.h
shim for dispatching UVE Video input playback
TuneType
TuneType
Tune Typea.
Definition: priv_aamp.h:190
AampLogManager
AampLogManager Class.
Definition: AampLogManager.h:150
PrivateInstanceAAMP
Class representing the AAMP player's private instance, which is not exposed to outside world.
Definition: priv_aamp.h:640
AAMPStatusType
AAMPStatusType
AAMP Function return values.
Definition: priv_aamp.h:205
StreamAbstractionAAMP_HDMIIN
Fragment collector for MPEG DASH.
Definition: hdmiin_shim.h:41
StreamAbstractionAAMP_VIDEOIN
Fragment collector for MPEG DASH.
Definition: videoin_shim.h:42