static OMX_ERRORTYPE httpr_mp3port_SetParameter (const void *ap_obj,
                                                 OMX_HANDLETYPE ap_hdl,
                                                 OMX_INDEXTYPE a_index,
                                                 OMX_PTR ap_struct)
{
  httpr_mp3port_t *p_obj = (httpr_mp3port_t *)ap_obj;
  OMX_ERRORTYPE rc = OMX_ErrorNone;

  TIZ_TRACE (ap_hdl, "[%s]...", tiz_idx_to_str (a_index));

  assert (NULL != p_obj);

  if (OMX_TizoniaIndexParamIcecastMountpoint == a_index)
    {
      memcpy (&(p_obj->mountpoint_), ap_struct,
              sizeof(OMX_TIZONIA_ICECASTMOUNTPOINTTYPE));
      p_obj->mountpoint_.cStationName[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      p_obj->mountpoint_.cStationDescription[OMX_MAX_STRINGNAME_SIZE - 1]
          = '\000';
      p_obj->mountpoint_.cStationGenre[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      p_obj->mountpoint_.cStationUrl[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      TIZ_TRACE (ap_hdl, "Station Name [%s]...",
                 p_obj->mountpoint_.cStationName);
    }
  else
    {
      /* Try the parent's indexes */
      rc = super_SetParameter (typeOf (ap_obj, "httprmp3port"), ap_obj, ap_hdl,
                               a_index, ap_struct);
    }

  return rc;
}
static OMX_ERRORTYPE
loadedtoidle_SetParameter (const void * ap_obj, OMX_HANDLETYPE ap_hdl,
                           OMX_INDEXTYPE a_index, OMX_PTR ap_struct)
{
  /* In this transitional state, OMX_SetParameter should only be allowed */
  /* until the first OMX_UseBuffer call is received */
  TIZ_TRACE (ap_hdl, "[%s]", tiz_idx_to_str (a_index));

  return super_SetParameter (typeOf (ap_obj, "tizloadedtoidle"), ap_obj, ap_hdl,
                             a_index, ap_struct);
}
示例#3
0
static OMX_ERRORTYPE
binaryport_SetParameter (const void * ap_obj, OMX_HANDLETYPE ap_hdl,
                         OMX_INDEXTYPE a_index, OMX_PTR ap_struct)
{
  tiz_binaryport_t * p_obj = (tiz_binaryport_t *) ap_obj;
  OMX_ERRORTYPE rc = OMX_ErrorNone;

  TIZ_TRACE (ap_hdl, "PORT [%d] SetParameter [%s]...", tiz_port_index (ap_obj),
             tiz_idx_to_str (a_index));
  assert (p_obj);

  switch (a_index)
    {
      case OMX_IndexParamAudioPortFormat:
      case OMX_IndexParamVideoPortFormat:
      case OMX_IndexParamImagePortFormat:
      case OMX_IndexParamOtherPortFormat:
        {
          /* Delegate to the domain-specific port */
          if (OMX_ErrorUnsupportedIndex
              != (rc = tiz_api_SetParameter (p_obj->p_port_, ap_hdl, a_index,
                                             ap_struct)))
            {
              return rc;
            }
        }

      /* NOTE: Fall through if GetParameter returned
       * OMX_ErrorUnsupportedIndex. So that we delegate to the parent */
      /*@fallthrough@*/
      default:
        {
          /* Delegate to the base port */
          rc = super_SetParameter (typeOf (ap_obj, "tizbinaryport"), ap_obj,
                                   ap_hdl, a_index, ap_struct);
        }
    };

  return rc;
}
static OMX_ERRORTYPE
spfysrc_cfgport_SetParameter (const void *ap_obj,
                           OMX_HANDLETYPE ap_hdl,
                           OMX_INDEXTYPE a_index, OMX_PTR ap_struct)
{
  spfysrc_cfgport_t *p_obj = (spfysrc_cfgport_t *) ap_obj;
  OMX_ERRORTYPE rc = OMX_ErrorNone;

  assert (NULL != p_obj);

  TIZ_TRACE (ap_hdl, "PORT [%d] GetParameter [%s]...", tiz_port_index (ap_obj),
             tiz_idx_to_str (a_index));

  if (OMX_TizoniaIndexParamAudioSpotifySession == a_index)
    {
      memcpy (&(p_obj->spotifysession_), ap_struct,
              sizeof(OMX_TIZONIA_AUDIO_PARAM_SPOTIFYSESSIONTYPE));
      p_obj->spotifysession_.cUserName[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      p_obj->spotifysession_.cUserPassword[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      TIZ_TRACE (ap_hdl, "Spotify User Name [%s]...",
                 p_obj->spotifysession_.cUserName);
    }
  else if (OMX_TizoniaIndexParamAudioSpotifyPlaylist == a_index)
    {
      memcpy (&(p_obj->playlist_), ap_struct,
              sizeof(OMX_TIZONIA_AUDIO_PARAM_SPOTIFYPLAYLISTTYPE));
      p_obj->playlist_.cPlaylistName[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      TIZ_TRACE (ap_hdl, "Spotify playlist [%s]...",
                 p_obj->playlist_.cPlaylistName);
    }
  else
    {
      /* Delegate to the base port */
      rc = super_SetParameter (typeOf (ap_obj, "spfysrccfgport"),
                               ap_obj, ap_hdl, a_index, ap_struct);
    }

  return rc;
}
static OMX_ERRORTYPE
scloud_cfgport_SetParameter (const void * ap_obj, OMX_HANDLETYPE ap_hdl,
                             OMX_INDEXTYPE a_index, OMX_PTR ap_struct)
{
  scloud_cfgport_t * p_obj = (scloud_cfgport_t *) ap_obj;
  OMX_ERRORTYPE rc = OMX_ErrorNone;

  assert (p_obj);

  TIZ_TRACE (ap_hdl, "PORT [%d] GetParameter [%s]...", tiz_port_index (ap_obj),
             tiz_idx_to_str (a_index));

  if (OMX_TizoniaIndexParamAudioSoundCloudSession == a_index)
    {
      memcpy (&(p_obj->session_), ap_struct,
              sizeof (OMX_TIZONIA_AUDIO_PARAM_SOUNDCLOUDSESSIONTYPE));
      p_obj->session_.cUserName[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      p_obj->session_.cUserPassword[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      p_obj->session_.cUserOauthToken[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      TIZ_TRACE (ap_hdl, "SoundCloud User's OAuth Token [%s]...",
                 p_obj->session_.cUserOauthToken);
    }
  else if (OMX_TizoniaIndexParamAudioSoundCloudPlaylist == a_index)
    {
      memcpy (&(p_obj->playlist_), ap_struct,
              sizeof (OMX_TIZONIA_AUDIO_PARAM_SOUNDCLOUDPLAYLISTTYPE));
      p_obj->playlist_.cPlaylistName[OMX_MAX_STRINGNAME_SIZE - 1] = '\000';
      TIZ_TRACE (ap_hdl, "SoundCloud playlist [%s]...",
                 p_obj->playlist_.cPlaylistName);
    }
  else
    {
      /* Delegate to the base port */
      rc = super_SetParameter (typeOf (ap_obj, "scloudcfgport"), ap_obj, ap_hdl,
                               a_index, ap_struct);
    }

  return rc;
}
static OMX_ERRORTYPE
cc_plex_cfgport_SetParameter (const void * ap_obj, OMX_HANDLETYPE ap_hdl,
                             OMX_INDEXTYPE a_index, OMX_PTR ap_struct)
{
  cc_plex_cfgport_t * p_obj = (cc_plex_cfgport_t *) ap_obj;
  OMX_ERRORTYPE rc = OMX_ErrorNone;

  assert (p_obj);

  TIZ_TRACE (ap_hdl, "PORT [%d] GetParameter [%s]...", tiz_port_index (ap_obj),
             tiz_idx_to_str (a_index));

  if (OMX_TizoniaIndexParamAudioPlexSession == a_index)
    {
      memcpy (&(p_obj->session_), ap_struct,
              sizeof (OMX_TIZONIA_AUDIO_PARAM_PLEXSESSIONTYPE));
      p_obj->session_.cBaseUrl[OMX_MAX_STRINGNAME_SIZE - 1] = '\0';
      p_obj->session_.cAuthToken[OMX_MAX_STRINGNAME_SIZE - 1] = '\0';
      TIZ_TRACE (ap_hdl, "Plex Auth Token [%s]...",
                 p_obj->session_.cAuthToken);
    }
  else if (OMX_TizoniaIndexParamAudioPlexPlaylist == a_index)
    {
      memcpy (&(p_obj->playlist_), ap_struct,
              sizeof (OMX_TIZONIA_AUDIO_PARAM_PLEXPLAYLISTTYPE));
      p_obj->playlist_.cPlaylistName[OMX_MAX_STRINGNAME_SIZE - 1] = '\0';
      TIZ_TRACE (ap_hdl, "Plex playlist [%s]...",
                 p_obj->playlist_.cPlaylistName);
    }
  else
    {
      /* Delegate to the base port */
      rc = super_SetParameter (typeOf (ap_obj, "cc_plexcfgport"), ap_obj,
                               ap_hdl, a_index, ap_struct);
    }

  return rc;
}
示例#7
0
static OMX_ERRORTYPE httpsrc_port_SetParameter (const void *ap_obj,
                                                OMX_HANDLETYPE ap_hdl,
                                                OMX_INDEXTYPE a_index,
                                                OMX_PTR ap_struct)
{
  httpsrc_port_t *p_obj = (httpsrc_port_t *)ap_obj;
  OMX_ERRORTYPE rc = OMX_ErrorNone;

  assert (p_obj);

  TIZ_TRACE (ap_hdl, "[%s]...", tiz_idx_to_str (a_index));

  switch (a_index)
    {
    case OMX_IndexParamAudioMp3:
      {
        const OMX_AUDIO_PARAM_MP3TYPE *p_mp3type
          = (OMX_AUDIO_PARAM_MP3TYPE *) ap_struct;

        switch (p_mp3type->nSampleRate)
          {
          case 16000:           /* MPEG-2 */
          case 24000:           /* MPEG-2 */
          case 22050:           /* MPEG-2 */
          case 32000:           /* MPEG-1 */
          case 44100:           /* MPEG-1 */
          case 48000:           /* MPEG-1 */
            {
              break;
            }
          default:
            {
              TIZ_TRACE (ap_hdl,
                         "[%s] : OMX_ErrorBadParameter : "
                         "Sample rate not supported [%d]. "
                         "Returning...", tiz_idx_to_str (a_index),
                         p_mp3type->nSampleRate);
              rc = OMX_ErrorBadParameter;
            }
          };

        if (OMX_ErrorNone == rc)
          {
            /* Apply the new default values */
            p_obj->mp3type_.nChannels = p_mp3type->nChannels;
            p_obj->mp3type_.nBitRate = p_mp3type->nBitRate;
            p_obj->mp3type_.nSampleRate = p_mp3type->nSampleRate;
            p_obj->mp3type_.nAudioBandWidth = p_mp3type->nAudioBandWidth;
            p_obj->mp3type_.eChannelMode = p_mp3type->eChannelMode;
            p_obj->mp3type_.eFormat = p_mp3type->eFormat;
          }
      }
      break;

    case OMX_IndexParamAudioAac:
      {
        const OMX_AUDIO_PARAM_AACPROFILETYPE *p_aactype
          = (OMX_AUDIO_PARAM_AACPROFILETYPE *) ap_struct;

        switch (p_aactype->nSampleRate)
          {
          case 8000:
          case 11025:
          case 12000:
          case 16000:
          case 22050:
          case 24000:
          case 32000:
          case 44100:
          case 48000:
            {
              break;
            }
          default:
            {
              TIZ_TRACE (ap_hdl, "[%s] : OMX_ErrorBadParameter : "
                         "Sample rate not supported [%d]. "
                         "Returning...", tiz_idx_to_str (a_index),
                         p_aactype->nSampleRate);
              rc = OMX_ErrorBadParameter;
            }
          };

        if (OMX_ErrorNone == rc)
          {
            /* Apply the new default values */
            p_obj->aactype_.nChannels        = p_aactype->nChannels;
            p_obj->aactype_.nSampleRate      = p_aactype->nSampleRate;
            p_obj->aactype_.nBitRate         = p_aactype->nBitRate;
            p_obj->aactype_.nAudioBandWidth  = p_aactype->nAudioBandWidth;
            p_obj->aactype_.nFrameLength     = p_aactype->nFrameLength;
            p_obj->aactype_.nAACtools        = p_aactype->nAACtools;
            p_obj->aactype_.nAACERtools      = p_aactype->nAACERtools;
            p_obj->aactype_.eAACProfile      = p_aactype->eAACProfile;
            p_obj->aactype_.eAACStreamFormat = p_aactype->eAACStreamFormat;
            p_obj->aactype_.eChannelMode     = p_aactype->eChannelMode;
          }
      }
      break;

    default:
      {

        if (OMX_TizoniaIndexParamAudioOpus == a_index)
          {
            const OMX_TIZONIA_AUDIO_PARAM_OPUSTYPE *p_opustype
              = (OMX_TIZONIA_AUDIO_PARAM_OPUSTYPE *) ap_struct;

            switch (p_opustype->nSampleRate)
              {
              case 8000:
              case 16000:
              case 24000:
              case 22050:
              case 32000:
              case 44100:
              case 48000:
                {
                  break;
                }
              default:
                {
                  TIZ_ERROR (ap_hdl, "[%s] : OMX_ErrorBadParameter : "
                             "Sample rate not supported [%d]. "
                             "Returning...", tiz_idx_to_str (a_index),
                             p_opustype->nSampleRate);
                  rc = OMX_ErrorBadParameter;
                }
              };

            if (OMX_ErrorNone == rc)
              {
                /* Apply the new default values */
                p_obj->opustype_.nChannels               = p_opustype->nChannels;
                p_obj->opustype_.nBitRate                = p_opustype->nBitRate;
                p_obj->opustype_.nSampleRate             = p_opustype->nSampleRate;
                p_obj->opustype_.nFrameDuration          = p_opustype->nFrameDuration;
                p_obj->opustype_.nEncoderComplexity      = p_opustype->nEncoderComplexity;
                p_obj->opustype_.bPacketLossResilience   = p_opustype->bPacketLossResilience;
                p_obj->opustype_.bForwardErrorCorrection = p_opustype->bForwardErrorCorrection;
                p_obj->opustype_.bDtx                    = p_opustype->bDtx;
                p_obj->opustype_.eChannelMode            = p_opustype->eChannelMode;
                p_obj->opustype_.eFormat                 = p_opustype->eFormat;
              }
          }
        else
          {
            /* Try the parent's indexes */
            rc = super_SetParameter (typeOf (ap_obj, "httpsrcport"),
                                     ap_obj, ap_hdl, a_index, ap_struct);
          }
      }
    };
  return rc;
}