46 lines
1.4 KiB
C++
46 lines
1.4 KiB
C++
/**
|
|
* @file communication-rtsp666-i2s.ino
|
|
* @author Phil Schatzmann
|
|
* @brief Demo for RTSP Client that is playing mp3: tested with the live555 server with linux
|
|
* @version 0.1
|
|
* @date 2022-05-02
|
|
*
|
|
* @copyright Copyright (c) 2022
|
|
*
|
|
*/
|
|
|
|
#include "AudioTools.h" // https://github.com/pschatzmann/arduino-audio-tools
|
|
#include "AudioTools/AudioCodecs/CodecMP3Helix.h" // https://github.com/pschatzmann/arduino-libhelix
|
|
#include "RTSPSimpleClient.hh" // https://github.com/pschatzmann/arduino-live555.git
|
|
|
|
I2SStream i2s;
|
|
EncodedAudioStream out_mp3(&i2s, new MP3DecoderHelix()); // Decoding stream
|
|
RTSPSimpleClient rtsp;
|
|
|
|
void setup() {
|
|
Serial.begin(115200);
|
|
AudioToolsLogger.begin(Serial, AudioToolsLogLevel::Info);
|
|
|
|
// setup output: make sure we can buffer 1 decoded frame
|
|
auto cfg_i2s = i2s.defaultConfig(TX_MODE);
|
|
cfg_i2s.buffer_size = 1024;
|
|
cfg_i2s.buffer_count = 10;
|
|
i2s.begin(cfg_i2s);
|
|
|
|
out_mp3.begin();
|
|
|
|
// setup rtsp data source
|
|
auto cfg = rtsp.defaultConfig();
|
|
cfg.ssid = "ssid";
|
|
cfg.password = "password";
|
|
cfg.url = "rtsp://192.168.1.38:8554/test.mp3";
|
|
cfg.output = &out_mp3;
|
|
cfg.buffer_size = 1024*2; // space for 1 encoded frame
|
|
//cfg.is_tcp = false; // use udp when false (default false)
|
|
//cfg.is_blocking = false; // call singleStep in loop if false (default false)
|
|
rtsp.begin(cfg);
|
|
}
|
|
|
|
void loop() {
|
|
rtsp.singleStep();
|
|
} |