Skip to content

[PS4] Keep remove same video source buffer and then lead to buffer drops to 0 #1697

@KunXi-Fox

Description

@KunXi-Fox

Hi there,

I met a strange issue on PS4 with multiple thread, after playing assets a while (about 30mins) and I saw the buffer drops to 0 then buffering forever.

After grab the logs I noticed that seems rx-player try to removing same source buffer and then lead (not sure if the remove failed or blocked) and not download the new video segment, eventually the buffer drops to 0. Detail logs as below:

---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33978.4 33978.604926
SBI: removing data from SourceBuffer video 33978.4 33978.604926
SBI: receiving order to remove data from the SourceBuffer audio 33977.62 33978.604926
SBI: removing data from SourceBuffer audio 33977.62 33978.604926
---> Sending to Worker: sb-success
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
SBI: updating codec video/mp4;codecs="avc1.4D401F"
SBI: could not update codec video/mp4;codecs="avc1.4D401F" video/mp4;codecs="avc1.4D401E"
SBI: pushing segment video
DRM: processing init data video 1800000 381bd9dde0164ce2a06ac1493204d101
DRM-LSS: Reusing session: 1 temporary
DRM: Init data already processed. Skipping it.
API: current media element state tick event timeupdate position 33990.082758 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 4 pendingPosition null
API: current playback timeline:
33980.64|==31.33==|34011.97
              ^33990.082758 
timeupdate
---> Sending to Worker: observation
---> Sending to Worker: sb-success
SBI: receiving order to remove data from the SourceBuffer audio 33978.62266666667 33980.082758
SBI: removing data from SourceBuffer audio 33978.62266666667 33980.082758
DRM: processing init data video 1200000 381bd9dde0164ce2a06ac1493204d101
DRM-LSS: Reusing session: 1 temporary
DRM: Init data already processed. Skipping it.
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 33991.124569 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 4 pendingPosition null
API: current playback timeline:
33980.64|==31.33==|34011.97
              ^33991.124569 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33980.64 33981.124569
SBI: removing data from SourceBuffer video 33980.64 33981.124569
SBI: receiving order to remove data from the SourceBuffer audio 33980.094666666664 33981.124569
SBI: removing data from SourceBuffer audio 33980.094666666664 33981.124569
---> Sending to Worker: sb-success
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 33992.215187 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33982.88|==29.09==|34011.97
              ^33992.215187 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to push data to the SourceBuffer video
SBI: updating codec video/mp4;codecs="avc1.4D401F"
SBI: could not update codec video/mp4;codecs="avc1.4D401F" video/mp4;codecs="avc1.4D401E"
SBI: re-setting `appendWindowStart` to `0`
SBI: pushing segment video
SBI: receiving order to remove data from the SourceBuffer audio 33981.14 33982.215187
SBI: removing data from SourceBuffer audio 33981.14 33982.215187
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
API: current media element state tick event timeupdate position 33993.202501 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33982.88|==29.09==|34011.97
              ^33993.202501 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33983.202501
SBI: receiving order to remove data from the SourceBuffer audio 33982.228 33983.202501
SBI: removing data from SourceBuffer audio 33982.228 33983.202501
---> Sending to Worker: sb-success
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 33994.258028 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33983.21|==28.79==|34012.00
              ^33994.258028 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SBI: receiving order to push data to the SourceBuffer video
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33984.258028
SBI: receiving order to remove data from the SourceBuffer audio 33983.20933333333 33984.258028
SBI: removing data from SourceBuffer audio 33983.20933333333 33984.258028
---> Sending to Worker: sb-success
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 33995.256523 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33984.28|==27.72==|34012.00
              ^33995.256523 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33985.256523
SBI: receiving order to remove data from the SourceBuffer audio 33984.276 33985.256523
SBI: removing data from SourceBuffer audio 33984.276 33985.256523
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 33996.257579 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33985.26|==26.74==|34012.00
              ^33996.257579 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33986.257579
SBI: receiving order to remove data from the SourceBuffer audio 33985.257333333335 33986.257579
SBI: removing data from SourceBuffer audio 33985.257333333335 33986.257579
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 33997.796248 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33986.26|==25.74==|34012.00
              ^33997.796248 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33987.796248
SBI: receiving order to remove data from the SourceBuffer audio 33986.26 33987.796248
SBI: removing data from SourceBuffer audio 33986.26 33987.796248
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 33998.820213 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33987.82|==24.18==|34012.00
              ^33998.820213 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33988.820213
SBI: receiving order to remove data from the SourceBuffer audio 33987.81733333333 33988.820213
SBI: removing data from SourceBuffer audio 33987.81733333333 33988.820213
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
API: current media element state tick event timeupdate position 33999.810829 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33988.84|==23.16==|34012.00
              ^33999.810829 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33989.810829
SBI: receiving order to remove data from the SourceBuffer audio 33988.84133333333 33989.810829
SBI: removing data from SourceBuffer audio 33988.84133333333 33989.810829
---> Sending to Worker: sb-success
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 34000.819371 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33989.82|==22.18==|34012.00
              ^34000.819371 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33990.819371
SBI: receiving order to remove data from the SourceBuffer audio 33989.82266666667 33990.819371
SBI: removing data from SourceBuffer audio 33989.82266666667 33990.819371
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 34001.819494 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33990.83|==21.17==|34012.00
              ^34001.819494 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33991.819494
SBI: receiving order to remove data from the SourceBuffer audio 33990.825333333334 33991.819494
SBI: removing data from SourceBuffer audio 33990.825333333334 33991.819494
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 34002.820399 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33991.83|==20.17==|34012.00
              ^34002.820399 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33992.820399
SBI: receiving order to remove data from the SourceBuffer audio 33991.828 33992.820399
SBI: removing data from SourceBuffer audio 33991.828 33992.820399
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 34003.820905 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33992.83|==19.17==|34012.00
              ^34003.820905 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33993.820905
SBI: receiving order to remove data from the SourceBuffer audio 33992.83066666667 33993.820905
SBI: removing data from SourceBuffer audio 33992.83066666667 33993.820905
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 34004.825656 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33993.83|==18.17==|34012.00
              ^34004.825656 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33994.825656
SBI: receiving order to remove data from the SourceBuffer audio 33993.833333333336 33994.825656
SBI: removing data from SourceBuffer audio 33993.833333333336 33994.825656
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SBI: receiving order to push data to the SourceBuffer video
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 34005.82338 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33994.84|==17.16==|34012.00
              ^34005.82338 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33995.82338
SBI: receiving order to remove data from the SourceBuffer audio 33994.836 33995.82338
SBI: removing data from SourceBuffer audio 33994.836 33995.82338
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 34006.824603 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33995.84|==16.16==|34012.00
              ^34006.824603 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33996.824603
SBI: receiving order to remove data from the SourceBuffer audio 33995.83866666667 33996.824603
SBI: removing data from SourceBuffer audio 33995.83866666667 33996.824603
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 34007.824278 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33996.84|==15.16==|34012.00
              ^34007.824278 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33997.824278
SBI: receiving order to remove data from the SourceBuffer audio 33996.84133333333 33997.824278
SBI: removing data from SourceBuffer audio 33996.84133333333 33997.824278
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 34008.824302 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33997.84|==14.16==|34012.00
              ^34008.824302 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33998.824302
SBI: receiving order to remove data from the SourceBuffer audio 33997.844 33998.824302
SBI: removing data from SourceBuffer audio 33997.844 33998.824302
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 34009.874528 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33998.83|==13.17==|34012.00
              ^34009.874528 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 33999.874528
SBI: receiving order to remove data from the SourceBuffer audio 33998.825333333334 33999.874528
SBI: removing data from SourceBuffer audio 33998.825333333334 33999.874528
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 34010.913911 seeking 0 internalSeek false rebuffering false freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
33999.89|==12.11==|34012.00
              ^34010.913911 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34000.913911
SBI: receiving order to remove data from the SourceBuffer audio 33999.892 34000.913911
SBI: removing data from SourceBuffer audio 33999.892 34000.913911
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 1 readyState 3 pendingPosition null
API: current playback timeline:
34000.92|==11.08==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
Init: Pause playback to build buffer
API: playerStateChange event BUFFERING
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
SBI: receiving order to remove data from the SourceBuffer audio 34000.916 34001.86
SBI: removing data from SourceBuffer audio 34000.916 34001.86
API: current media element state tick event ratechange position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34000.92|==11.08==|34012.00
              ^34011.86 
ratechange
---> Sending to Worker: observation
SBI: receiving order to push data to the SourceBuffer audio
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
SBI: receiving order to remove data from the SourceBuffer audio 34000.916 34001.86
SBI: pushing segment audio
---> Sending to Worker: sb-success
SBI: removing data from SourceBuffer audio 34000.916 34001.86
---> Sending to Worker: sb-success
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
---> Sending to Worker: sb-success
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
---> Sending to Worker: sb-success
SBI: receiving order to push data to the SourceBuffer video
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate
---> Sending to Worker: observation
SBI: receiving order to remove data from the SourceBuffer video 33982.88 34001.86
API: current media element state tick event timeupdate position 34011.86 seeking 0 internalSeek false rebuffering true freezing false ended false paused false playbackRate 0 readyState 3 pendingPosition null
API: current playback timeline:
34001.88|==10.12==|34012.00
              ^34011.86 
timeupdate

Could you please help check on this. Thanks in advance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions