Skip to content

Conversation

@anthonybajoua
Copy link
Contributor

@anthonybajoua anthonybajoua commented Feb 25, 2025

Summary:

Addresses Github issue #9373
Implements solution 1 proposed by Google maintainer.

  • Added test. Generated test file using below command:

ffmpeg -i short_1080p_videoonly_lowbitrate.mp4 -c copy -movflags frag_keyframe+delay_moov+empty_moov+dash sample_fragmented_seekable_multi_sidx.mp4 (Above movflags flags actually result in an unplayable file on this player until this fix.)

Algorithm/Solution

  1. Upon encountering multiple sidx atom in track:
  2. For each atom in the track:
    1. If sidx atom then aggregate ChunkIndex into master list, else skip
    2. Merge them all into one large chunk index.
    3. Reset the seek pointer to where it was last
      Retry above on I/O failures.

@google-cla
Copy link

google-cla bot commented Feb 25, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@anthonybajoua anthonybajoua force-pushed the meta/fragmented-mp4-multiple-sidx-seek-squashed branch from 476504f to ef35943 Compare February 25, 2025 18:19
@colinkho
Copy link
Contributor

Hey @tonihei @icbaker , would you guys be able to take a look? This would help us maintain a vanilla fMp4 extractor!

@icbaker
Copy link
Collaborator

icbaker commented Feb 26, 2025

We can take a look once the CLA check is passing.

@oceanjules
Copy link
Contributor

@anthonybajoua Hey, a reminder to complete the CLA instruction if you want us to look at your code :)

@rohitjoins rohitjoins self-assigned this Mar 12, 2025
@anthonybajoua anthonybajoua marked this pull request as ready for review March 25, 2025 21:16
@google-oss-bot

This comment was marked as resolved.

@colinkho
Copy link
Contributor

Seems like the CLA issue is finally resolved. @icbaker Would you be able to take a look?

@Shell1125
Copy link

Details

@rohitjoins rohitjoins force-pushed the meta/fragmented-mp4-multiple-sidx-seek-squashed branch 10 times, most recently from 713b9cd to 2e0d21a Compare April 25, 2025 16:04
@rohitjoins rohitjoins force-pushed the meta/fragmented-mp4-multiple-sidx-seek-squashed branch 3 times, most recently from 8e41a84 to d7534e9 Compare April 29, 2025 15:33
@rohitjoins rohitjoins force-pushed the meta/fragmented-mp4-multiple-sidx-seek-squashed branch from d7534e9 to 8b681a8 Compare April 29, 2025 15:34
@rohitjoins rohitjoins force-pushed the meta/fragmented-mp4-multiple-sidx-seek-squashed branch 3 times, most recently from ca0912d to 0d55dd3 Compare May 1, 2025 12:36
@rohitjoins rohitjoins force-pushed the meta/fragmented-mp4-multiple-sidx-seek-squashed branch 2 times, most recently from b51c5ea to 69c7f54 Compare May 13, 2025 13:45
@rohitjoins rohitjoins force-pushed the meta/fragmented-mp4-multiple-sidx-seek-squashed branch from 69c7f54 to 2559cf7 Compare May 13, 2025 13:45
@rohitjoins rohitjoins force-pushed the meta/fragmented-mp4-multiple-sidx-seek-squashed branch 2 times, most recently from 817ccce to fc15839 Compare May 20, 2025 12:09
@rohitjoins rohitjoins force-pushed the meta/fragmented-mp4-multiple-sidx-seek-squashed branch from fc15839 to ee9c1df Compare May 20, 2025 12:51
@copybara-service copybara-service bot merged commit 259648c into androidx:main May 20, 2025
1 check passed
@anthonybajoua anthonybajoua deleted the meta/fragmented-mp4-multiple-sidx-seek-squashed branch May 21, 2025 20:41
@androidx androidx locked and limited conversation to collaborators Jul 19, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants