-
-
Notifications
You must be signed in to change notification settings - Fork 201
Buffering
CourvilleSoftware edited this page Nov 14, 2022
·
17 revisions
Buffering is handled in the native avos multimedia engine.
In order to debug av.sh
script can be used and av.sh smb
should display current max buffer size.
Buffer starvation should be handled via av.sh dbgv 2
to check fill rate.
-
avos_mp_video.c:avos_mp_video_open
stream_set_buffer_size(video->s, 48)
: streaming buffer size to adjust with resolution, peak bitrate... -
stream.h
VIDEO_MINDATA_SIZE
: to cope with video frames size (can be HUGE, needs to be increased with resolution increase) -
stream.h
STREAM_LARGE_BUFFER_SIZE
-
stream.h
STREAM_DEFAULT_BUFFER_SIZE
-
stream.h
stream_buffer_sec
-
stream.h
STREAM_MAX_FRAMES
-
stream.h
CHUNK_CACHE_MAX
-
stream.h
STREAM_INDEX_SIZE
-
avos_mp_video.c:avos_mp_video_open
stream_set_buffer_size(video->s, 48)
: 2022 24->48MB for 2x playback speed, 2015 12->24MB (20 NOK) for high bitrate 4k streaming. This is used as cache before parser to tackle buffering issues. -
stream.h
VIDEO_MINDATA_SIZE
: history 2019 *2 again for H264 4K peak rates -> 1024 * 1536 * 4, 2015 *2 for H265 4K -> 1024 * 1536 * 2, 2011 1024 * 1024 -> 1024 * 1536 for HD frames. Represents the max compressed iframe size to cope with macroblock or decoding errors. -
stream.h
STREAM_LARGE_BUFFER_SIZE
-
stream.h
STREAM_DEFAULT_BUFFER_SIZE
2011 without HDD we can stay at 20MB but 20->64 -
stream.h
stream_buffer_sec