Skip to content

RDK-60641 AAMP Federated Release for Sprint 2601#952

Open
psiva01 wants to merge 115 commits intodevelopfrom
feature/RDK-60641_federated_2601
Open

RDK-60641 AAMP Federated Release for Sprint 2601#952
psiva01 wants to merge 115 commits intodevelopfrom
feature/RDK-60641_federated_2601

Conversation

@psiva01
Copy link
Contributor

@psiva01 psiva01 commented Feb 2, 2026

No description provided.

nu641001 and others added 30 commits November 27, 2025 21:16
…egression from LLDASH optimizations (#702)

VPLAY-11848: Cloud TSB No subtitles after rewinding (L3 Test 2014), regression from LLDASH optimizations

Reason for change: Correcting the position in FetchFragment and before UpdateTSAfterFetch
Risks: Low
Test Procedure: Test with 2014 test case
Priority: P1
VPLAY-11879 LLD playback could pause after fast forward to live

Reason for Change: Fix frozen AV after FF linear LLD service to live

Summary of Changes:
* Continue injecting segments if playback paused due to underflow
* HandleSSLWriteCallback L1 test with pipeline paused by the user
* HandleSSLWriteCallback L1 test with pipeline paused due to underflow

Test Procedure: With AAMP TSB FF to live and confirm playback continues

Risk: Low

Change-Id: I77e6e55dcbe3b1f53e602c0f0d301f87d15022d7
Signed-off-by: Jose Fagundez <jfagunde@synamedia.com>
VPLAY-8901 Add option to enable sanitizer on Ubuntu (#709) 

Reason for Change: adds new -u command-line option to enable address sanitizer on Ubuntu builds, addressing the need for an easy way to enable this debugging tool for memory error detection.

---------

Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
…led (#691)

VPLAY-11707 Subtitles displayed for channels when subtitles are disabled

Reason for change:
Subtiles not initially muted when SetCCStatus called prior to load

Risks: Low

Test Procedure:
Test subtitles/closed captions are muted correctly, e.g. on tune

Priority: P1

Signed-off-by: anshephe <115161257+anshephe@users.noreply.github.com>
VPLAY-10162 - Use threadID instead of flag in call isjoinable

Reason for change: Currently in aamp code, boolean flags are used
 at many instance where threads are created and deleted. Use isjoinable()
 check instead of flags and eliminate the redundant boolean flags.

Changes:
* isjoinable() check is used instead of boolean flags to decide whether a
  thread is already created.

Test Procedure: Refer JIRA ticket

Risks: low

---------

Signed-off-by: anjali-syna <206662904+anjali-syna@users.noreply.github.com>
VPLAY-11618 Handle empty language in HLS manifest

Reason for Change: 
Change the manifest parsing to not populate the language for the CC track if it is not present in the manifest.
Change the subtitle track selection to support a list of of languages provided via the config, or setPreferredTextLanguage() i.e ["eng",""] allowing the matching of the empty string for non specified language.

Risk: Low

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
VPLAY-11949 godspell cleanup - Nov 2025

Reason for Change: replace prioritizes with priority

Risk: None (change in comment)

Test Guidance: no godspell warnings

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
VPLAY-11590  Github - add instructions.md file for copilot

Reason for change: add context/rules to guide Github Copilot
Risks: Low
Priority: P1

Signed-off-by: ryadav698 <emailofrajatyadav@gmail.com>
Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
…692)

VPLAY-11809  :  Enhance UveAAMP stop() API with DRM handle cleanup parameter to prevent Deep Sleep playback failures

Reason for change:
Linear and VOD playback fails after devices come out of Deep Sleep state due to stale DRM handles that are not properly released before entering Deep Sleep mode. The current stop() implementation does not provide a mechanism to force DRM handle cleanup, leading to tune failures with stale DRM sessions after device wake-up.

Changes done:
- Enhanced PlayerInstanceAAMP::Stop() API with optional forceCleanup parameter (default false)
- Added DRM session cleanup logic using licenseManager->clearDrmSession(forceClearSession) and clearFailedKeyIds()
- Updated JavaScript bindings to support both single parameter stop(forceCleanup) and two parameter stop(sendStateChangeEvent, forceCleanup) forms
- Modified jsmediaplayer.cpp to handle argument parsing for backward compatibility
- Updated UVE API documentation with usage examples for Deep Sleep scenarios
- Enhanced mock files and test infrastructure to maintain compatibility
- Added comprehensive logging for debugging Deep Sleep DRM cleanup operations

This allows applications to call player.stop(true) before Deep Sleep to proactively clean up DRM resources and prevent playback failures after wake-up.

Test Procedure:

Priority: P2

Risks:Low

---------

Co-authored-by: shripad bankar <Shripad_Bankar@cable.comcast.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: molakalapalliharipriya <113626508+molakalapalliharipriya@users.noreply.github.com>
VPLAY-11809 godspell

Reason for Change: fix spelling of "destructor"
Test Guidance: no godspell warnings
Risk: None

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
VPLAY-11583 Rename StreamAbstractionAAMP_MPD::rate to mPlayRate

Reason for Change: Distinguish this variable rate from other variables

Test Procedure: AAMP and L1 should build successfully

Risk: Low

* Use AAMP_RATE_PAUSE instead of 0 for mPlayRate

* Use AAMP_NORMAL_PLAY_RATE instead of 1 for mPlayRate

* Remove the condition of rate==1 from UpdatePtsOffset()

* Address AI review comments

* Verify the changes in L1 unit test

* VPLAY-11595 Replace mPlayRate with aamp->rate in StreamAbstractionAAMP_MPD::Init()

Reason for Change: Change necessary prior to fixing VPLAY-11583

Summary of Changes:
* Replace mPlayRate with aamp->rate in StreamAbstractionAAMP_MPD::Init()
* Modify L1 tests to match PrivAamp and StreamAbstraction rates

Test Procedure: Verify L1 tests pass

Risk: Low
…AMP to crash

VPLAY-11880:The manifest download keeps failing, eventually causing the AAMP to crash. (#718)

* Split AampCurlDownloader::Release() to fix thread-safe resource cleanup

Separated the Release() function into two parts to ensure thread-safe
cleanup of curl headers:

1. Release() - Disables the downloader by setting mDownloadActive flag,
   allowing download threads to exit gracefully
2. ReleaseHeaders() - Cleans up curl headers and resets timing variables
   after threads have been joined

This prevents race conditions where headers could be freed while download
threads are still active and potentially accessing them.

* Updated function name to better describe its purpose of initializing CURL
header resources

* Added L1 test case

---------

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
Co-authored-by: vkadun208_comcast <vinod_kadungoth2@comcast.com>
VPLAY-11948 : middleware leak found by address sanitizer

Reason for Change:
* Avoid leak of m_gstConfigParam in middleware layer

---------

Co-authored-by: rkandh015 <rekha_kandhavelan@comcast.com>
…ypt Error. (#699)

VPLAY-11304: [CPIX] Stay on HD profile if UHD profile fails with Decrypt Error. (#699)

Reason for change: Save Usable KeyIds from key_update_callback. Filter the missed
keyID for a multi key slot and mark it failed. Then remove the entry from ABR
Risks: Low
Test Procedure: Test with Multi key UHD stream
Priority: P1
…st framework collection of high watermark for concurrent threads

VPLAY-11918 aampcli logging of process id to support l2 ability of test framework collection of high watermark for concurrent threads

Reason for Change: adds process ID (PID) output to the AAMP command-line interface to support L2 test framework monitoring of concurrent threads created by AAMP. The change is minimal and low-risk, outputting the PID when aamp-cli starts so the L2 framework can capture this information

---------

Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
…630)

VPLAY-11554 WPEWebProcess crash due to lockup in GetManifestEndDelta

Reason for change: Avoid deadlock in GetManifestEndDelta() on stop
Test Procedure: see ticket
Risks: Low

Signed-off-by: James Lofthouse <james_lofthouse@comcast.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…fication (#714)

RDKEMW-10960 : RaspberryPi MW build failure is blocking CI build verification

Reason for change: Moved the SVP related codes under the proper define
Test Procedure: Need to ensure the playback behavior
Priority: P1

Signed-off-by: Varatharajan_Narayanan <Varatharajan_Narayanan@comcast.com>

* Remove gstsvpext linking for CMAKE_RDK_SVP

Remove conditional linking of gstsvpext for CMAKE_RDK_SVP.

* Remove erroneous #errrr directive in SvpFreeContext added for validation purpose

Removed erroneous preprocessor directive from SvpFreeContext function.

* Fix typo in preprocessor directive

* Remove erroneous preprocessor directive added for validation purpose

* Update middleware/CMakeLists.txt

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Signed-off-by: Varatharajan_Narayanan <Varatharajan_Narayanan@comcast.com>
Co-authored-by: nejuma1 <nejumathopppil_nazar@comcast.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
VPLAY-11795 memset on objects is potentially harmful

Reason for Change: Eliminates undefined behavior from memset on non-POD types and apply RAII principles to POD type initialization.

Non-POD fixes (prevents corruption/crashes):
- CachedFragment: Use Clear() method instead of memset
- SpeedCache: Use assignment operator for reset
- MediaStreamContext: Initialize in member initializer list
- AampLLDashServiceData: Refactor clear() to use assignment (DRY)
- RecordingComponent: Use assignment in reset methods and constructor
- Remove aesCtrAttrDataList memset (already initialized)

POD improvements (RAII compliance):
- Local arrays: Use = {} initialization (work, dataDescTags, tuneStrPrefix,
  description, moneytracebuf, buf)
- Member arrays: Add m_SPS, m_PPS to member initializer list
- TileInfo: Remove redundant memset

Code cleanup:
- Remove unused SetLLDashSpeedCache() and refactor test
VPLAY-11814 Content type index discrepancy in IP_AAMP_TUNETIME (#731)

Reason for change: Moving gstdecode parameter to end for the metrics dashboard.
Test Procedure: updated in ticket
Risks: Low

Signed-off-by: Anurag Krishnan <akrish513@cable.comcast.com>
VPLAY-11969 GetTextTrackInfo returns stale information

If the text track is changed without a re-tune then priv_aamps
mPreferredTextTrack, and stream abstractions mTextTrackIndex are not
updated to reflect the current track

The manifest url can be set to null due to an issue with passing the
same string into cache handler methods as multiple params by reference.

The specified language via SetTextTrack() is ignored in perference to the
prefferedTextLanguage list.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
RDK-60173 : Verify L1 test cases for middleware component

Reason for Change:
- Enable hidden symbol visibility for fakes library
- Added compile options for hidden symbol visibility to prevent symbol clashes with system libraries.
- Adjust visibility settings for GCC in FakeGLib.cpp
- Add getUsableKeys and setKeyId methods to adapter
- Add getUsableKeys method to MockOpenCdmSessionAdapter
- Modify MemBufEq to accept any keyId pointer and size
- Updated MemBufEq matcher to handle NULL pointers safely by accepting any keyId pointer and size.
- Update middleware/test/utests/tests/OcdmBasicSessionAdapterTests/FunctionalTests.cpp
---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: rkandh015 <rekha_kandhavelan@comcast.com>
RDK-59033: Modification of AAMP Jenkins L1 job and L1_test.yaml

Reason for change: Modifed yml file scripts to automatically run middleware l1 tests
Test Procedure: github ci verification
Risks: None
Priority: P1

---------

Signed-off-by: Rekha Kandhavelan rekha_kandhavelan@comcast.com
Co-authored-by: rkandh015 <rekha_kandhavelan@comcast.com>
Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
VPLAY-11918 process id logging minor cleanup

Reason for Change: incorporating some copilot recommendations including:
- cast pid_t to int while printing
- log as "PID:" instead of "process:"

---

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
VPLAY-10639: GetCulledSeconds() Not working on CH4 

Reason for change: Skip empty periods for culled seconds calculations

Risks: Low

Test Procedure: Test with Linear

Priority: P1
VPLAY-10639 follow-up l1 fix (removed repeated tests)

Reason for Change: l1 test compilation error; new tests were repeated

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
VPLAY-12012: Deprecate auxiliary audio support in AAMP

Reason for change: Deprecate auxiliary audio support
Test Procedure: Ensure there are no regression
Risks: None

---------

Signed-off-by: Vinish100 <vinish.balan@gmail.com>
Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
VPLAY-11719 Accept IB/OOB subtitle preference

Reason for Change:
When an app specifies the CC/subtitles "sub-type" preference, use that to choose the most appropriate text track.
Summary of Changes:
SavePreferredTextLanguage() will cache the value of the "sub-type" preference from the JSON preferences document.
SelectPreferredTextTrack() will then prefer an in-band CC track when "sub-type" is "CLOSED-CAPTIONS" and prefer an out-of-band subtitle track when "sub-type" is "SUBTITLES". If the "sub-type" is neither of those values, it is treated as if it was not specified.

---------

Co-authored-by: DomSyna <192202460+DomSyna@users.noreply.github.com>
…ing log detection

VPLAY-11732: Add sequential log numbering with function name for missing log detection

Reason for Change: Add sequential log numbering and filename extraction to AAMP logging

---------

Co-authored-by: jfagunde <83724616+jfagunde@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jose Fagundez <jfagunde@synamedia.com>
pstroffolino and others added 19 commits January 23, 2026 10:49
VPLAY-12458 correct misc typos

Reason for Change: spotted additional typos lurking in comments that had been wrongly whitelisted
Test Guidance: run godspell
---------

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
VPLAY-12458 replace snake case for consistency

Reason for Chamge: variable names to camel case

---------

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
Reason for change: Fix format specific build issues
due to platform specific data type for NOW_STEADY_TS_MS
Test Procedure: L1 should compile successfully
Risks: None

Signed-off-by: Vinish100 <vinish.balan@gmail.com>
VPLAY-12476 Prevent AAMP from FFWD when at live

Reason for Change: prevent AAMP from attempting fast-forward (FFWD) operations when playback is already at the live edge, which was causing GStreamer state-related issues on some platforms. The fix modifies the logic in SetRateInternal() to add an early-exit check for this condition.

Also misc copilot-guided refactoring and new tests including:
- Refactor IsStreamerAtLivePoint call with static_cast
- Use static_cast for IsStreamerAtLivePoint call
- Clarify comment regarding live edge condition and condition for clearing the flag.
- Add comprehensive test coverage for SetRateInternal live point behavior
- Address code review feedback - remove magic numbers from comments
- Extract magic number to named constant for improved maintainability
- Add test for multiple SetRate calls at live point to verify flag preservation
- Add SetIsAtLivePoint setter method to StreamAbstractionAAMP
- Rebase and update tests for SetIsAtLivePoint refactoring
- Add fake implementation for SetIsAtLivePoint method
- Update test/utests/tests/PlayerInstanceAAMP/PlayerInstanceAAMPTestsMain.cpp
- Delegate IsAtLivePoint and IsLiveStream to mock in FakePrivateInstanceAAMP
- Fix Doxygen parameter formatting - remove extra dashes
- Simplify logging in SetIsAtLivePoint method

---------

Co-authored-by: DomSyna <192202460+DomSyna@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…906)

VPLAY-12265: [FOG TSB]Video freezes during AD to CDAI ad transition (#906)

Reason for change: During ad break transition from FOG TSB to CDAI ad, video freezes for few seconds.
This is due to unavailability of init fragments for CDAI ads when ad is played from FOG TSB.
This fix handles the scenario and fetches init fragments from representation's bandwidth when
no AvailableBitrates node is found in custom MPD for FOG TSB ads.
Risks: Low
Test Procedure: Test with FOG TSB ads and CDAI ads transition
Priority: P1

Signed-off-by: Nandakishor U M <nu641001@gmail.com>
Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
…ith inBand CC tracks (#907)

VPLAY-12061:Closed captioning issues after introducing webvTT along with inBand CC tracks 

Reason for change: filter out the webvtt tracks before sending the list of tracks to application
Test Procedure: see ticket
Risks: Low

Signed-off-by: Gnanesha <gnaani82@gmail.com>
Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
VPLAY-12265: Fix memory leak after GetBitrateInfoFromCustomMpd (#910) 

Reason for change: Fixing potential memory leak in FragmentCollectorMPD
Risks: Low
Test Procedure: Test with CDAI Fog linear
Priority: P1
Signed-off-by: Nandakishor U M <nu641001@gmail.com>
… asset on perform FF till the ad break point (#908)

VPLAY-12203: - Subtitles Fails to display after Ad break point on VOD asset on perform FF till the ad break point (#908)
Reason for Change: fix inband CC resume from ad to content and content to ad

Test Guidance: Check the ticket

Risk: Low

Signed-off-by: Gnanesha <gnaani82@gmail.com>
VPLAY-12482 use of TLS1.3 for CDN downloads 

Reason for Change: rather than explicitly selecting TLS1.3, allow libCurl to negotiate and use best supported version by client and server

Test Guidance: curl logs to confirm TLS 1.3 ends up being used for https connections

Risk: Low

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
…#913)

VPLAY-12203: - Subtitles Fails to display after Ad break point on VOD

Reason for Change: l1 tests added for VPLAY-12203

Test Guidance: all (and new) l1 tests passing

Risk: None

---------

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
#725)

VPLAY-11600 Call IsEmptyPeriod() with checkIframe=false for AAMP TSB

Reason for Change: This needs fixing before we can fix VPLAY-11583

Summary of Changes:
* Call IsEmptyPeriod() with checkIframe=false for AAMP TSB
* Use aamp->rate instead of rate in IsEmptyPeriod()
* Improve comments and parameters name for GetPeriodDuration() and
  GetPeriodEndTime()

Test Procedure: Verify no regressions when using AAMP TSB

Risk: Low

---------

Signed-off-by: Jose Fagundez <jfagunde@synamedia.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
… Language During Linear Playback (#864)

VPLAY-11816 [Linear] Crash occurred when Toggling Subtitles and Audio Language During Linear Playback (#864)

Reason for change: Audio language change results in configuring the gstremer pipeline, which causes state transition inside gstremer. Sometimes, in the middle of this state change operation, MonitorAvTimerCallback() wake up and calls GetVideoPlaybackQuality() function in aamp, which queries gstreamer to get some statics data from video decoder. This call is getting hung and then leads to crash.

Changes:
* Modified GetVideoPlaybackQuality() to avoid querying gstreamer for video decoder statics when state transition is in progress.

Test Procedure: Refer JIRA ticket

Risks: low

Signed-off-by: anjali-syna <206662904+anjali-syna@users.noreply.github.com>
)

VPLAY-12497 gstreamer test harness - fix global state memory leaks

Reason for Change:
Cleans up global Mp4Demux instances - Prevents memory leaks from accumulated demuxers
Flushes track queues - Removes stale TrackEvent objects that could reference freed memory
Resets pipeline state - Sets to NULL before deletion
Recreates clean pipeline - Fresh instance without baggage
Resets context state - All counters and flags back to initial values
Resets track state - Clears needsData and injection flags

Test Guidance: confirm improved stability when stopping and playing different streams. The fix addresses the root cause of the crashes: incomplete cleanup leaving dangling pointers and stale state.

Test Guidance: use gst test harness to play different streams and tests and confirm no crashes

---------

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
…ancement and Comprehensive Pipeline::Reset (#922)

VPLAY-12498 gstreamer test harness - robustness: Track Destructor Enhancement and Comprehensive Pipeline::Reset

Reason for Change:
Fix #1 - Track Destructor Enhancement:

Now calls Flush() before deleting the queue
Ensures all TrackEvent objects are properly deleted
Prevents memory leaks when Track objects are destroyed

Fix #2 - Comprehensive Pipeline::Reset():

Clears the seek queue (original behavior)
Resets configured_stream_count to 0
Resets initial_seek_performed to false
Clears injected seconds counters for all media streams
Provides detailed debug logging
These fixes create multiple layers of protection:

Stop command (Fix #1) - Explicit cleanup when user stops playback
Track destructor (Fix #2) - Automatic cleanup when Track objects are destroyed
Pipeline::Reset() (Fix #3) - Comprehensive state reset that can be called by other methods like Flush()
Together, these should significantly improve stability when:

Stopping and playing different streams
Switching between DAI tests
Recovering from errors
Handling rapid state transitions
The code now has proper cleanup at multiple lifecycle points, reducing the chance of crashes from stale state or memory leaks.

---------

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
VPLAY-12452: Disable lowBWTimeout when at the end of ABR ladder

Reason for change: Disable lowBWTimeout when at the lowest profile
as there is no scope for a rampdown and causes fragment skip
Test Procedure: Rampdown to lowest profile and confirm lowBWTimeout
is not kicking in
Risks: Low

Signed-off-by: Vinish100 <vinish.balan@gmail.com>
VPLAY-12512 gst test harness idle callback is hogging 100% of cpu

Reason for Change: 10ms delay added between idle callbacks to avoid pegging cpu

Test Guidance: cpu no longer going to 100% when running gst test harness

Risk: None (tool-only change)

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>

* Update test/gstTestHarness/gst-test.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix resource leak in gst test harness idle callback (#930)

* Initial plan

* Fix resource leak in myIdleFunc by using g_timeout_add instead of g_idle_add

Co-authored-by: pstroffolino <20442081+pstroffolino@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: pstroffolino <20442081+pstroffolino@users.noreply.github.com>

---------

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: pstroffolino <20442081+pstroffolino@users.noreply.github.com>
…cli (#931)

Reason for Change: xcode gives an error when attempting clean build.  user is forced to manually rm -f build folder

Test Guidance: for change to work, need to first remove build folder and re-run install-aamp.sh

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
VPLAY-12490 Use CPP 17 to build AAMP
Reason for Change: globally migrate AAMP code based from C++11 and C++14 to C++17
Test Guidance: general regression
Risk: Low
---------

Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
VPLAY-12513 Update IP_AAMP_TUNETIME Doxygen

Reason for change: To update IP_AAMP_TUNETIME Doxygen documentation
Risks: Low
Priority: P1

Signed-off-by: ryadav698 <emailofrajatyadav@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@psiva01 psiva01 requested a review from a team as a code owner February 2, 2026 10:37
Copilot AI review requested due to automatic review settings February 2, 2026 10:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

pstroffolino and others added 4 commits February 5, 2026 00:12
…ith inBand CC tracks (#958)

Reason for change: filter out the webvtt tracks before sending the list of tracks to application
Test Procedure: see ticket
Risks: Low

Signed-off-by: Gnanesha <gnaani82@gmail.com>
VPLAY-12061:Closed captioning issues after introducing webvTT along with inBand CC tracks
)

VPLAY-12336: Remote keys became Unresponsive & Crashed("28665316")

Reason for change: During Stop(), set state to STOPPING & IDLE irrespective of sending events to avoid unnecessary execution. Modified PrivateInstanceAAMP::Stop() accordingly to send event based on new sendStateChangeEvent flag.

This fixes a regression from VPLAY-12336

Test Procedure: Refer Jira
Risks: Medium

---------

Signed-off-by: psiva01 <sivasubramanian.patchaiperumal@ltts.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 9, 2026 18:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

DomSyna and others added 2 commits February 12, 2026 09:57
…!= 0 (#954)

VPLAY-12547 AampGrowableBuffer GetPtr() returns nulptr when capacity != 0 (#954)

Reason for Change: addresses a crash issue (VPLAY-12547) where AampGrowableBuffer::GetPtr() was incorrectly returning nullptr after Clear() was called on a buffer with reserved capacity. The issue occurred during download retry scenarios when a buffer was reused - the assert in ReserveBytes() would fail because it expected both empty() && capacity() == 0, but after Clear(), only size was 0 while capacity remained allocated.
VPLAY-12547 AampGrowableBuffer GetPtr() returns nulptr when capacity …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.