MythTV  master
Public Member Functions | Static Public Member Functions | Private Slots | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
MythRAOPConnection Class Reference

#include <mythraopconnection.h>

Inheritance diagram for MythRAOPConnection:
Inheritance graph
[legend]
Collaboration diagram for MythRAOPConnection:
Collaboration graph
[legend]

Public Member Functions

 MythRAOPConnection (QObject *parent, QTcpSocket *socket, QByteArray id, int port)
 
 ~MythRAOPConnection () override
 
bool Init (void)
 
QTcpSocket * GetSocket ()
 
int GetDataPort ()
 
bool HasAudio ()
 

Static Public Member Functions

static QMap< QString, QString > decodeDMAP (const QByteArray &dmap)
 decodeDMAP: More...
 
static RSA * LoadKey (void)
 LoadKey. More...
 
static QString RSALastError (void)
 

Private Slots

void readClient (void)
 readClient: signal handler for RAOP client connection Handle initialisation of session More...
 
void udpDataReady (QByteArray buf, const QHostAddress &peer, quint16 port)
 Socket incoming data signal handler use for audio, control and timing socket. More...
 
void timeout (void)
 
void audioRetry (void)
 
void newEventClient (QTcpSocket *client)
 
void deleteEventClient ()
 
void ProcessAudio (void)
 

Private Member Functions

void ProcessSync (const QByteArray &buf)
 
void SendResendRequest (uint64_t timestamp, uint16_t expected, uint16_t got)
 SendResendRequest: Request RAOP client to resend missed RTP packets. More...
 
void ExpireResendRequests (uint64_t timestamp)
 ExpireResendRequests: Expire resend requests that are older than timestamp. More...
 
uint32_t decodeAudioPacket (uint8_t type, const QByteArray *buf, QList< AudioData > *dest)
 
int ExpireAudio (uint64_t timestamp)
 
void ResetAudio (void)
 
void ProcessRequest (const QStringList &header, const QByteArray &content)
 
void FinishResponse (_NetStream *stream, QTcpSocket *socket, QString &option, QString &cseq, QString &responseData)
 
void FinishAuthenticationResponse (_NetStream *stream, QTcpSocket *socket, QString &cseq)
 
RawHash FindTags (const QStringList &lines)
 
bool CreateDecoder (void)
 
void DestroyDecoder (void)
 
bool OpenAudioDevice (void)
 
void CloseAudioDevice (void)
 
void StartAudioTimer (void)
 
void StopAudioTimer (void)
 
void CleanUp (void)
 
void SendTimeRequest (void)
 SendTimeRequest: Send a time request to the RAOP client. More...
 
void ProcessTimeResponse (const QByteArray &buf)
 ProcessTimeResponse: Calculate the network latency, we do not use the reference time send by itunes instead we measure the time lapsed between the request and the response the latency is calculated in ms. More...
 
uint64_t NTPToLocal (uint32_t sec, uint32_t ticks)
 
bool GetPacketType (const QByteArray &buf, uint8_t &type, uint16_t &seq, uint64_t &timestamp)
 
int64_t AudioCardLatency (void)
 AudioCardLatency: Description: Play silence and calculate audio latency between input / output. More...
 
QStringList splitLines (const QByteArray &lines)
 
QString stringFromSeconds (int timeInSeconds)
 stringFromSeconds: More...
 
uint64_t framesToMs (uint64_t frames)
 framesDuration Description: return the duration in ms of frames More...
 
void SendNotification (bool update=false)
 

Private Attributes

QTimer * m_watchdogTimer {nullptr}
 
QTcpSocket * m_socket {nullptr}
 
_NetStreamm_textStream {nullptr}
 
QByteArray m_hardwareId
 
QStringList m_incomingHeaders
 
QByteArray m_incomingContent
 
bool m_incomingPartial {false}
 
int32_t m_incomingSize {0}
 
QHostAddress m_peerAddress
 
ServerPoolm_dataSocket {nullptr}
 
int m_dataPort
 
ServerPoolm_clientControlSocket {nullptr}
 
int m_clientControlPort {0}
 
ServerPoolm_clientTimingSocket {nullptr}
 
int m_clientTimingPort {0}
 
ServerPoolm_eventServer {nullptr}
 
int m_eventPort {-1}
 
QList< QTcpSocket * > m_eventClients
 
QMap< uint16_t, uint64_t > m_resends
 
QByteArray m_AESIV
 
AES_KEY m_aesKey
 
AudioOutputm_audio {nullptr}
 
AVCodec * m_codec {nullptr}
 
AVCodecContext * m_codeccontext {nullptr}
 
QList< int > m_audioFormat
 
int m_channels {2}
 
int m_sampleSize {16}
 
int m_frameRate {44100}
 
int m_framesPerPacket {352}
 
QTimer * m_dequeueAudioTimer {nullptr}
 
QMap< uint64_t, AudioPacketm_audioQueue
 
uint32_t m_queueLength {0}
 
bool m_streamingStarted {false}
 
bool m_allowVolumeControl {true}
 
uint16_t m_seqNum {0}
 
uint16_t m_lastSequence {0}
 
uint64_t m_lastTimestamp {0}
 
uint64_t m_currentTimestamp {0}
 
uint16_t m_nextSequence {0}
 
uint64_t m_nextTimestamp {0}
 
int64_t m_bufferLength {0}
 
uint64_t m_timeLastSync {0}
 
int64_t m_cardLatency {-1}
 
int64_t m_adjustedLatency {-1}
 
bool m_audioStarted {false}
 
uint64_t m_masterTimeStamp {0}
 
uint64_t m_deviceTimeStamp {0}
 
uint64_t m_networkLatency {0}
 
int64_t m_clockSkew {0}
 
QTimer * m_audioTimer {nullptr}
 
uint32_t m_progressStart {0}
 
uint32_t m_progressCurrent {0}
 
uint32_t m_progressEnd {0}
 
QByteArray m_artwork
 
DMAP m_dmap
 
QString m_nonce
 
int m_id
 
bool m_firstsend {false}
 
bool m_playbackStarted {false}
 

Static Private Attributes

static RSA * g_rsa = nullptr
 
static QString g_rsaLastError
 

Friends

class MythRAOPDevice
 

Detailed Description

Definition at line 45 of file mythraopconnection.h.

Constructor & Destructor Documentation

◆ MythRAOPConnection()

MythRAOPConnection::MythRAOPConnection ( QObject *  parent,
QTcpSocket *  socket,
QByteArray  id,
int  port 
)

Definition at line 63 of file mythraopconnection.cpp.

◆ ~MythRAOPConnection()

MythRAOPConnection::~MythRAOPConnection ( )
override

Definition at line 74 of file mythraopconnection.cpp.

Member Function Documentation

◆ Init()

bool MythRAOPConnection::Init ( void  )

Definition at line 175 of file mythraopconnection.cpp.

Referenced by MythRAOPDevice::newConnection().

◆ GetSocket()

QTcpSocket* MythRAOPConnection::GetSocket ( void  )
inline

Definition at line 56 of file mythraopconnection.h.

Referenced by MythRAOPDevice::DeleteAllClients().

◆ GetDataPort()

int MythRAOPConnection::GetDataPort ( )
inline

Definition at line 57 of file mythraopconnection.h.

◆ HasAudio()

bool MythRAOPConnection::HasAudio ( )
inline

Definition at line 58 of file mythraopconnection.h.

◆ decodeDMAP()

QMap< QString, QString > MythRAOPConnection::decodeDMAP ( const QByteArray &  dmap)
static

decodeDMAP:

Usage: decodeDMAP(QByteArray &dmap) Description: decode the DMAP (Digital Media Access Protocol) object. The object returned is a map of the dmap tags and their associated content

Definition at line 1588 of file mythraopconnection.cpp.

Referenced by ProcessRequest().

◆ LoadKey()

RSA * MythRAOPConnection::LoadKey ( void  )
static

LoadKey.

Load RSA key into static variable for re-using it later The RSA key is resident in memory for the entire duration of the application as such RSA_free is never called on it.

Definition at line 1467 of file mythraopconnection.cpp.

Referenced by MythRAOPDevice::Create(), Init(), and ProcessRequest().

◆ RSALastError()

static QString MythRAOPConnection::RSALastError ( void  )
inlinestatic

