Versions Compared

Key

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

...

PlantUML Render Macro
formatSVG
titlesetLowLatency

@startuml
autonumber

box "Container" #LightGreen
participant GStreamer_client
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant GStreamer_server
end box


GStreamer_client  ->  rialtoClient:     setLowLatency(pipeline_session, lowLatency)
rialtoClient      ->  rialtoServer:     setLowLatency(pipeline_session, lowLatency)
rialtoServer      ->  GStreamer_server: getAudioSink(pipeline_session)
GStreamer_server  --> rialtoServer:     audioSink
rialtoServer      ->  GStreamer_server: g_object_set(pipelineaudioSink, "low-latency", lowLatency, nullptr)
GStreamer_server  --> rialtoServer:     status
rialtoServer      --> rialtoClient:     status
rialtoClient      --> GStreamer_client: nothing returned
@enduml

...

PlantUML Render Macro
formatSVG
titlegetSync

@startuml
autonumber

box "Container" #LightGreen
participant GStreamer_client
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant GStreamer_server
end box


GStreamer_client  ->  rialtoClient:     getSync(pipeline_session, source_id)
rialtoClient      ->  rialtoServer:     getSync(pipeline_session, source_id))
rialtoServer      ->  GStreamer_server: getAudioSink(pipeline_session)
GStreamer_server  --> rialtoServer:     audioSink
rialtoServer      ->  GStreamer_server: g_object_get(pipelineaudioSink, "sync", &sync, nullptr)
GStreamer_server  --> rialtoServer:    sync
rialtoServer      --> rialtoClient:    sync
rialtoClient      --> GStreamer_client: sync
@enduml

...

PlantUML Render Macro
formatSVG
titlesetSync

@startuml
autonumber

box "Container" #LightGreen
participant GStreamer_client
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant GStreamer_server
end box


GStreamer_client  ->  rialtoClient:     setSync(pipeline_session, sync)
rialtoClient      ->  rialtoServer:     setSync(pipeline_session, sync)
rialtoServer      ->  GStreamer_server: g_getAudioSink(pipeline_session)
GStreamer_server  --> rialtoServer:     audioSink
rialtoServer      ->  GStreamer_server: g_object_set(pipelineaudioSink, "sync", sync, nullptr)
GStreamer_server  --> rialtoServer:     status
rialtoServer      --> rialtoClient:     status
rialtoClient      --> GStreamer_client: nothing returned
@enduml

Code Block
languagecpp
titleExample rialto-gstreamer client code
gboolean sync{TRUE}; // The desired setting
# NOTE: The "sync" property will only be available if it's supported by the hardware
g_object_set(audioSink, "sync", sync, nullptr);

Sync Off

API for setting the "sync-off" property 

PlantUML Render Macro
formatSVG
titlesetSyncOff

@startuml
autonumber

box "Container" #LightGreen
participant GStreamer_client
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant GStreamer_server
end box


GStreamer_client  ->  rialtoClient:     setSyncOff(pipeline_session, syncOff)
rialtoClient      ->  rialtoServer:     setSyncOff(pipeline_session, syncOff)
rialtoServer      ->  GStreamer_server: getAudioDecoder(pipeline_session)
GStreamer_server  --> rialtoServer:     audioDecoder
rialtoServer      ->  GStreamer_server: g_object_set(audioDecoder, "sync-off",syncOff, nullptr)
GStreamer_server  --> rialtoServer:     status
rialtoServer      --> rialtoClient:     status
rialtoClient      --> GStreamer_client: nothing returned
@enduml

Code Block
languagecpp
titleExample rialto-gstreamer client code
gboolean syncOff{TRUE}; // The desired setting
# NOTE: The "sync-off" property will only be available if it's supported by the hardware
g_object_set(audioDecoder, "sync-off", syncOff, nullptr);

Stream Sync Mode

API for setting and getting the "stream-sync-mode" property

PlantUML Render Macro
formatSVG
titlegetStreamSyncMode

@startuml
autonumber

box "Container" #LightGreen
participant GStreamer_client
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant GStreamer_server
end box


GStreamer_client  ->  rialtoClient:     getStreamSyncMode(pipeline_session)
rialtoClient      ->  rialtoServer:     getStreamSyncMode(pipeline_session)
rialtoServer      ->  GStreamer_server: getAudioDecoder(pipeline_session)
GStreamer_server  --> rialtoServer:     audioDecoder
rialtoServer      ->  GStreamer_server: g_object_get(audioDecoder, "stream-sync-mode", &streamSyncMode, nullptr)
GStreamer_server  --> rialtoServer:   streamSyncMode
rialtoServer      --> rialtoClient:   streamSyncMode
rialtoClient      --> GStreamer_client: streamSyncMode
@enduml

Code Block
languagecpp
titleExample rialto-gstreamer client code
gboolean sync{TRUE};
# NOTE: The "stream-sync-mode" property will only be available if it's supported by the hardware
g_object_get(audioDecoder, "stream-sync-mode", &streamSyncMode, nullptr);


PlantUML Render Macro
formatSVG
titlesetSync

@startuml
autonumber

box "Container" #LightGreen
participant GStreamer_client
participant rialtoClient
end box

box "Platform" #LightBlue
participant rialtoServer
participant GStreamer_server
end box


GStreamer_client  ->  rialtoClient:     setSync(pipeline_session, streamSyncMode)
rialtoClient      ->  rialtoServer:     setSync(pipeline_session, streamSyncMode)
rialtoServer      ->  GStreamer_server: getAudioDecoder(pipeline_session)
GStreamer_server  --> rialtoServer:     audioDecoder
rialtoServer      ->  GStreamer_server: g_object_set(audioDecoder, "stream-sync-mode" ,streamSyncMode, nullptr)
GStreamer_server  --> rialtoServer:     status
rialtoServer      --> rialtoClient:     status
rialtoClient      --> GStreamer_client: nothing returned
@enduml

Code Block
languagecpp
titleExample rialto-gstreamer client code
gboolean sync{TRUE}; // The desired setting
# NOTE: The "streamSyncMode" property will only be available if it's supported by the hardware
g_object_set(audioDecoder, "stream-sync-mode", streamSyncMode, nullptr);

Mute

API for setting and getting the mute setting for a pipeline session.

...