OMX Component suspension should be viewed not only as an interaction
between OMX component and OXM client,
but from the perspective of the overall system design.

I.e. should the underlying low-level components be the ones to detect
resource pre-emption and propagate the suspension request from the
"bottom-up" to the Opencore framework and application layer?

Or should the application/player should be aware of resouce preemption
and inform the underlying framework/codec compoents (say, by issuing a
pause) before this preemption happens.

OpenCore framework reacts to the OMX_ErrorComponentSuspended error
event as it does with most error events reported from OMX component.
The error event is reported to the higher layers (player engine/app)
which initiate the current playback tear-down in this case.  This
results in stopping and resetting the OpenCore framework (i.e.
transitioning the underlying OMX component into Idle and then Loaded
state - and finally freeing the OMX component handle).

The OMX component needs to be able to transition to idle and then to
loaded state even if it is suspended (i.e. in the paused state due to
suspension) - as stated in section 2.1.17.6 of OMX Spec IL 1.1.2:

"IL client may perform any of the normal state transitions on a
suspended component with the following exception: a client may not
transition a suspended component into the Executing state."

If the underlying omx component is capable of transitioning to idle,
and then to loaded state (even if it is suspended) - there should not
be a problem nor would it cause a crash.


On Feb 25, 8:48 pm, hdandroid <[email protected]> wrote:
> Looks like OpenCore does not allow component suspension. We need to
> enable this policy to handle the case of resource preemption with HW
> codecs. Looking for support on OMX call flow for the entire section
> 3.1.2.6.3 on  "Suspension Due to Pre-emption of Resources"
>
> Cupcake OpenCore crashes when OMX_ErrorComponentSuspended event is
> reported by OMX component.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to