Definition at line 61 of file mythraopconnection.h.

◆ readClient

void MythRAOPConnection::readClient ( void  )
privateslot

readClient: signal handler for RAOP client connection Handle initialisation of session

Definition at line 821 of file mythraopconnection.cpp.

Referenced by Init().

◆ udpDataReady

void MythRAOPConnection::udpDataReady ( QByteArray  buf,
const QHostAddress &  peer,
quint16  port 
)
privateslot

Socket incoming data signal handler use for audio, control and timing socket.

Definition at line 228 of file mythraopconnection.cpp.

Referenced by Init(), and ProcessRequest().

◆ timeout

void MythRAOPConnection::timeout ( void  )
privateslot

Definition at line 798 of file mythraopconnection.cpp.

Referenced by Init(), and StartAudioTimer().

◆ audioRetry

void MythRAOPConnection::audioRetry ( void  )
privateslot

Definition at line 804 of file mythraopconnection.cpp.

Referenced by StartAudioTimer().

◆ newEventClient

void MythRAOPConnection::newEventClient ( QTcpSocket *  client)
privateslot

Definition at line 1752 of file mythraopconnection.cpp.

Referenced by ProcessRequest().

◆ deleteEventClient

void MythRAOPConnection::deleteEventClient ( void  )
privateslot

Definition at line 1762 of file mythraopconnection.cpp.

Referenced by newEventClient().

◆ ProcessSync()

void MythRAOPConnection::ProcessSync ( const QByteArray &  buf)
private

Definition at line 339 of file mythraopconnection.cpp.

Referenced by udpDataReady().

◆ SendResendRequest()

void MythRAOPConnection::SendResendRequest ( uint64_t  timestamp,
uint16_t  expected,
uint16_t  got 
)
private

SendResendRequest: Request RAOP client to resend missed RTP packets.

Definition at line 428 of file mythraopconnection.cpp.

Referenced by udpDataReady().

◆ ExpireResendRequests()

void MythRAOPConnection::ExpireResendRequests ( uint64_t  timestamp)
private

ExpireResendRequests: Expire resend requests that are older than timestamp.

Those requests are expired when audio with older timestamp has already been played

Definition at line 469 of file mythraopconnection.cpp.

Referenced by ProcessSync(), and ResetAudio().

◆ decodeAudioPacket()

uint32_t MythRAOPConnection::decodeAudioPacket ( uint8_t  type,
const QByteArray *  buf,
QList< AudioData > *  dest 
)
private

Definition at line 598 of file mythraopconnection.cpp.

Referenced by udpDataReady().

◆ ExpireAudio()

int MythRAOPConnection::ExpireAudio ( uint64_t  timestamp)
private

Definition at line 761 of file mythraopconnection.cpp.

Referenced by ProcessAudio(), ProcessSync(), and ResetAudio().

◆ ResetAudio()

void MythRAOPConnection::ResetAudio ( void  )
private

Definition at line 787 of file mythraopconnection.cpp.

Referenced by CleanUp(), and ProcessRequest().

◆ ProcessRequest()

void MythRAOPConnection::ProcessRequest ( const QStringList &  header,
const QByteArray &  content 
)
private

Definition at line 887 of file mythraopconnection.cpp.

Referenced by readClient().

◆ FinishResponse()

void MythRAOPConnection::FinishResponse ( _NetStream stream,
QTcpSocket *  socket,
QString &  option,
QString &  cseq,
QString &  responseData 
)
private

Definition at line 1446 of file mythraopconnection.cpp.

Referenced by ProcessRequest().

◆ FinishAuthenticationResponse()

void MythRAOPConnection::FinishAuthenticationResponse ( _NetStream stream,
QTcpSocket *  socket,
QString &  cseq 
)
private

Definition at line 1428 of file mythraopconnection.cpp.

Referenced by ProcessRequest().

◆ FindTags()

RawHash MythRAOPConnection::FindTags ( const QStringList &  lines)
private

Definition at line 1503 of file mythraopconnection.cpp.

Referenced by ProcessRequest().

◆ CreateDecoder()

bool MythRAOPConnection::CreateDecoder ( void  )
private

Definition at line 1606 of file mythraopconnection.cpp.

