Skip to content

Merge latest dev_sprint_25_2 to DELIA-69591 feature branch#1728

Merged
suryaiyappan2k merged 5 commits into
feature/DELIA-69591from
dev_sprint_25_2
Jul 14, 2026
Merged

Merge latest dev_sprint_25_2 to DELIA-69591 feature branch#1728
suryaiyappan2k merged 5 commits into
feature/DELIA-69591from
dev_sprint_25_2

Conversation

@suryaiyappan2k

Copy link
Copy Markdown

No description provided.

Reason for change: Fixed aamp->IsLiveSTream() with mIsLiveManifest.
Test Procedure: Refer jira ticket VPAAMP-394
Priority: P1

Signed-off-by: srikanthreddybijjam-comcast <srikanthreddybijjam.2000@gmail.com>
Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
…1705)

* VPAAMP-733 GetStreamFormat() wrong for HLS-TS when useMp4Demux=true

Reason for Change: GetStreamFormat() returns wrong A/V format for HLS-TS
                   when useMp4Demux=true

Summary of Changes:
- Move return UNKNOWN format to PrivAamp from StreamAbstraction
- Extend GetStreamFormat L1 tests to verify the change

Test Procedure: Run L1 tests

Priority: P1

Risks: Low

* Move setting format back to StreamAbstractionAAMP_HLS::GetStreamFormat()
… with UseMp4Demux (#1719)

Reason for Change: AAMP-TRICKPLAY-7002 L2 tests failing with
  "qtdemux0: This file contains no playable streams".
  When UseMp4Demux=true, Init() sets both video and audio track
  streamOutputFormat to FORMAT_ISO_BMFF after detecting EXT-X-MAP
  in the HLS playlist.  GetStreamFormat() was then called in
  TuneHelper() before mMediaFormat was promoted from eMEDIAFORMAT_HLS
  to eMEDIAFORMAT_HLS_MP4 (promotion happens at the call site after
  GetStreamFormat() returns).  With mMediaFormat still HLS, the
  UseMp4Demux guard was skipped and GetStreamFormat() returned
  FORMAT_ISO_BMFF for both tracks.  This caused Configure() to set
  up a qtdemux-based GStreamer pipeline immediately.  When
  AampMp4Demuxer subsequently parsed the audio init fragment and
  called SetStreamCaps() to switch audio to raw AAC ES, the pipeline
  became inconsistent (qtdemux on video, raw AAC ES on audio),
  resulting in the "no playable streams" error.
  This regression was exposed by VPAAMP-733 which correctly tightened
  the UseMp4Demux guard to require mMediaFormat==HLS_MP4, but that
  tightening removed the accidental protection for the pre-promotion
  window.

Summary of Changes:
- fragmentcollector_hls.cpp: extend GetStreamFormat() UseMp4Demux
  guard to also fire when the video track streamOutputFormat is
  FORMAT_ISO_BMFF, regardless of whether mMediaFormat has been
  promoted yet.  This matches the signal used by the TuneHelper()
  call site to perform the promotion itself, and is safe for HLS-TS
  (video format is FORMAT_MPEGTS, not FORMAT_ISO_BMFF).
- FunctionalTests.cpp: add regression test covering the pre-promotion
  scenario (mMediaFormat=HLS, video=FORMAT_ISO_BMFF, UseMp4Demux=true)
  asserting FORMAT_UNKNOWN is returned for both A/V.

Test Procedure:
- Run StreamAbstractionAAMP_HLS unit tests.
- Re-run AAMP-TRICKPLAY-7002 L2 tests and confirm pass.

Priority: P1
Risks: Low - one-line condition extension; HLS-TS path unaffected.
…PPWebProcess crash after playing Linear channel (#1679)

* fix for use-after-free condition of mutex .
Caused due to Teardown() and MPDCallbackExec()

Signed-off-by: Abhi-jith-S <abhijithssa7@gmail.com>

* Fix validation through L1 test

Signed-off-by: Abhi-jith-S <abhijithssa7@gmail.com>

* Potential fix for pull request finding

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

---------

Signed-off-by: Abhi-jith-S <abhijithssa7@gmail.com>
Co-authored-by: pstroffolino <Philip_Stroffolino@cable.comcast.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…ression (#1662)

* VPAAMP-512: Reset eosReached on period change to fix L2 test 1007 regression

PR #1550 moved eosReached=true from inside the async lambda to the fetcher
thread, exposing a pre-existing bug: eosReached was never reset when
transitioning from a source period to an ad period.

With eosReached stuck true after the source period exhausted its timeline,
WaitForCachedFragmentAvailable skips its fragmentFetched.wait() on the
injector side. When the time-based buffer fills during ad segment downloads
the fetcher stalls waiting for buffer space, but the injector's notify
cycle is broken by the stale eosReached, causing deadlock. Video
lastDownloadedPosition stalls at 818.78s instead of progressing to 824s.

Fix: reset eosReached=false alongside the existing eos=false in both
period-change paths (UpdateMediaTrackInfo and UpdateTrackInfo). This also
eliminates the original log spam without needing a separate !eosReached
guard on the log lines, since eosReached stays true for the remainder of
any given period once set.

Change-Id: Ibdc377c866a7ae2fa93474620a3e92caba31af40

* VPAAMP-512: Reset eosReached flag after signalling EndOfStream

Reason for change: Ensure that the eosReached flag is reset after signalling
EndOfStream to prevent multiple EOS signals if the injector is restarted.
Risks: Low
Test Procedure: Test with
Priority: P1
Change-Id: I9368ed502a1fc69aed384385b6d2d15ff4ec40d2
Signed-off-by: Nandakishor U M <nu641001@gmail.com>

* Apply suggestions from code review

Change-Id: Ibbf3e12a3eb74c81bc00719b2a7ffcd9874b28ff
Signed-off-by: Nandakishor U M <nu641001@gmail.com>

---------

Signed-off-by: Nandakishor U M <nu641001@gmail.com>
Co-authored-by: Nandu <nu641001@gmail.com>
@suryaiyappan2k
suryaiyappan2k requested a review from a team as a code owner July 14, 2026 08:42
@suryaiyappan2k
suryaiyappan2k merged commit 16b28e9 into feature/DELIA-69591 Jul 14, 2026
5 checks passed
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

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.

6 participants