Versions Compared

Key

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

...

PlantUML Macro
formatSVG
titleAudio Stream Switching: Netflix C++ integration
@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