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); }
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; }
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; }