@startuml
autonumber
box "Container" #LightGreen
participant Netflix
participant "DPI\n(IElementaryStreamAudioPlayer)" as DPI
participant rialtoClient
end box
Netflix -> DPI: disable()
DPI --> Netflix:
Netflix -> DPI: flush()
DPI -> rialtoClient: removeSourceflush(current_audio_src_id)
rialtoClient --> DPI:
DPI --> Netflix:
Netflix -> DPI: enable()
DPI --> Netflix:
Netflix -> DPI: firstSampleAvailable()
DPI --> Netflix:
opt First media sample after firstSampleAvailable() called
DPI --/ Netflix: getNextMediaSample()
Netflix -> DPI: write(sample)
note right: ISampleWriter detail skipped for clarity
DPI -> DPI: Convert sample info to rialto::mediaSource
DPI -> rialtoClient: attachSourceswitchSource(mediaSource)
rialtoClient --> DPI:
DPI --> Netflix:
end
@enduml |