Referenced by audioRetry(), and ProcessRequest().

◆ DestroyDecoder()

void MythRAOPConnection::DestroyDecoder ( void  )
private

Definition at line 1658 of file mythraopconnection.cpp.

Referenced by CleanUp(), and CreateDecoder().

◆ OpenAudioDevice()

bool MythRAOPConnection::OpenAudioDevice ( void  )
private

Definition at line 1667 of file mythraopconnection.cpp.

Referenced by audioRetry(), and ProcessRequest().

◆ CloseAudioDevice()

void MythRAOPConnection::CloseAudioDevice ( void  )
private

Definition at line 1703 of file mythraopconnection.cpp.

Referenced by CleanUp(), and OpenAudioDevice().

◆ StartAudioTimer()

void MythRAOPConnection::StartAudioTimer ( void  )
private

Definition at line 1709 of file mythraopconnection.cpp.

Referenced by OpenAudioDevice().

◆ StopAudioTimer()

void MythRAOPConnection::StopAudioTimer ( void  )
private

Definition at line 1719 of file mythraopconnection.cpp.

Referenced by audioRetry(), CleanUp(), and OpenAudioDevice().

◆ CleanUp()

void MythRAOPConnection::CleanUp ( void  )
private

Definition at line 114 of file mythraopconnection.cpp.

Referenced by ~MythRAOPConnection().

◆ SendTimeRequest()

void MythRAOPConnection::SendTimeRequest ( void  )
private

SendTimeRequest: Send a time request to the RAOP client.

Definition at line 491 of file mythraopconnection.cpp.

Referenced by ProcessRequest().

◆ ProcessTimeResponse()

void MythRAOPConnection::ProcessTimeResponse ( const QByteArray &  buf)
private

ProcessTimeResponse: Calculate the network latency, we do not use the reference time send by itunes instead we measure the time lapsed between the request and the response the latency is calculated in ms.

Definition at line 529 of file mythraopconnection.cpp.

Referenced by udpDataReady().

◆ NTPToLocal()

uint64_t MythRAOPConnection::NTPToLocal ( uint32_t  sec,
uint32_t  ticks 
)
private

Definition at line 558 of file mythraopconnection.cpp.

Referenced by ProcessTimeResponse().

◆ GetPacketType()

bool MythRAOPConnection::GetPacketType ( const QByteArray &  buf,
uint8_t &  type,
uint16_t seq,
uint64_t &  timestamp 
)
private

Definition at line 563 of file mythraopconnection.cpp.

Referenced by udpDataReady().

◆ AudioCardLatency()

int64_t MythRAOPConnection::AudioCardLatency ( void  )
private

AudioCardLatency: Description: Play silence and calculate audio latency between input / output.

Definition at line 1733 of file mythraopconnection.cpp.

Referenced by ProcessRequest().

◆ splitLines()

QStringList MythRAOPConnection::splitLines ( const QByteArray &  lines)
private

Definition at line 1521 of file mythraopconnection.cpp.

Referenced by ProcessRequest().

◆ stringFromSeconds()

QString MythRAOPConnection::stringFromSeconds ( int  timeInSeconds)
private

stringFromSeconds:

Usage: stringFromSeconds(timeInSeconds) Description: create a string in the format HH:mm:ss from a duration in seconds HH: will not be displayed if there's less than one hour

Definition at line 1547 of file mythraopconnection.cpp.

Referenced by ProcessRequest().

◆ framesToMs()

uint64_t MythRAOPConnection::framesToMs ( uint64_t  frames)
private

framesDuration Description: return the duration in ms of frames

Definition at line 1576 of file mythraopconnection.cpp.

Referenced by ProcessAudio(), ProcessRequest(), ProcessSync(), and udpDataReady().

◆ SendNotification()

void MythRAOPConnection::SendNotification ( bool  update = false)
private

Definition at line 1771 of file mythraopconnection.cpp.

Referenced by ProcessRequest(), and ProcessSync().

◆ ProcessAudio

void MythRAOPConnection::ProcessAudio ( void  )
privateslot

Definition at line 661 of file mythraopconnection.cpp.

Referenced by Init(), and udpDataReady().

Friends And Related Function Documentation

◆ MythRAOPDevice

friend class MythRAOPDevice
friend

Definition at line 49 of file mythraopconnection.h.

Member Data Documentation

◆ m_watchdogTimer

QTimer* MythRAOPConnection::m_watchdogTimer {nullptr}
private

Definition at line 114 of file mythraopconnection.h.

Referenced by CleanUp(), Init(), ProcessRequest(), and udpDataReady().

◆ m_socket

QTcpSocket* MythRAOPConnection::m_socket {nullptr}
private

Definition at line 116 of file mythraopconnection.h.

Referenced by Init(), ProcessRequest(), readClient(), timeout(), and ~MythRAOPConnection().

◆ m_textStream

_NetStream* MythRAOPConnection::m_textStream {nullptr}
private

Definition at line 117 of file mythraopconnection.h.

Referenced by Init(), ProcessRequest(), and ~MythRAOPConnection().

◆ m_hardwareId

QByteArray MythRAOPConnection::m_hardwareId
private

Definition at line 118 of file mythraopconnection.h.

Referenced by ProcessRequest().

◆ m_incomingHeaders

QStringList MythRAOPConnection::m_incomingHeaders
private

Definition at line 119 of file mythraopconnection.h.

Referenced by readClient().

◆ m_incomingContent

QByteArray MythRAOPConnection::m_incomingContent
private

Definition at line 120 of file mythraopconnection.h.

Referenced by readClient().

◆ m_incomingPartial

bool MythRAOPConnection::m_incomingPartial {false}
private

Definition at line 121 of file mythraopconnection.h.

Referenced by readClient().

◆ m_incomingSize

int32_t MythRAOPConnection::m_incomingSize {0}
private

Definition at line 122 of file mythraopconnection.h.

Referenced by readClient().

◆ m_peerAddress

QHostAddress MythRAOPConnection::m_peerAddress
private

Definition at line 123 of file mythraopconnection.h.

Referenced by ProcessRequest(), SendResendRequest(), and SendTimeRequest().

◆ m_dataSocket

ServerPool* MythRAOPConnection::m_dataSocket {nullptr}
private

Definition at line 124 of file mythraopconnection.h.

Referenced by CleanUp(), and Init().

◆ m_dataPort

int MythRAOPConnection::m_dataPort
private

Definition at line 125 of file mythraopconnection.h.

Referenced by Init(), and ProcessRequest().

◆ m_clientControlSocket

ServerPool* MythRAOPConnection::m_clientControlSocket {nullptr}
private

Definition at line 126 of file mythraopconnection.h.

Referenced by CleanUp(), ProcessRequest(), SendResendRequest(), and SendTimeRequest().

◆ m_clientControlPort

int MythRAOPConnection::m_clientControlPort {0}
private

Definition at line 127 of file mythraopconnection.h.

Referenced by ProcessRequest(), and SendResendRequest().

◆ m_clientTimingSocket

ServerPool* MythRAOPConnection::m_clientTimingSocket {nullptr}
private

Definition at line 128 of file mythraopconnection.h.

Referenced by CleanUp(), ProcessRequest(), and SendTimeRequest().

◆ m_clientTimingPort

int MythRAOPConnection::m_clientTimingPort {0}
private

Definition at line 129 of file mythraopconnection.h.

Referenced by ProcessRequest(), and SendTimeRequest().

◆ m_eventServer

ServerPool* MythRAOPConnection::m_eventServer {nullptr}
private

Definition at line 130 of file mythraopconnection.h.

Referenced by ProcessRequest(), and ~MythRAOPConnection().

◆ m_eventPort

int MythRAOPConnection::m_eventPort {-1}
private

Definition at line 131 of file mythraopconnection.h.

Referenced by ProcessRequest().

◆ m_eventClients

QList<QTcpSocket *> MythRAOPConnection::m_eventClients
private

Definition at line 132 of file mythraopconnection.h.

Referenced by newEventClient(), ProcessRequest(), and ~MythRAOPConnection().

◆ m_resends

QMap<uint16_t,uint64_t> MythRAOPConnection::m_resends
private

Definition at line 135 of file mythraopconnection.h.

Referenced by ExpireResendRequests(), SendResendRequest(), and udpDataReady().

