An electronic device (100, 300, 400), comprising: a front-end stream buffer (120, 320, 325) for buffering a plurality of video data units of a video stream, the video stream comprising a plurality of subordinate video streams interleaved therein; characterized by: a plurality of back-end video buffers (140, 145), each being configured to buffer video information contained in one of the subordinate video streams; and a de-multiplexer (130, 330, 335), coupled to the front-end stream buffer (120, 320, 325) and the back-end video buffers (140, 145), configured to: fetch the video information of the video data units buffered in the front-end stream buffer (120, 320, 325) and pass the fetched video information to the corresponding back-end video buffers (140, 145); determine whether it is blocked from fetching the video information of the first video data unit by checking whether a corresponding one of the back-end video buffers (140, 145) has sufficient space remaining for buffering the video information of first video data unit; and skip accessing a first video data unit buffered in the front-end stream buffer (120, 320, 325) and instead fetch video information of a second video data unit buffered in the front-end stream buffer (120, 320, 325) when being blocked from fetching the video information of the first video data unit; wherein, while the first video data unit is being skipped, the first video data unit is still buffered in the front-end stream buffer (120, 320, 325) for further processing; wherein the first video data unit and the second video data unit belong to two different streams of the subordinate video streams. a front-end stream buffer (120, 320, 325) for buffering a plurality of video data units of a video stream, the video stream comprising a plurality of subordinate video streams interleaved therein; characterized by: a plurality of back-end video buffers (140, 145), each being configured to buffer video information contained in one of the subordinate video streams; and a de-multiplexer (130, 330, 335), coupled to the front-end stream buffer (120, 320, 325) and the back-end video buffers (140, 145), configured to: fetch the video information of the video data units buffered in the front-end stream buffer (120, 320, 325) and pass the fetched video information to the corresponding back-end video buffers (140, 145); determine whether it is blocked from fetching the video information of the first video data unit by checking whether a corresponding one of the back-end video buffers (140, 145) has sufficient space remaining for buffering the video information of first video data unit; and skip accessing a first video data unit buffered in the front-end stream buffer (120, 320, 325) and instead fetch video information of a second video data unit buffered in the front-end stream buffer (120, 320, 325) when being blocked from fetching the video information of the first video data unit; wherein, while the first video data unit is being skipped, the first video data unit is still buffered in the front-end stream buffer (120, 320, 325) for further processing; wherein the first video data unit and the second video data unit belong to two different streams of the subordinate video streams. a plurality of back-end video buffers (140, 145), each being configured to buffer video information contained in one of the subordinate video streams; and a de-multiplexer (130, 330, 335), coupled to the front-end stream buffer (120, 320, 325) and the back-end video buffers (140, 145), configured to: fetch the video information of the video data units buffered in the front-end stream buffer (120, 320, 325) and pass the fetched video information to the corresponding back-end video buffers (140, 145); determine whether it is blocked from fetching the video information of the first video data unit by checking whether a corresponding one of the back-end video buffers (140, 145) has sufficient space remaining for buffering the video information of first video data unit; and skip accessing a first video data unit buffered in the front-end stream buffer (120, 320, 325) and instead fetch video information of a second video data unit buffered in the front-end stream buffer (120, 320, 325) when being blocked from fetching the video information of the first video data unit; wherein, while the first video data unit is being skipped, the first video data unit is still buffered in the front-end stream buffer (120, 320, 325) for further processing; wherein the first video data unit and the second video data unit belong to two different streams of the subordinate video streams. fetch the video information of the video data units buffered in the front-end stream buffer (120, 320, 325) and pass the fetched video information to the corresponding back-end video buffers (140, 145); determine whether it is blocked from fetching the video information of the first video data unit by checking whether a corresponding one of the back-end video buffers (140, 145) has sufficient space remaining for buffering the video information of first video data unit; and skip accessing a first video data unit buffered in the front-end stream buffer (120, 320, 325) and instead fetch video information of a second video data unit buffered in the front-end stream buffer (120, 320, 325) when being blocked from fetching the video information of the first video data unit; wherein, while the first video data unit is being skipped, the first video data unit is still buffered in the front-end stream buffer (120, 320, 325) for further processing; wherein the first video data unit and the second video data unit belong to two different streams of the subordinate video streams.