GStreamer Daemon - Low-level Implementation for Applications

From RidgeRun Developer Connection
Jump to: navigation, search


Previous: Enabling the Debug Subsystem Index Next: Response Format




This wiki shows how to use the low-level implementation in the applications. Sometimes the CRUD API is important in application where the human doesn't have the control, that API allows creating custom functions (more information on the gstd API). The figure below shows how to create a command using a low level.

GStreamer Daemon CRUD Low-level Implementation

low-level CRUD is like a tree, all the command is on the resources tree like the figure above, in that case, we can build our own URI for each resource. For example, we can take the branch for the create a pipeline as follows:

command        <URI>           <description if apply>
   |             |                       |
   V             V                       V
create     /pipelines/p      videotestsrc ! autovideosink

The low-level has the acronym CRUD:

  • Create
  • Read
  • Update
  • Delete

Create

Make a new create call using the URI with the name of the parameter and the description, it can change according to the context to create. ie: event or pipeline.

A new create call using the command shown below.

 create <URI> <description> 


For example:
Gstd Commands:

1 create /pipelines p1 videotestsrc ! autovideosink

Create a pipeline p1 using low-level

Read

Make a new read call using the URI with the name of the parameter.

A new read call using the command shown below.

 read <URI>  


For example:
Gstd Commands:

1 read /pipelines

read a pipelines (list the pipelines) using low-level


Update

Make a new update call using the URI with the name of the parameter and the description, it can change according to the context to create. ie: pipeline, bus timeout, debug, and elements.

A new update call using the command shown below.

 update <URI> <description> 


For example:
Gstd Commands:

1 update /pipelines/p1/state playing

Update the state of the pipeline p1 to playing using low-level

Delete

Make a new delete call using the URI with the name of the resource to delete.

A new delete call using the command shown below.

 delete <URI>  


For example:
Gstd Commands:

1 delete /pipelines/ p1

delete a pipeline p1 using low-level


Previous: Enabling the Debug Subsystem Index Next: Response Format