★ PROGRAMMER'S GUIDE ★ Branch playback library Figure 3.1 Processing flow
Figure 3.2 Stream branching
[Notes] The same stream must not exist in one branch candidate. This is because opening the same stream with a different stream handle does not read the data at the same time. A stream that is opened later is connected to the end of the aperture, so data can be retrieved from the stream that was opened earlier. Therefore, the same stream as it is now can exist in the branch candidates. << Example in Figure 3.2 >> -The same stream must not be duplicated in bstm6-8, You can have the same stream as bstm2.
Status | explanation |
|---|---|
Branch playback end | Branch playback is complete. |
Waiting for branch destination selection | The branch candidate is pre-read, but the branch destination is not selected. |
Branch destination decision | A branch destination has been selected from the branch candidates. |
No branch destination | There are no branch candidates or branch destinations for the current stream. |
Figure 3.3 State transition diagram of branch playback
Branch stream | Before branch execution | After branch execution (after switching process) |
|---|---|---|
Current stream (obtained by BPL_GetCurStm function) | A | B |
Branch destination stream (obtained by BPL_GetNextStm function) | B | Undecided until the next branch destination is selected (select / determine with BPL_SelectBranch function) |
timing | explanation |
|---|---|
Natural switching | After decoding stream A, switch to stream B at the branch destination. |
Forced switching | Even during the decoding of stream A, it is forcibly switched to stream B of the branch destination. |
★ PROGRAMMER'S GUIDE ★ Branch playback library