forked from shaka-project/shaka-packager
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Misleading log output when HLS target duration updates #25
Open
Brainiarc7
wants to merge
38
commits into
Brainiarc7:main
Choose a base branch
from
MarcusWichelmann:hls-target-duration-log-fix
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
fix: Misleading log output when HLS target duration updates #25
Brainiarc7
wants to merge
38
commits into
Brainiarc7:main
from
MarcusWichelmann:hls-target-duration-log-fix
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Brainiarc7
changed the title
Fix:Misleading log output when HLS target duration updates
fix: Misleading log output when HLS target duration updates
Apr 1, 2023
…rs. (shaka-project#1170) It appears that not all Apple implementations follow the HLS guidelines. While the DEFAULT=NO for an audio track should be optional and default to NO, in practice native HLS players Safari and iOS devices treat the missing DEFAULT as a MAYBE. Fixes shaka-project#1169
) Fix bug where milliseconds were formatted with two digits instead of three, resulting in incorrect timestamps in TTML cues. Fixes shaka-project#1180
…aka-project#1186) The default branch is `main`, not `master`. Indicate this on the documentation as its' not obvious. Fixes shaka-project#1060
…ttribute (shaka-project#1198) # Low Latency DASH - `availabilityTimeComplete=false` Low Latency DASH manifests generated by Packager were missing the attribute `availabilityTimeComplete`. As per the [DASH specs](https://dashif.org/docs/CR-Low-Latency-Live-r8.pdf): **_the AdaptationSet@availabilityTimeCompleteshould be present and be set to 'FALSE'_** ## The Issue The missing attribute caused ULL streams from Shaka Packager to no longer be compatible with DASH.js. Previous versions of DASH.js allowed users to specify ULL mode when initializing the player. However, the most recent releases of DASH.js automatically detect ULL by scanning the manifest for ULL specific attributes. Although there are many attributes only associated with ULL, [DASH.js only greps for `availabilityTimeComplete` in its detection logic](https://github.com/Dash-Industry-Forum/dash.js/blob/development/src/streaming/controllers/PlaybackController.js#L792-L805). Because of the missing attribute in Packager and the limited ULL verification criteria by DASH.js, Packager streams were not being treated as low latency streams by DASH.js. ## Testing ### Unit Testing `./mpd_unittest --gtest_filter="SegmentTemplateTest.OneSegmentLowLatency"` ` ./mpd_unittest --gtest_filter="LowLatencySegmentTest.LowLatencySegmentTemplate"` ### Manual Testing - Created a low latency stream with Shaka Packager - Observed the expected `availabilityTimeComplete=false` attribute in the generated DASH manifest.
Closing the upstream on flush will effectively terminate the ongoing curl connection. This means that we would need re-establish the connection in order to resume writing, this is not what we want. In the spirit of the documentation of File::Flush ```c++ /// Flush the file so that recently written data will survive an /// application crash (but not necessarily an OS crash). For /// instance, in LocalFile the data is flushed into the OS but not /// necessarily to disk. ``` We will instead wait for the curl thread to finish consuming what ever might be in the upload cache, but leave the connection open for subsequent writes. Fixes shaka-project#1196
…haka-project#1226) Updating golden files for failing ttml tests in packager_test.py related to shaka-project#1179 and failing HLS unit tests related to shaka-project#1170.
Fix a bug that if the webvtt file is very short, e.g. only contains one block WEBVTT 00:00:00.500 --> 00:00:02.000 The Web is always changing shaka packager will report error: "Packaging Error: 6 (END_OF_STREAM)". Fixes shaka-project#1217
…aka-project#1173) While I have not yet found why the periods are empty, this will prevent shaka from seg faulting Fixes shaka-project#1172
…#1211) This PR adds dby1 compatible brand to dolby content as per https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby_vision_bitstreams_within_the_iso_base_media_file_format_dec2017.pdf
This is an automated sync of common workflows for this organization. The upstream source is: shaka-project/shaka-github-tools@208556c Co-authored-by: Shaka Bot <[email protected]>
…ent (shaka-project#1205) As per the AV1 spec, the codec string may contain optional color values. This extracts the missing color information from the mp4 `colr` atom, if present, and generates the full AV1 codec string. Closes shaka-project#1007
…oject#1214) Do not assume that each fragment contains all tracks. Use track id instead of index to pick the correct timestamp. Fixes shaka-project#1213
This PR is an extension of the full AV1 codec string feature: [PR 1205](shaka-project#1205) and relates to [Issue 1007](shaka-project#1007) and [Issue 1202](shaka-project#1202). As per the AV1 spec, the codec string may contain optional color values. These color values are critical for detecting HDR video streams - see [Issue 1007](shaka-project#1007). Color information is extracted from the input mp4's `colr` atom and used to generate the full AV1 codec string. This PR preserves the color information by writing the `colr` atom to the muxed mp4. **References**: - [AV1 Codec ISO Media File Format Binding](https://aomediacodec.github.io/av1-isobmff/#codecsparam) - [AV1 Bitstream & Decoding Process Specification - Section 6.4.2 Color config semantics (page 117)](https://aomediacodec.github.io/av1-spec/av1-spec.pdf) - [QuickTime File Format Specification](https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html#//apple_ref/doc/uid/TP40000939-CH205-125526)
This is an automated sync of common workflows for this organization. The upstream source is: shaka-project/shaka-github-tools@4245160 Co-authored-by: Shaka Bot <[email protected]>
This PR is related to shaka-project#1035
CC version 13 needs `<cstdint>` to be explicitly included to provide fixed bits integer types. Some files using it inludes `<stdint.h>`, some are missing direct or undirect inclusion. This PR adds `<cstdint>` inclusion to the minimal set of files, allowing compilation on GCC 13. Closes shaka-project#1305
…ct#1310) This work was done over ~80 individual commits in the `cmake` branch, which are now being merged back into `main`. As a roll-up commit, it is too big to be reviewable, but each change was reviewed individually in context of the `cmake` branch. After this, the `cmake` branch will be renamed `cmake-porting-history` and preserved. --------- Co-authored-by: Geoff Jukes <[email protected]> Co-authored-by: Bartek Zdanowski <[email protected]> Co-authored-by: Carlos Bentzen <[email protected]> Co-authored-by: Dennis E. Mungai <[email protected]> Co-authored-by: Cosmin Stejerean <[email protected]> Co-authored-by: Carlos Bentzen <[email protected]> Co-authored-by: Cosmin Stejerean <[email protected]> Co-authored-by: Cosmin Stejerean <[email protected]>
…1319) The current libwebm integration test samples contain `libwebm-0.2.1` however we have updated to a newer version of libwebm so we need to update the samples. As of `libwebm-0.3.0` this signature has been frozen so we won't have to do this again.
shaka-project#1320) As part of the CMake port we updated the duration formatting to contain maximum of 6 decimal places but without trailing 0s. There was a bug however where it used 6 significant digits rather than 6 decimal places (`%g` rather than `%f`). This fixes the bug and also updates the MPD sample files for the integration tests to contain maximum of 6 decimal places.
The accidental tolower in `SplitAndTrimSkipEmpty` was causing stream descriptors to not preserve case for certain things like accessibilities.
) The fix in shaka-project#1289 was not complete and left the fake clock as null which didn't have any effect. This was revealed by integration tests showing mismatches in the timestamps in MP4.
…ject#1323) The current mbedtls integration was not working for some modes. See for example shaka-project#1316 and also lots of failing integration tests. For example in pattern encryptor it works on one block at a time so it cannot assume it's going to always get a buffer with a padding for an extra block. From what I can tell when the padding mode is correctly set to `MBEDTLS_PADDING_NONE` there is no extra block being written to or required. This passes all crypto unit tests and integration tests. Closes shaka-project#1316
A positive value, in milliseconds. It is the threshold used to determine if we should assume that the text stream actually starts at time zero. If the first sample comes before default_text_zero_bias_ms, then the start will be padded as the stream is assumed to start at zero. If the first sample comes after default_text_zero_bias_ms then the start of the stream will not be padded as we cannot assume the start time of the stream.
…haka-project#369) (shaka-project#1311) Part of shaka-project#369 This adds read support for some MPEG-TS PMT elementary stream descriptors: - ISO639 Language Descriptor providing language code and audio type - Maximum Bitrate Descriptor providing peak stream bandwidth Those metadata are propagated to StreamInfo structures: - StreamInfo.language field - AudioStreamMetadata.max_bitrate field for audio streams - audio type is currently not propagated - corresponding field has to be added to AudioStreamMetadata Test vector file containing those descriptors is provided.
protobuf depends on absl, so both needed an update. Updating absl fixes issues on Alpine 3.19 (see PR shaka-project#1327), and also removes the need for hacks around vlog flags.
Co-authored-by: Joey Parrish <[email protected]>
The issues we had with zlib and CMake have been resolved upstream.
…oject#1329) This will force the muxer to order streams in the order given on the command-line. Closes shaka-project#560 Closes shaka-project#1280 Closes shaka-project#1313 --------- Co-authored-by: Joey Parrish <[email protected]> Co-authored-by: Cosmin Stejerean <[email protected]>
Add ability to set `Label` tag in MPD, see page 35 of DASH-IF IOP 4.3 https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf Implements shaka-project#881 --------- Co-authored-by: Cosmin Stejerean <[email protected]>
According to a comment in packager/third_party/abseil-cpp/source/absl/log/CMakeLists.txt, many linkers will strip the contents of absl::log_flags because its symbols symbols are only used in a global constructor, and that for now, clients should link using $<LINK_LIBRARY:WHOLE_ARCHIVE,absl::log_flags>. Closes shaka-project#1325
cosmin
force-pushed
the
hls-target-duration-log-fix
branch
from
February 15, 2024 03:54
513958c
to
aed63ad
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes shaka-project#969