◆ m_AESIV

QByteArray MythRAOPConnection::m_AESIV
private

Definition at line 137 of file mythraopconnection.h.

Referenced by decodeAudioPacket(), and ProcessRequest().

◆ m_aesKey

AES_KEY MythRAOPConnection::m_aesKey
private

Definition at line 138 of file mythraopconnection.h.

Referenced by decodeAudioPacket(), MythRAOPConnection(), and ProcessRequest().

◆ g_rsa

RSA * MythRAOPConnection::g_rsa = nullptr
staticprivate

Definition at line 139 of file mythraopconnection.h.

Referenced by LoadKey().

◆ g_rsaLastError

QString MythRAOPConnection::g_rsaLastError
staticprivate

Definition at line 140 of file mythraopconnection.h.

Referenced by LoadKey().

◆ m_audio

AudioOutput* MythRAOPConnection::m_audio {nullptr}
private

◆ m_codec

AVCodec* MythRAOPConnection::m_codec {nullptr}
private

Definition at line 143 of file mythraopconnection.h.

Referenced by audioRetry(), CreateDecoder(), DestroyDecoder(), and udpDataReady().

◆ m_codeccontext

AVCodecContext* MythRAOPConnection::m_codeccontext {nullptr}
private

◆ m_audioFormat

QList<int> MythRAOPConnection::m_audioFormat
private

Definition at line 145 of file mythraopconnection.h.

Referenced by CreateDecoder(), and ProcessRequest().

◆ m_channels

int MythRAOPConnection::m_channels {2}
private

◆ m_sampleSize

int MythRAOPConnection::m_sampleSize {16}
private

Definition at line 147 of file mythraopconnection.h.

Referenced by AudioCardLatency(), and ProcessRequest().

◆ m_frameRate

int MythRAOPConnection::m_frameRate {44100}
private

◆ m_framesPerPacket

int MythRAOPConnection::m_framesPerPacket {352}
private

Definition at line 149 of file mythraopconnection.h.

Referenced by ProcessAudio(), ProcessRequest(), and ProcessSync().

◆ m_dequeueAudioTimer

QTimer* MythRAOPConnection::m_dequeueAudioTimer {nullptr}
private

Definition at line 150 of file mythraopconnection.h.

Referenced by CleanUp(), Init(), and ProcessAudio().

◆ m_audioQueue

QMap<uint64_t, AudioPacket> MythRAOPConnection::m_audioQueue
private

Definition at line 152 of file mythraopconnection.h.

Referenced by ExpireAudio(), ProcessAudio(), ProcessSync(), and udpDataReady().

◆ m_queueLength

uint32_t MythRAOPConnection::m_queueLength {0}
private

Definition at line 153 of file mythraopconnection.h.

◆ m_streamingStarted

bool MythRAOPConnection::m_streamingStarted {false}
private

◆ m_allowVolumeControl

bool MythRAOPConnection::m_allowVolumeControl {true}
private

Definition at line 155 of file mythraopconnection.h.

Referenced by Init(), OpenAudioDevice(), and ProcessRequest().

◆ m_seqNum

uint16_t MythRAOPConnection::m_seqNum {0}
private

Definition at line 158 of file mythraopconnection.h.

Referenced by SendResendRequest().

◆ m_lastSequence

uint16_t MythRAOPConnection::m_lastSequence {0}
private

Definition at line 160 of file mythraopconnection.h.

Referenced by ProcessAudio().

◆ m_lastTimestamp

uint64_t MythRAOPConnection::m_lastTimestamp {0}
private

Definition at line 161 of file mythraopconnection.h.

Referenced by ProcessAudio(), and ProcessRequest().

◆ m_currentTimestamp

uint64_t MythRAOPConnection::m_currentTimestamp {0}
private

Definition at line 162 of file mythraopconnection.h.

Referenced by ProcessAudio(), ProcessRequest(), ProcessSync(), and udpDataReady().

◆ m_nextSequence

uint16_t MythRAOPConnection::m_nextSequence {0}
private

Definition at line 163 of file mythraopconnection.h.

Referenced by ProcessRequest(), and udpDataReady().

◆ m_nextTimestamp

uint64_t MythRAOPConnection::m_nextTimestamp {0}
private

Definition at line 164 of file mythraopconnection.h.

Referenced by ProcessRequest(), ProcessSync(), and udpDataReady().

◆ m_bufferLength

int64_t MythRAOPConnection::m_bufferLength {0}
private

Definition at line 165 of file mythraopconnection.h.

Referenced by ProcessAudio(), ProcessRequest(), and ProcessSync().

◆ m_timeLastSync

uint64_t MythRAOPConnection::m_timeLastSync {0}
private

Definition at line 166 of file mythraopconnection.h.

Referenced by ProcessAudio(), and ProcessSync().

◆ m_cardLatency

int64_t MythRAOPConnection::m_cardLatency {-1}
private

Definition at line 167 of file mythraopconnection.h.

Referenced by ProcessRequest(), and ProcessSync().

◆ m_adjustedLatency

int64_t MythRAOPConnection::m_adjustedLatency {-1}
private

Definition at line 168 of file mythraopconnection.h.

Referenced by ProcessAudio(), ProcessRequest(), and ProcessSync().

◆ m_audioStarted

bool MythRAOPConnection::m_audioStarted {false}
private

Definition at line 169 of file mythraopconnection.h.

Referenced by ProcessAudio(), ProcessRequest(), ProcessSync(), and ResetAudio().

◆ m_masterTimeStamp

uint64_t MythRAOPConnection::m_masterTimeStamp {0}
private

Definition at line 172 of file mythraopconnection.h.

◆ m_deviceTimeStamp

uint64_t MythRAOPConnection::m_deviceTimeStamp {0}
private

Definition at line 173 of file mythraopconnection.h.

◆ m_networkLatency

uint64_t MythRAOPConnection::m_networkLatency {0}
private

Definition at line 174 of file mythraopconnection.h.

Referenced by ProcessRequest(), ProcessSync(), and ProcessTimeResponse().

◆ m_clockSkew

int64_t MythRAOPConnection::m_clockSkew {0}
private

Definition at line 176 of file mythraopconnection.h.

Referenced by ProcessTimeResponse().

◆ m_audioTimer

QTimer* MythRAOPConnection::m_audioTimer {nullptr}
private

Definition at line 179 of file mythraopconnection.h.

Referenced by StartAudioTimer(), and StopAudioTimer().

◆ m_progressStart

uint32_t MythRAOPConnection::m_progressStart {0}
private

Definition at line 182 of file mythraopconnection.h.

Referenced by ProcessRequest(), ProcessSync(), and SendNotification().

◆ m_progressCurrent

uint32_t MythRAOPConnection::m_progressCurrent {0}
private

Definition at line 183 of file mythraopconnection.h.

Referenced by ProcessRequest(), ProcessSync(), and SendNotification().

◆ m_progressEnd

uint32_t MythRAOPConnection::m_progressEnd {0}
private

Definition at line 184 of file mythraopconnection.h.

Referenced by ProcessRequest(), and SendNotification().

◆ m_artwork

QByteArray MythRAOPConnection::m_artwork
private

Definition at line 185 of file mythraopconnection.h.

Referenced by ProcessRequest(), and SendNotification().

◆ m_dmap

DMAP MythRAOPConnection::m_dmap
private

Definition at line 186 of file mythraopconnection.h.

Referenced by ProcessRequest(), and SendNotification().

◆ m_nonce

QString MythRAOPConnection::m_nonce
private

Definition at line 189 of file mythraopconnection.h.

Referenced by FinishAuthenticationResponse(), and ProcessRequest().

◆ m_id

int MythRAOPConnection::m_id
private

Definition at line 192 of file mythraopconnection.h.

Referenced by MythRAOPConnection(), SendNotification(), and ~MythRAOPConnection().

◆ m_firstsend

bool MythRAOPConnection::m_firstsend {false}
private

Definition at line 193 of file mythraopconnection.h.

Referenced by SendNotification().

◆ m_playbackStarted

bool MythRAOPConnection::m_playbackStarted {false}
private

Definition at line 194 of file mythraopconnection.h.

Referenced by CleanUp(), and ProcessRequest().


The documentation for this class was generated from the following files: