Concurrent Video Buffer Queue Switching for Seamless Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional video-playing techniques experience interruptions and reduced efficiency when switching between different rendering techniques, as they require destroying and recreating video buffer queues and allocating new memory, leading to a non-smooth video playback experience.

Innovation Solution

Implementing a system that manages two video buffer queues concurrently, allowing for seamless switching between rendering techniques without the need to destroy or recreate queues, thereby maintaining continuous video playback and reducing developer workload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the current BufferQueue is destroyed and a new BufferQueue is created when switching rendering techniques, then the rendering technique can be changed, but the video playback becomes interrupted and non-smooth

Engineering Contradiction:
Improverendering technique switching capabilityVSAvoidvideo playback smoothness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system pre-allocates and prepares multiple BufferQueue objects (at least two) in advance, each bound to different rendering techniques. When a rendering technique switch is needed, the system simply switches to the pre-prepared BufferQueue corresponding to the target technique, avoiding the need to destroy and recreate the queue during playback.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces a buffer management unit as an intermediary layer between the video decoder and the rendering consumers. This management unit maintains multiple BufferQueue objects and handles the switching logic, allowing seamless transitions between rendering techniques without affecting the video data flow or playback continuity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the current BufferQueue is destroyed and a new BufferQueue is created when switching rendering techniques, then the rendering technique can be changed, but additional operations to create new BufferQueue and allocate memory are performed, affecting execution efficiency

Engineering Contradiction:
Improverendering technique switching capabilityVSAvoidexecution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system pre-allocates and prepares multiple BufferQueue objects (at least two) in advance, each bound to different rendering techniques. When a rendering technique switch is needed, the system simply switches to the pre-prepared BufferQueue corresponding to the target technique, avoiding the need to destroy and recreate the queue during playback.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If a single BufferQueue is bound to a specific consumer, then the binding is stable, but switching rendering techniques requires destroying the current BufferQueue and creating a new one

Engineering Contradiction:
ImproveBufferQueue-consumer binding stabilityVSAvoidrendering technique switching capability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The system segments the buffer management functionality by creating multiple independent BufferQueue objects, each bound to a specific consumer for a specific rendering technique. The buffer management unit acts as a coordinator that switches between these segmented queues, maintaining stable bindings within each queue while enabling flexibility at the management level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a buffer management unit as an intermediary layer between the video decoder and the rendering consumers. This management unit maintains multiple BufferQueue objects and handles the switching logic, allowing seamless transitions between rendering techniques without affecting the video data flow or playback continuity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10531149B2Method and system for managing buffers
Publication Date: 2020.01.07 BANMA ZHIXING NETWORK HONGKONG CO LTD
  • US10531149B2 patent drawing
  • US10531149B2 patent drawing
  • US10531149B2 patent drawing

AI summary

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.