From d94fe94d522ddcc029f78291c4a17490e93e9251 Mon Sep 17 00:00:00 2001 From: Sharad Binjola Date: Mon, 30 Jan 2023 16:09:13 -0800 Subject: [PATCH] tv-casting-app: Fixing persistence logic --- .../src/PersistenceManager.cpp | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/examples/tv-casting-app/tv-casting-common/src/PersistenceManager.cpp b/examples/tv-casting-app/tv-casting-common/src/PersistenceManager.cpp index 1e92e6eb4e2e13..dea0277064b30c 100644 --- a/examples/tv-casting-app/tv-casting-common/src/PersistenceManager.cpp +++ b/examples/tv-casting-app/tv-casting-common/src/PersistenceManager.cpp @@ -46,12 +46,17 @@ CHIP_ERROR PersistenceManager::AddVideoPlayer(TargetVideoPlayerInfo * targetVide // found the same video player, overwrite the data if (cachedVideoPlayers[i] == *targetVideoPlayerInfo) { + ChipLogProgress(AppServer, + "PersistenceManager::AddVideoPlayer found video player already cached. Overwriting at position: %lu", + static_cast(i)); cachedVideoPlayers[i] = *targetVideoPlayerInfo; newVideoPlayer = false; } } if (newVideoPlayer) { + ChipLogProgress(AppServer, "PersistenceManager::AddVideoPlayer writing new video player at position: %lu", + static_cast(i)); VerifyOrReturnError(i < kMaxCachedVideoPlayers, CHIP_ERROR_BUFFER_TOO_SMALL); cachedVideoPlayers[i] = *targetVideoPlayerInfo; } @@ -78,7 +83,8 @@ CHIP_ERROR PersistenceManager::WriteAllVideoPlayers(TargetVideoPlayerInfo videoP ReturnErrorOnFailure( tlvWriter.StartContainer(TLV::ContextTag(kVideoPlayersContainerTag), TLV::kTLVType_Structure, videoPlayersContainerType)); - for (size_t videoPlayerIndex = 0; videoPlayerIndex < kMaxCachedVideoPlayers && videoPlayers[videoPlayerIndex].IsInitialized(); + size_t videoPlayerIndex; + for (videoPlayerIndex = 0; videoPlayerIndex < kMaxCachedVideoPlayers && videoPlayers[videoPlayerIndex].IsInitialized(); videoPlayerIndex++) { TargetVideoPlayerInfo * videoPlayer = &videoPlayers[videoPlayerIndex]; @@ -146,19 +152,19 @@ CHIP_ERROR PersistenceManager::WriteAllVideoPlayers(TargetVideoPlayerInfo videoP // Content app endpoints container ends ReturnErrorOnFailure(tlvWriter.EndContainer(contentAppEndpointsContainerType)); } - // Video Players container ends - ReturnErrorOnFailure(tlvWriter.EndContainer(videoPlayersContainerType)); - ReturnErrorOnFailure(tlvWriter.EndContainer(outerContainerType)); - - ReturnErrorOnFailure(tlvWriter.Finalize()); - ChipLogProgress(AppServer, - "PersistenceManager::WriteAllVideoPlayers TLV(CastingData).LengthWritten: %d bytes and version: %d", - tlvWriter.GetLengthWritten(), kCurrentCastingDataVersion); - return chip::DeviceLayer::PersistedStorage::KeyValueStoreMgr().Put(kCastingDataKey, castingData, - tlvWriter.GetLengthWritten()); } } - return CHIP_NO_ERROR; + + // Video Players container ends + ReturnErrorOnFailure(tlvWriter.EndContainer(videoPlayersContainerType)); + ReturnErrorOnFailure(tlvWriter.EndContainer(outerContainerType)); + + ReturnErrorOnFailure(tlvWriter.Finalize()); + ChipLogProgress(AppServer, + "PersistenceManager::WriteAllVideoPlayers TLV(CastingData).LengthWritten: %d bytes, video player count: %lu " + "and version: %d", + tlvWriter.GetLengthWritten(), static_cast(videoPlayerIndex), kCurrentCastingDataVersion); + return chip::DeviceLayer::PersistedStorage::KeyValueStoreMgr().Put(kCastingDataKey, castingData, tlvWriter.GetLengthWritten()); } CHIP_ERROR PersistenceManager::ReadAllVideoPlayers(TargetVideoPlayerInfo outVideoPlayers[]) @@ -379,6 +385,9 @@ CHIP_ERROR PersistenceManager::ReadAllVideoPlayers(TargetVideoPlayerInfo outVide VerifyOrReturnError(err == CHIP_END_OF_TLV, err); ReturnErrorOnFailure(reader.ExitContainer(videoPlayersContainerType)); ReturnErrorOnFailure(reader.ExitContainer(outerContainerType)); + + ChipLogProgress(AppServer, "PersistenceManager::ReadAllVideoPlayers Video player read count: %lu", + static_cast(videoPlayerIndex)); return CHIP_NO_ERROR; }