Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- title Interface acquired from Component
- participant "C2Client" as Client
- participant "C2ComponentStore" as Store
- participant "C2ComponentInterface" as Intf
- participant "C2Component" as Comp
- participant "KernelDriver" as Driver
- Client -> +Store : createComponent("qcom.avc.decoder")
- Store -> Comp : create
- Comp -> Driver : open
- Comp -> Intf : create
- Store --> -Client :
- Client -> Comp : intf()
- Comp --> Client : return interface-handle
- note left of Client : enumerate supported params
- Client -> Intf : getSuppotedParams
- Intf --> Client : list of supported params
- Client -> Intf : getSuppotedValues
- Intf --> Client : list of supported values
- note left of Client : query parameters
- Client -> +Intf : query_nb()
- note right of Intf : query is not\nrouted to component
- Intf --> -Client : populate heap and stack params
- note left of Client : configure component
- Client -> +Intf : config_nb()
- Intf -> Comp : config()
- Comp -> Driver : set-controls
- Driver --> Comp : return failures (unlikely)
- Comp --> Intf :
- Intf --> Intf : update C2SettingResult
- Intf --> -Client :
- note left of Client : commit_sm()
- Client -> +Intf : commit_sm()
- Intf -> Comp : commit
- Comp -> Driver : reserve
- Intf --> -Client :
- Client -> Comp : start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement