Skip to content

Timeshift won't use all the DVR window after version 3.0.0 onwards #8001

Open
@makisp

Description

Have you read the FAQ and checked for duplicate open issues?
Yes, there is nothing similar to it.

If the problem is related to FairPlay, have you read the tutorial?
It is not.

What version of Shaka Player are you using?
4.12.6 but all version >=v3.0.0 are affected.
NOTE: All versions prior to v3.0.0 work as expected in timeshift

Can you reproduce the issue with our latest release version?
Yes.

Can you reproduce the issue with the latest code from main?
Yes.

Are you using the demo app or your own custom app?
Custom app.

If custom app, can you reproduce the issue using our demo app?
Yes.

What browser and OS are you using?
Latest Chrome / Windows & Tizen / WebOS.

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
Any model year reproduces this issue.

What are the manifest and license server URIs?
<?xml version="1.0" encoding="UTF-8"?> <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" availabilityStartTime="2025-01-16T09:52:02Z" minimumUpdatePeriod="PT24H" minBufferTime="PT4.0S" maxSegmentDuration="PT4.0S" publishTime="2025-02-03T08:46:24Z" timeShiftBufferDepth="PT7200S" suggestedPresentationDelay="PT4.0S" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> <Period start="PT0S" id="1"> <AdaptationSet mimeType="video/mp4" startWithSAP="1" segmentAlignment="true" par="16:9" templateParsed="true"> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"><cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAADBHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAuTkAgAAAQABANoCPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgAxADIAcgBkAEIALwBMAFoANgBrAGkAUwBzAHYATwBSAGkAVQBSAHMAZQBBAD0APQA8AC8ASwBJAEQAPgA8AEMASABFAEMASwBTAFUATQA+AFMATQBjAG0AeABiAHQAYgBEAGsAVQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGMAeQB0AGEALgBsAGkAdgBlAC4AbwB0AHQALgBpAHIAZABlAHQAbwAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQBTAGUAcgB2AGUAcgAvAHAAbABhAHkAcgBlAGEAZAB5AC8AdgAxAC8AYwB5AHQAYQAvAGEAYwBxAHUAaQByAGUATABpAGMAZQBuAHMAZQA/AGMAbwBuAHQAZQBuAHQASQBkAD0AMQAxADgANAA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh></ContentProtection> <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAAAPXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAB0IARIQB91q19nySOqSsvORiURseCIEMTE4NDiIDg==</cenc:pssh></ContentProtection> <SegmentTemplate timescale="10000000" presentationTimeOffset="0" duration="40000000" startNumber="1" media="$RepresentationID$_Segment-$Number$.m4v?playseek=20250203064630-&amp;timezone=UTC&amp;hw_dash=1&amp;servicetype=2&amp;accountinfo=Ax7J5sDyidhcdJtbkaCYH4ajbjFXeV7r0rrIUUrQGrbUuSqMtwanSeJ%2Fgzi6UkMkhQV0Vh9iYNvieHQ2utfGvf6iZQQz9to7WVweEsLf40pbKu7O3MZBNTxe71cqNihlf3ead484de5497225df7d0b04eaf8264%3A20250203084626%3AUTC%2C10001000582195%2C79.166.153.38%2C20250203084626%2Curn%3AHuawei%3AliveTV%3AXTV216459%2C10001000582195%2C-1%2C0%2C1%2C%2C%2C7%2C600101%2C%2C%2C4%2C10000092801556%2C0%2C10000017284556%2C10001000581569%2C%2C%2C2%2C1%2C55644397%2CEND&amp;GuardEncType=2&amp;rrsip=195.14.144.114&amp;zoneoffset=0&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=35701&amp;online=1738572386" initialization="20250116095150_$RepresentationID$_init.m4i?playseek=20250203064630-&amp;timezone=UTC&amp;hw_dash=1&amp;servicetype=2&amp;accountinfo=Ax7J5sDyidhcdJtbkaCYH4ajbjFXeV7r0rrIUUrQGrbUuSqMtwanSeJ%2Fgzi6UkMkhQV0Vh9iYNvieHQ2utfGvf6iZQQz9to7WVweEsLf40pbKu7O3MZBNTxe71cqNihlf3ead484de5497225df7d0b04eaf8264%3A20250203084626%3AUTC%2C10001000582195%2C79.166.153.38%2C20250203084626%2Curn%3AHuawei%3AliveTV%3AXTV216459%2C10001000582195%2C-1%2C0%2C1%2C%2C%2C7%2C600101%2C%2C%2C4%2C10000092801556%2C0%2C10000017284556%2C10001000581569%2C%2C%2C2%2C1%2C55644397%2CEND&amp;GuardEncType=2&amp;rrsip=195.14.144.114&amp;zoneoffset=0&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=35701&amp;online=1738572386"/> <Representation width="960" height="540" frameRate="25" codecs="avc1.640029" scanType="progressive" sar="1:1" id="01item" bandwidth="2000000"/> <Representation width="1280" height="720" frameRate="25" codecs="avc1.640029" scanType="progressive" sar="1:1" id="02item" bandwidth="3000000"/> <Representation width="1920" height="1080" frameRate="25" codecs="avc1.640029" scanType="progressive" sar="1:1" id="03item" bandwidth="4000000"/> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" startWithSAP="1" lang="eng" segmentAlignment="true" templateParsed="true"> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"><cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAADBHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAuTkAgAAAQABANoCPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgAxADIAcgBkAEIALwBMAFoANgBrAGkAUwBzAHYATwBSAGkAVQBSAHMAZQBBAD0APQA8AC8ASwBJAEQAPgA8AEMASABFAEMASwBTAFUATQA+AFMATQBjAG0AeABiAHQAYgBEAGsAVQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGMAeQB0AGEALgBsAGkAdgBlAC4AbwB0AHQALgBpAHIAZABlAHQAbwAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQBTAGUAcgB2AGUAcgAvAHAAbABhAHkAcgBlAGEAZAB5AC8AdgAxAC8AYwB5AHQAYQAvAGEAYwBxAHUAaQByAGUATABpAGMAZQBuAHMAZQA/AGMAbwBuAHQAZQBuAHQASQBkAD0AMQAxADgANAA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh></ContentProtection> <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAAAPXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAB0IARIQB91q19nySOqSsvORiURseCIEMTE4NDiIDg==</cenc:pssh></ContentProtection> <SegmentTemplate timescale="10000000" presentationTimeOffset="0" duration="40000000" startNumber="1" media="$RepresentationID$_Segment-$Number$.m4a?playseek=20250203064630-&amp;timezone=UTC&amp;hw_dash=1&amp;servicetype=2&amp;accountinfo=Ax7J5sDyidhcdJtbkaCYH4ajbjFXeV7r0rrIUUrQGrbUuSqMtwanSeJ%2Fgzi6UkMkhQV0Vh9iYNvieHQ2utfGvf6iZQQz9to7WVweEsLf40pbKu7O3MZBNTxe71cqNihlf3ead484de5497225df7d0b04eaf8264%3A20250203084626%3AUTC%2C10001000582195%2C79.166.153.38%2C20250203084626%2Curn%3AHuawei%3AliveTV%3AXTV216459%2C10001000582195%2C-1%2C0%2C1%2C%2C%2C7%2C600101%2C%2C%2C4%2C10000092801556%2C0%2C10000017284556%2C10001000581569%2C%2C%2C2%2C1%2C55644397%2CEND&amp;GuardEncType=2&amp;rrsip=195.14.144.114&amp;zoneoffset=0&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=35701&amp;online=1738572386" initialization="20250116095150_$RepresentationID$_init.m4i?playseek=20250203064630-&amp;timezone=UTC&amp;hw_dash=1&amp;servicetype=2&amp;accountinfo=Ax7J5sDyidhcdJtbkaCYH4ajbjFXeV7r0rrIUUrQGrbUuSqMtwanSeJ%2Fgzi6UkMkhQV0Vh9iYNvieHQ2utfGvf6iZQQz9to7WVweEsLf40pbKu7O3MZBNTxe71cqNihlf3ead484de5497225df7d0b04eaf8264%3A20250203084626%3AUTC%2C10001000582195%2C79.166.153.38%2C20250203084626%2Curn%3AHuawei%3AliveTV%3AXTV216459%2C10001000582195%2C-1%2C0%2C1%2C%2C%2C7%2C600101%2C%2C%2C4%2C10000092801556%2C0%2C10000017284556%2C10001000581569%2C%2C%2C2%2C1%2C55644397%2CEND&amp;GuardEncType=2&amp;rrsip=195.14.144.114&amp;zoneoffset=0&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=35701&amp;online=1738572386"/> <Representation audioSamplingRate="48000" codecs="mp4a.40.2" id="04item" bandwidth="95000"/> </AdaptationSet> </Period> </MPD>

What configuration are you using? What is the output of player.getNonDefaultConfiguration()?

{
    "drm": {
        "retryParameters": {
            "baseDelay": 300,
            "fuzzFactor": 0.2,
            "connectionTimeout": 20000
        },
        "servers": {
            "com.widevine.alpha": "our license server"
        },
        "advanced": {
            "com.widevine.alpha": {
                "distinctiveIdentifierRequired": false,
                "persistentStateRequired": false,
                "videoRobustness": "SW_SECURE_CRYPTO",
                "audioRobustness": "SW_SECURE_CRYPTO",
                "sessionType": "",
                "serverCertificateUri": "",
                "individualizationServer": ""
            }
        }
    },
    "manifest": {
        "dash": {
            "clockSyncUri": "https://time.akamai.com?iso&amp;ms"
        }
    },
    "abr": {
        "switchInterval": 2
    },
    "preferredAudioLanguage": "en",
    "preferredTextLanguage": "el"
}

What did you do?

  • Live content is playing
  • Seek backwards into timeshift buffered depth

What did you expect to happen?

  • To be able to seek and properly play the full timeshift window (in this case 7200s)

What actually happened?

  • It seeks backwards to a max of ~70mins. If you go backwards from there, it always starts playing from the 70min frame. It jumps there because it thinks there is a gap.
  • It seems like Shaka cannot buffer the full timeshift window and keep around 70mins from live
  • By using debug version i get this error every time i seek backwards of ~70min:
    Jumping forward 852.2477959999815 seconds because of gap before start time of 616777.679337

Steps we tried

  • Checked manifest file and everything seems OK to us
  • Shaka seems to understand the timeshift window as the output of seekRange() seems correct
  • Tried playing with streaming parameters to no difference at all

NOTE: All versions prior to v3.0.0 work as expected in timeshift

Some breaking changes seem to have taken place from v3.0.0.
Can you help us better understand the issue?
Is it manifest related?

Thank you!

Metadata

Assignees

No one assigned

    Labels

    component: DASHThe issue involves the MPEG DASH manifest formatstatus: waiting on responseWaiting on a response from the reporter(s) of the issuetype: bugSomething isn't working correctly

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions