IP Library Granted Patent US 10,531,149
Granted Patent B2
US 10,531,149 · App. 15/815,527 · Granted Jan 7, 2020

Method and system for managing buffers

Inventors: Li Zeng (Hangzhou, CN); Aihua Zhao (Hangzhou, CN); Jiangwei Li (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
H04N21/44004G11B20/10527G11B27/34H04N19/423H04N19/44
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,531,149
App. No.
15/815,527
Granted
Jan 7, 2020
Kind
B2
Abstract

Rendering video is disclosed including responding to an access request from a video data provider using a first video buffer queue corresponding to a first rendering technique, receiving a request to change the first rendering technique to a second rendering technique, and switching the first video buffer queue for the access request to a second video buffer queue corresponding to the second rendering technique, the first video buffer queue and the second video buffer queue being concurrent.

Claims (66)

1. A method, comprising:

responding to an access request from a video data provider using a first video buffer queue corresponding to a first rendering technique;

receiving a request to change the first rendering technique to a second rendering technique;

adding a buffer unit in the first video buffer queue to a second video buffer queue; and

switching the first video buffer queue for the access request to the second video buffer queue corresponding to the second rendering technique, wherein the first video buffer queue and the second video buffer queue are concurrently utilized to play video, and wherein the first video buffer queue and the second video buffer queue share buffer units.

2. The method as described in claim 1 , wherein the switching the first video buffer queue for the access request to the second video buffer queue comprises:

setting a flag to indicate that the second video buffer queue is used as a response queue.

3. The method as described in claim 1 , wherein:

the first rendering technique comprises a SurfaceView rendering technique; and

the second rendering technique comprising a TextureView rendering technique.

4. The method of claim 1 , wherein:

the first rendering technique comprises a TextureView rendering technique; and

the second rendering technique comprising a SurfaceView rendering technique.

5. The method as described claim 1 , wherein the video data provider comprises a video decoder.

6. A method, comprising:

responding to an access request from a video data provider using a first video buffer queue corresponding to a first rendering technique;

receiving a request to change the first rendering technique to a second rendering technique;

adding a buffer unit in the first video buffer queue to a second video buffer queue;

retaining a filled buffer unit in the second video buffer queue; and

switching the first video buffer queue for the access request to the second video buffer queue corresponding to the second rendering technique, wherein the first video buffer queue and the second video buffer queue are concurrently utilized to play video, and wherein the first video buffer queue and the second video buffer queue share buffer units.

7. A method, comprising:

responding to an access request from a video data provider using a first video buffer queue corresponding to a first rendering technique;

receiving a request to change the first rendering technique to a second rendering technique;

replicating data in filled buffer units in the first video buffer queue into empty buffer units in a second video buffer queue;

upon completing replication, setting the corresponding empty buffer units in the second video buffer queue to filled buffer units; and

switching the first video buffer queue for the access request to the second video buffer queue corresponding to the second rendering technique, wherein the first video buffer queue and the second video buffer queue are concurrently utilized to play video, wherein the first video buffer queue and the second video buffer queue share buffer units.

8. A method, comprising:

responding to an access request from a video data provider using a first video buffer queue corresponding to a first rendering technique, wherein the access request from the video data provider comprises: an exit of an empty buffer unit from the first video buffer queue and an entry of a filled buffer unit into the first video buffer queue;

receiving a request to change the first rendering technique to a second rendering technique; and

switching the first video buffer queue for the access request to a second video buffer queue corresponding to the second rendering technique, wherein the first video buffer queue and the second video buffer queue are concurrently utilized to play video.

9. A system, comprising:

a hardware processor; and

a memory coupled with the hardware processor, wherein the memory is configured to provide the hardware processor with instructions which when executed cause the hardware processor to:

respond to an access request from a video data provider using a first video buffer queue corresponding to a first rendering technique;

receive a request to change the first rendering technique to a second rendering technique;

add a buffer unit in the first video buffer queue to a second video buffer queue; and

switch the first video buffer queue for the access request to the second video buffer queue corresponding to the second rendering technique, wherein the first video buffer queue and the second video buffer queue are concurrently utilized to play video, and wherein the first video buffer queue and the second video buffer queue share buffer units.

10. The system as described in claim 9 , wherein the switching of the first video buffer queue for the access request to the second video buffer queue comprises to:

set a flag to indicate that the second video buffer queue is used as a response queue.

11. The system as described in claim 9 , wherein:

the first rendering technique comprises a SurfaceView rendering technique; and

the second rendering technique comprising a TextureView rendering technique.

12. The system as described in claim 9 , wherein:

the first rendering technique comprises a TextureView rendering technique; and

the second rendering technique comprising a SurfaceView rendering technique.

13. A system, comprising:

a hardware processor; and

a memory coupled with the hardware processor, wherein the memory is configured to provide the hardware processor with instructions which when executed cause the hardware processor to:

respond to an access request from a video data provider using a first video buffer queue corresponding to a first rendering technique;

receive a request to change the first rendering technique to a second rendering technique;

add a buffer unit in the first video buffer queue to a second video buffer queue;

retain a filled buffer unit in the second video buffer queue; and

switch the first video buffer queue for the access request to the second video buffer queue corresponding to the second rendering technique, wherein the first video buffer queue and the second video buffer queue are concurrently utilized to play video, and wherein the first video buffer queue and the second video buffer queue share buffer units.

14. A system, comprising:

a hardware processor; and

a memory coupled with the hardware processor, wherein the memory is configured to provide the hardware processor with instructions which when executed cause the hardware processor to:

respond to an access request from a video data provider using a first video buffer queue corresponding to a first rendering technique;

receive a request to change the first rendering technique to a second rendering technique;

replicate data in filled buffer units in the first video buffer queue into empty buffer units in the second video buffer queue;

upon completing replication, set the corresponding empty buffer units in a second video buffer queue to filled buffer units; and

switch the first video buffer queue for the access request to the second video buffer queue corresponding to the second rendering technique, wherein the first video buffer queue and the second video buffer queue are concurrently utilized to play video, and wherein the first video buffer queue and the second video buffer queue share buffer units.

15. A computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

responding to an access request from a video data provider using a first video buffer queue corresponding to a first rendering technique;

receiving a request to change the first rendering technique to a second rendering technique;

adding a buffer unit in the first video buffer queue to a second video buffer queue; and

switching the first video buffer queue for the access request to the second video buffer queue corresponding to the second rendering technique, wherein the first video buffer queue and the second video buffer queue are concurrently utilized to play video, and wherein the first video buffer queue and the second video buffer queue share buffer units.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: BANMA ZHIXING NETWORK (HONGKONG) CO., LIMITED
Reel/Frame 054384/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2018
From: ZENG, LI; ZHAO, AIHUA; LI, JIANGWEI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 044835/0411 →
Priority Claims (1)
CN 2016 1 1021677 · Nov 21, 2016 · national
Continuity (1)
Related Publication 20180146243A1 · May 24, 2018