VPLAY-12634 [Rogers] [VIPA] CEA-708 CC track selection failure on Multiview#1010
VPLAY-12634 [Rogers] [VIPA] CEA-708 CC track selection failure on Multiview#1010pstroffolino merged 9 commits intodev_sprint_25_2from
Conversation
…ails on Multiview stream
Signed-off-by: anjali-syna <206662904+anjali-syna@users.noreply.github.com>
Signed-off-by: anjali-syna <206662904+anjali-syna@users.noreply.github.com>
… feature/VPLAY-12634
Signed-off-by: anjali-syna <206662904+anjali-syna@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This pull request fixes a CEA-708 closed caption track selection issue on multiview streams by ensuring that the track format (608/708) is properly cached and used when adding format-specific prefixes to numeric track identifiers in the Rialto closed caption manager.
Changes:
- Added caching of
CCFormatinPlayerCCManagerBaseto preserve format information across operations - Modified
PlayerRialtoCCManager::SetTrackto add appropriate prefixes ("CC" for 608, "SERVICE" for 708) to numeric-only track identifiers - Updated
RestoreCCandResetStatemethods to properly handle the cached track format
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| middleware/closedcaptions/rialto/PlayerRialtoCCManager.cpp | Added logic to detect numeric track IDs and prepend format-specific prefixes based on cached format; includes <cctype> for std::isdigit() |
| middleware/closedcaptions/PlayerCCManager.h | Added mTrackFormat member variable to cache the CC format alongside the track string |
| middleware/closedcaptions/PlayerCCManager.cpp | Updated SetTrack, RestoreCC, and ResetState to cache and use mTrackFormat for maintaining format consistency |
| // We expect 'track' to have an alphabetic prefix. If it does not, | ||
| // add one based on 'format'. | ||
| std::string textTrackIdentifier; | ||
| if (std::isdigit(track[0])) | ||
| { | ||
| if (eCLOSEDCAPTION_FORMAT_608 == format) | ||
| { | ||
| textTrackIdentifier = "CC"; | ||
| } | ||
| else if (eCLOSEDCAPTION_FORMAT_708 == format) | ||
| { | ||
| textTrackIdentifier = "SERVICE"; | ||
| } | ||
| } | ||
| textTrackIdentifier += track; |
There was a problem hiding this comment.
The logic only adds a prefix when track[0] is a digit, but it concatenates track to textTrackIdentifier unconditionally. When the track already has an alphabetic prefix (e.g., "CC1" or "SERVICE1"), textTrackIdentifier will be empty from the if-block, and the concatenation on line 136 will just use the original track string. However, if the track is something like "1" and format is neither 608 nor 708 (e.g., DEFAULT), textTrackIdentifier will remain empty and will be set to just "1", which may not be the intended behavior. Consider adding an else branch to handle the case where format is DEFAULT and track starts with a digit.
There was a problem hiding this comment.
This is intentional. If the track string does not have an alphabetic prefix AND we aren't told how to treat it in order to add the correct alphabetic prefix, the original string is always passed through - the code receiving it may still know what to do with it.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| trackId = "CC1"; | ||
| trackFormat = eCLOSEDCAPTION_FORMAT_DEFAULT; | ||
| } | ||
|
|
||
| SetTrack(trackId); | ||
| SetTrack(trackId, trackFormat); |
There was a problem hiding this comment.
RestoreCC() now preserves and forwards the previously selected CCFormat via trackFormat when re-selecting the track. This changes behavior for numeric instream IDs (e.g., "1") that rely on the format to be interpreted correctly, but there doesn’t appear to be a unit test asserting that the restored track selection passes the same format that was originally set. Add a focused unit test covering restore behavior with a numeric track id + 608/708 format to prevent regressions.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…1010) VPLAY-12634 [VIPA] CEA-708 Closed Captions track selection fails on Multiview stream Reason for Change: This pull request fixes a CEA-708 closed caption track selection issue on multiview streams by ensuring that the track format (608/708) is properly cached and used when adding format-specific prefixes to numeric track identifiers in the Rialto closed caption manager. Test Guidance: refer ticket Risk: low --------- Signed-off-by: anjali-syna <206662904+anjali-syna@users.noreply.github.com> Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: hthakkar-synamedia <115170760+hthakkar-synamedia@users.noreply.github.com>
…1010) (#1061) VPLAY-12634 [VIPA] CEA-708 Closed Captions track selection fails on Multiview stream Reason for Change: This pull request fixes a CEA-708 closed caption track selection issue on multiview streams by ensuring that the track format (608/708) is properly cached and used when adding format-specific prefixes to numeric track identifiers in the Rialto closed caption manager. Test Guidance: refer ticket Risk: low --------- Signed-off-by: anjali-syna <206662904+anjali-syna@users.noreply.github.com> Co-authored-by: anjali-syna <206662904+anjali-syna@users.noreply.github.com> Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: hthakkar-synamedia <115170760+hthakkar-synamedia@users.noreply.github.com>
…1010) VPLAY-12634 [VIPA] CEA-708 Closed Captions track selection fails on Multiview stream Reason for Change: This pull request fixes a CEA-708 closed caption track selection issue on multiview streams by ensuring that the track format (608/708) is properly cached and used when adding format-specific prefixes to numeric track identifiers in the Rialto closed caption manager. Test Guidance: refer ticket Risk: low --------- Signed-off-by: anjali-syna <206662904+anjali-syna@users.noreply.github.com> Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: hthakkar-synamedia <115170760+hthakkar-synamedia@users.noreply.github.com>
Adding changes to solve the problem of CEA-708 Closed Caption track selection failing on Multiview stream.