Versions Compared

Key

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

...

PlantUML Macro
formatSVG
titlePush Data Algorithm
@startuml

autonumber

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

loop data available in web audio shm region

rialtoServer       ->  GStreamer_server:  gst_app_src_get_current_level_bytes(src)
GStreamer_server   --> rialtoServer: bytes_in_gst_queue
rialtoServer       ->  rialtoServer: gst_buffer_new_allocate(size)
GStreamer_server   --> rialtoServer: gst_buffer
note right: size of gst_buffer either free_bytes in src or size of samples in shm
note right: This will need to perform endianness conversion if necessary 
rialtoServer       ->   GStreamer_server: gst_buffer_new_allocate(size)
GStreamer_server   --> rialtoServer: gst_buffer
rialtoServer       ->  GStreamer_server:  gst_app_src_push_buffer(src, gst_buffer)
rialtoServer       ->  rialtoServer:      Update internal shm variables for consumed data

opt Appsrc data exhausted from shm && internal EOS flag set
rialtoServer       ->  GStreamer_server:  notify EOS
end

end

@enduml

...