mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 842948 - Patch 3: Cache AVRCP data in BluetoothA2dpManager, r=echou
This commit is contained in:
parent
e9527b054f
commit
de14e1f9fe
@ -86,6 +86,11 @@ void
|
||||
BluetoothA2dpManager::ResetAvrcp()
|
||||
{
|
||||
mAvrcpConnected = false;
|
||||
mDuration = 0;
|
||||
mMediaNumber = 0;
|
||||
mTotalMediaCount = 0;
|
||||
mPosition = 0;
|
||||
mPlayStatus = ControlPlayStatus::PLAYSTATUS_UNKNOWN;
|
||||
}
|
||||
|
||||
static BluetoothA2dpManager::SinkState
|
||||
@ -329,5 +334,31 @@ BluetoothA2dpManager::IsAvrcpConnected()
|
||||
return mAvrcpConnected;
|
||||
}
|
||||
|
||||
void
|
||||
BluetoothA2dpManager::UpdateMetaData(const nsAString& aTitle,
|
||||
const nsAString& aArtist,
|
||||
const nsAString& aAlbum,
|
||||
uint32_t aMediaNumber,
|
||||
uint32_t aTotalMediaCount,
|
||||
uint32_t aDuration)
|
||||
{
|
||||
mTitle.Assign(aTitle);
|
||||
mArtist.Assign(aArtist);
|
||||
mAlbum.Assign(aAlbum);
|
||||
mMediaNumber = aMediaNumber;
|
||||
mTotalMediaCount = aTotalMediaCount;
|
||||
mDuration = aDuration;
|
||||
}
|
||||
|
||||
void
|
||||
BluetoothA2dpManager::UpdatePlayStatus(uint32_t aDuration,
|
||||
uint32_t aPosition,
|
||||
ControlPlayStatus aPlayStatus)
|
||||
{
|
||||
mDuration = aDuration;
|
||||
mPosition = aPosition;
|
||||
mPlayStatus = aPlayStatus;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS1(BluetoothA2dpManager, nsIObserver)
|
||||
|
||||
|
@ -49,6 +49,15 @@ public:
|
||||
// AVRCP member functions
|
||||
void SetAvrcpConnected(bool aConnected);
|
||||
bool IsAvrcpConnected();
|
||||
void UpdateMetaData(const nsAString& aTitle,
|
||||
const nsAString& aArtist,
|
||||
const nsAString& aAlbum,
|
||||
uint32_t aMediaNumber,
|
||||
uint32_t aTotalMediaCount,
|
||||
uint32_t aDuration);
|
||||
void UpdatePlayStatus(uint32_t aDuration,
|
||||
uint32_t aPosition,
|
||||
ControlPlayStatus aPlayStatus);
|
||||
|
||||
private:
|
||||
BluetoothA2dpManager();
|
||||
@ -69,6 +78,14 @@ private:
|
||||
|
||||
// AVRCP data member
|
||||
bool mAvrcpConnected;
|
||||
nsString mAlbum;
|
||||
nsString mArtist;
|
||||
nsString mTitle;
|
||||
uint32_t mDuration;
|
||||
uint32_t mMediaNumber;
|
||||
uint32_t mTotalMediaCount;
|
||||
uint32_t mPosition;
|
||||
ControlPlayStatus mPlayStatus;
|
||||
};
|
||||
|
||||
END_BLUETOOTH_NAMESPACE
|
||||
|
@ -2921,6 +2921,9 @@ BluetoothDBusService::SendMetaData(const nsAString& aTitle,
|
||||
NS_ENSURE_TRUE_VOID(ret);
|
||||
|
||||
runnable.forget();
|
||||
|
||||
a2dp->UpdateMetaData(aTitle, aArtist, aAlbum,
|
||||
aMediaNumber, aTotalMediaCount, aDuration);
|
||||
}
|
||||
|
||||
static ControlPlayStatus
|
||||
@ -3001,5 +3004,7 @@ BluetoothDBusService::SendPlayStatus(uint32_t aDuration,
|
||||
NS_ENSURE_TRUE_VOID(ret);
|
||||
|
||||
runnable.forget();
|
||||
|
||||
a2dp->UpdatePlayStatus(aDuration, aPosition, playStatus);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user