1
1
#pragma once
2
- #include " AudioToolsConfig.h"
3
2
#include " AudioTools/CoreAudio/AudioHttp/AbstractURLStream.h"
4
3
#include " AudioTools/CoreAudio/AudioMetaData/MetaDataICY.h"
4
+ #include " AudioToolsConfig.h"
5
5
6
6
namespace audio_tools {
7
7
@@ -22,27 +22,29 @@ namespace audio_tools {
22
22
* @copyright GPLv3
23
23
*/
24
24
25
- template <class T >
26
- class ICYStreamT : public AbstractURLStream {
25
+ template <class T >
26
+ class ICYStreamT : public AbstractURLStream {
27
27
public:
28
- ICYStreamT (int readBufferSize = DEFAULT_BUFFER_SIZE) {
28
+ ICYStreamT (int readBufferSize = DEFAULT_BUFFER_SIZE) {
29
29
TRACEI ();
30
30
setReadBufferSize (readBufferSize);
31
31
}
32
32
33
33
// / Default constructor
34
34
ICYStreamT (const char * ssid, const char * password,
35
- int readBufferSize = DEFAULT_BUFFER_SIZE) : ICYStreamT(readBufferSize) {
35
+ int readBufferSize = DEFAULT_BUFFER_SIZE)
36
+ : ICYStreamT(readBufferSize) {
36
37
TRACEI ();
37
38
setSSID (ssid);
38
39
setPassword (password);
39
40
}
40
41
41
- ICYStreamT (Client& clientPar, int readBufferSize = DEFAULT_BUFFER_SIZE) : ICYStreamT(readBufferSize) {
42
+ ICYStreamT (Client& clientPar, int readBufferSize = DEFAULT_BUFFER_SIZE)
43
+ : ICYStreamT(readBufferSize) {
42
44
TRACEI ();
43
45
setClient (clientPar);
44
46
}
45
-
47
+
46
48
// / Defines the meta data callback function
47
49
virtual bool setMetadataCallback (void (*fn)(MetaDataType info,
48
50
const char * str,
@@ -141,12 +143,10 @@ namespace audio_tools {
141
143
142
144
// / if set to true, it activates the power save mode which comes at the cost
143
145
// / of performance! - By default this is deactivated. ESP32 Only!
144
- void setPowerSave (bool active) { url.setPowerSave (active);}
146
+ void setPowerSave (bool active) { url.setPowerSave (active); }
145
147
146
148
// / Define the Root PEM Certificate for SSL:
147
- void setCACert (const char * cert){
148
- url.setCACert (cert);
149
- }
149
+ void setCACert (const char * cert) { url.setCACert (cert); }
150
150
// / Adds/Updates a request header
151
151
void addRequestHeader (const char * key, const char * value) override {
152
152
url.addRequestHeader (key, value);
@@ -162,11 +162,16 @@ namespace audio_tools {
162
162
// / (Re-)defines the client
163
163
void setClient (Client& client) override { url.setClient (client); }
164
164
165
+ void setConnectionClose (bool flag) override { url.setConnectionClose (flag); }
166
+ const char * urlStr () override { return url.urlStr (); }
167
+ size_t totalRead () override { return url.totalRead (); };
168
+ int contentLength () override { return url.contentLength (); };
169
+ bool waitForData (int timeout) override { return url.waitForData (timeout); }
170
+
165
171
protected:
166
172
T url;
167
173
MetaDataICY icy; // icy state machine
168
174
void (*callback)(MetaDataType info, const char * str, int len) = nullptr ;
169
175
};
170
176
171
- }
172
-
177
+ } // namespace audio_tools
0 commit comments