-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Milestone
Description
Environment
- [yes] The MPD passes the DASH-IF Conformance Tool on https://conformance.dashif.org/
- [yes] The stream has correct Access-Control-Allow-Origin headers (CORS)
- [yes] There are no network errors such as 404s in the browser console when trying to play the stream
- [yes] The issue observed is not mentioned on https://github.com/Dash-Industry-Forum/dash.js/wiki/FAQ
- [yes] The issue occurs in the latest reference client on http://reference.dashif.org/dash.js/ and not just on my page
- Link to playable MPD file: Client stream so unable to share
- Dash.js version: 4.6.0
- Browser name/version: Mac Chrome
- OS name/version: Mac
Steps to reproduce
- Start playing the low latency CMAF stream
- Open Chrome Dev tools and after few mins, switch network to Slow 3G
- Wait for a min
- Switch network speed back to No Throttling
Observed behavior
When we switch the network to low speed, after some time the player stops downloading new segments.
Once we switch back to normal speed, the player does not resume playback
Console output
[11884][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000586.m4s
135237 [11897][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000586.m4s
135237 [12963][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000587.m4s
135237 [13009][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000587.m4s
135237 [13979][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000588.m4s
135237 [13981][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000588.m4s
135237 [14901][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000589.m4s
135237 [14943][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000589.m4s
135237 [16001][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000590.m4s
135237 [16004][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000590.m4s
135237 [16884][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000591.m4s
135237 [16950][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000591.m4s
135237 [17996][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000592.m4s
135237 [17999][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000592.m4s
135237 [18967][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000593.m4s
135237 [19070][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000593.m4s
135237 [19898][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000594.m4s
135237 [19960][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000594.m4s
135237 [20998][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000595.m4s
135237 [21009][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000595.m4s
135237 [22771][StreamProcessor][video] Buffer is empty! Stalling!
135237 [22772][StreamProcessor][audio] Buffer is empty! Stalling!
371 player WAITING Event
146761 onWaiting...........
135237 [22999][PlaybackController] Native video element event: waiting
135237 [23957][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000596.m4s
146683 playing event
146685 #####onPlaying#####
135237 [23968][PlaybackController] Native video element event: playing
135237 [24851][StreamProcessor][audio] Buffer is empty! Stalling!
371 player WAITING Event
146761 onWaiting...........
135237 [24981][PlaybackController] Native video element event: waiting
135237 [26263][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000596.m4s
135237 [27034][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000597.m4s
135237 [28235][PlaybackController] Requesting seek to time: 596.2925
371 onseekingEvent
135237 [28236][PlaybackController] Seeking to: 596.2925
135237 [28236][StreamProcessor][video] onFragmentLoadingAbandoned request: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_3-000597.m4s has been aborted
146761 onWaiting...........
135237 [28237][PlaybackController] Native video element event: waiting
135237 [30277][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 0 and media type video - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/init_3.m4s
135237 [30277][ScheduleController][video] [video] lastInitializedRepresentationInfo changed to 0
135237 [30308][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/init_0.m4s
135237 [30309][ScheduleController][audio] [audio] lastInitializedRepresentationInfo changed to 0
135237 [32797][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 0 and media type audio - Url: https://example.akamaized.net/cmaf/live-ull/2099527/640c3daee4b0868976f9169e/1681892999/chunk-stream_t_0-000598.m4s
147565 {type: 'liveedgechange', target: span.vjs-event-bus, relatedTarget: undefined, defaultPrevented: false, preventDefault: ƒ}
is player is at live state false
Expected behaviour
The stream should start playing once we switch from low to high network speed.
Streaming Configuration used
{
"abandonLoadTimeout": 10000,
"wallclockTimeUpdateInterval": 100,
"manifestUpdateRetryInterval": 100,
"cacheInitSegments": false,
"applyServiceDescription": true,
"applyProducerReferenceTime": true,
"applyContentSteering": true,
"eventControllerRefreshDelay": 100,
"enableManifestDurationMismatchFix": true,
"parseInbandPrft": false,
"enableManifestTimescaleMismatchFix": false,
"capabilities": {
"filterUnsupportedEssentialProperties": true,
"useMediaCapabilitiesApi": false
},
"timeShiftBuffer": {
"calcFromSegmentTimeline": false,
"fallbackToSegmentTimeline": true
},
"metrics": {
"maxListDepth": 100
},
"delay": {
"liveDelayFragmentCount": 1,
"liveDelay": 1,
"useSuggestedPresentationDelay": true
},
"protection": {
"keepProtectionMediaKeys": false,
"ignoreEmeEncryptedEvent": false,
"detectPlayreadyMessageFormat": true
},
"buffer": {
"enableSeekDecorrelationFix": false,
"fastSwitchEnabled": true,
"flushBufferAtTrackSwitch": false,
"reuseExistingSourceBuffers": true,
"bufferPruningInterval": 10,
"bufferToKeep": 20,
"bufferTimeAtTopQuality": 30,
"bufferTimeAtTopQualityLongForm": 60,
"initialBufferLevel": null,
"stableBufferTime": 12,
"longFormContentDurationThreshold": 600,
"stallThreshold": 0.3,
"useAppendWindow": true,
"setStallState": true,
"avoidCurrentTimeRangePruning": false,
"useChangeTypeForTrackSwitch": true
},
"gaps": {
"jumpGaps": true,
"jumpLargeGaps": true,
"smallGapLimit": 1.5,
"threshold": 0.3,
"enableSeekFix": true,
"enableStallFix": false,
"stallSeek": 0.1
},
"utcSynchronization": {
"enabled": true,
"useManifestDateHeaderTimeSource": true,
"backgroundAttempts": 2,
"timeBetweenSyncAttempts": 30,
"maximumTimeBetweenSyncAttempts": 600,
"minimumTimeBetweenSyncAttempts": 2,
"timeBetweenSyncAttemptsAdjustmentFactor": 2,
"maximumAllowedDrift": 100,
"enableBackgroundSyncAfterSegmentDownloadError": true,
"defaultTimingSource": {
"scheme": "urn:mpeg:dash:utc:http-xsdate:2014",
"value": "https://time.akamai.com/?iso&ms"
}
},
"scheduling": {
"defaultTimeout": 500,
"lowLatencyTimeout": 0,
"scheduleWhilePaused": true
},
"text": {
"defaultEnabled": true,
"extendSegmentedCues": true,
"webvtt": {
"customRenderingEnabled": false
}
},
"liveCatchup": {
"maxDrift": null,
"playbackRate": {
"min": null,
"max": null
},
"playbackBufferMin": 0.5,
"enabled": null,
"mode": "liveCatchupModeDefault"
},
"lastBitrateCachingInfo": {
"enabled": true,
"ttl": 360000
},
"lastMediaSettingsCachingInfo": {
"enabled": true,
"ttl": 360000
},
"cacheLoadThresholds": {
"video": 50,
"audio": 5
},
"trackSwitchMode": {
"audio": "alwaysReplace",
"video": "neverReplace"
},
"selectionModeForInitialTrack": "highestSelectionPriority",
"fragmentRequestTimeout": 20000,
"fragmentRequestProgressTimeout": -1,
"manifestRequestTimeout": 10000,
"retryIntervals": {
"MPD": 500,
"XLinkExpansion": 500,
"MediaSegment": 1000,
"InitializationSegment": 1000,
"BitstreamSwitchingSegment": 1000,
"IndexSegment": 1000,
"FragmentInfoSegment": 1000,
"license": 1000,
"other": 1000,
"lowLatencyReductionFactor": 10
},
"retryAttempts": {
"MPD": 3,
"XLinkExpansion": 1,
"MediaSegment": 3,
"InitializationSegment": 3,
"BitstreamSwitchingSegment": 3,
"IndexSegment": 3,
"FragmentInfoSegment": 3,
"license": 3,
"other": 3,
"lowLatencyMultiplyFactor": 5
},
"abr": {
"movingAverageMethod": "slidingWindow",
"ABRStrategy": "abrDynamic",
"additionalAbrRules": {
"insufficientBufferRule": true,
"switchHistoryRule": true,
"droppedFramesRule": true,
"abandonRequestsRule": true
},
"bandwidthSafetyFactor": 0.9,
"useDefaultABRRules": true,
"useDeadTimeLatency": true,
"limitBitrateByPortal": false,
"usePixelRatioInLimitBitrateByPortal": false,
"maxBitrate": {
"audio": -1,
"video": -1
},
"minBitrate": {
"audio": -1,
"video": -1
},
"maxRepresentationRatio": {
"audio": 1,
"video": 1
},
"initialBitrate": {
"audio": -1,
"video": -1
},
"initialRepresentationRatio": {
"audio": -1,
"video": -1
},
"autoSwitchBitrate": {
"audio": true,
"video": true
},
"fetchThroughputCalculationMode": "abrFetchThroughputCalculationMoofParsing"
},
"cmcd": {
"enabled": false,
"sid": null,
"cid": null,
"rtp": null,
"rtpSafetyFactor": 5,
"mode": "query",
"enabledKeys": [
"br",
"d",
"ot",
"tb",
"bl",
"dl",
"mtp",
"nor",
"nrr",
"su",
"bs",
"rtp",
"cid",
"pr",
"sf",
"sid",
"st",
"v"
]
},
"cmsd": {
"enabled": false,
"abr": {
"applyMb": false,
"etpWeightRatio": 0
}
}
}
Metadata
Metadata
Assignees
Type
Projects
Status
Selected for Development