11 #include "cores/AudioEngine/Interfaces/AESink.h" 12 #include "cores/AudioEngine/Utils/AEDeviceInfo.h" 13 #include "cores/AudioEngine/Utils/AEUtil.h" 14 #include "utils/Map.h" 18 #include <starfish-media-pipeline/StarfishMediaAPIs.h> 23 const char* GetName()
override {
return "Starfish"; }
27 static void Register();
28 static std::unique_ptr<IAESink> Create(std::string& device,
AEAudioFormat& desiredFormat);
29 static void EnumerateDevicesEx(AEDeviceInfoList& list,
bool force =
false);
31 bool Initialize(
AEAudioFormat& format, std::string& device)
override;
32 void Deinitialize()
override;
33 double GetCacheTotal()
override;
34 double GetLatency()
override;
35 unsigned int AddPackets(uint8_t** data,
unsigned int frames,
unsigned int offset)
override;
36 void AddPause(
unsigned int millis)
override;
38 void Drain()
override;
41 void PlayerCallback(
const int32_t type,
const int64_t numValue,
const char* strValue);
42 static void PlayerCallback(
const int32_t type,
43 const int64_t numValue,
47 std::unique_ptr<StarfishMediaAPIs> m_starfishMediaAPI;
49 std::chrono::nanoseconds m_pts{0};
50 int64_t m_bufferSize{0};
51 bool m_firstFeed{
true};
Definition: AESinkStarfish.h:20
void GetDelay(AEDelayStatus &status) override
Return a timestamped status structure with delay and sink info.
Definition: AESinkStarfish.cpp:231
unsigned int AddPackets(uint8_t **data, unsigned int frames, unsigned int offset) override
Adds packets to be sent out, this routine MUST block or sleep.
Definition: AESinkStarfish.cpp:187
void AddPause(unsigned int millis) override
instruct the sink to add a pause
Definition: AESinkStarfish.cpp:224