Пример #1
0
static OMX_ERRORTYPE
pausetoidle_trans_complete (const void *ap_obj,
                            OMX_PTR ap_servant, OMX_STATETYPE a_new_state)
{
  const tiz_state_t *p_base = (const tiz_state_t *) ap_obj;

  TIZ_TRACE (handleOf (ap_obj),
            "Trans complete to state [%s]...",
            tiz_fsm_state_to_str (a_new_state));
  assert (OMX_StateIdle == a_new_state);

  assert (NULL != ap_obj);
  assert (NULL != ap_servant);
  assert (OMX_StateIdle == a_new_state);

  if (2 == p_base->servants_count_ + 1)
    {
      /* Reset the OMX_TIZONIA_PORTSTATUS_AWAITBUFFERSRETURN flag in all ports
         where this has been set */
      tiz_krn_reset_tunneled_ports_status
        (tiz_get_krn (handleOf(ap_servant)),
         OMX_TIZONIA_PORTSTATUS_AWAITBUFFERSRETURN);
    }

  return tiz_state_super_trans_complete (typeOf (ap_obj, "tizpausetoidle"), ap_obj, ap_servant,
                                        a_new_state);
}
Пример #2
0
static OMX_ERRORTYPE
loadedtoidle_trans_complete (const void * ap_obj, OMX_PTR ap_servant,
                             OMX_STATETYPE a_new_state)
{
  const tiz_state_t * p_base = (const tiz_state_t *) ap_obj;

  TIZ_TRACE (handleOf (ap_servant), "Trans complete to state [%s]...",
             tiz_fsm_state_to_str ((tiz_fsm_state_id_t) a_new_state));

  assert (ap_obj);
  assert (ap_servant);
  assert (OMX_StateIdle == a_new_state);

  if (2 == p_base->servants_count_ + 1)
    {
      /* Reset the OMX_PORTSTATUS_ACCEPTUSEBUFFER flag in all ports where this
       * has been set */
      tiz_krn_reset_tunneled_ports_status (tiz_get_krn (handleOf (ap_servant)),
                                           OMX_PORTSTATUS_ACCEPTUSEBUFFER);
    }

  return tiz_state_super_trans_complete (typeOf (ap_obj, "tizloadedtoidle"),
                                         ap_obj, ap_servant, a_new_state);
}