Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Gliffy Diagram
nameCommunication Control Flow
pagePin1
Table of Contents

Introduction

The purpose of this document is to simplify some of the terms, descriptions, and mechanisms of the GStreamer core. It will, initially, serve as a foundation to help model and test the GStreamer implementation in the RDK/HAL system.

Gliffy Diagramdrawio
diagramNameGstreamer.drawio
revision
macroId23fea3dd-042f-4440-87c9-69303bc42ed2
nameGstreamer
pagePin1

This document describe the details of the following,

...

  • Adheres to GObject (Glib 2.0)
  • Uses signals and object properties

Architecture

draw.io Diagram
diagramName
Gliffy Diagram
macroIdd33e0f18-7df2-4f19-b961-ec37c1fb994c
nameGStreamer Architecture.drawio
pagePinrevision1

GST-Element

  • Has one specific function (read, decode, ...)
  • Has two Pads:
    1. source (output)
    2. sink (input)
  • GStreamer core views elements as blocks of bytes
  • Linked or chained elements create a pipeline that performs a specific task

Gliffy Diagramdrawio
diagramName
macroId04a0e411-e99f-4ab9-9dbc-92f3087872c8
nameGST Element Link.drawio
pagePinrevision1

GST-Element Pad

Is defined by two properties:

...

  1. Downstream : src element to sink element
  2. Upstream: sink element to src element

draw.io Diagram
diagramNameCommunication Control Flow.drawio
revision1
Image Removed

Buffer

Actual media data.

A simple buffer consists of:

  • Pointers to memory objects.
  • Timestamp
  • Reference count
  • Flags

Events

Control information.

Messages

Information on elements or pipeline.

A message consist of:

  • Source
  • Type
  • Timestamp

Queries

Request for a specific stream property related to progress tracking.

...

These 3 types of elements create a simple GST-Pipeline.

draw.io Diagram
diagramNamepipeline.drawio
revision
Image Removed
1

Pipelining is an implementation technique whereby multiple instructions are overlapped in execution; it takes advantage of parallelism that exists among the actions needed to execute an instruction. 

...