Name: libmm-radio
Summary: Multimedia Framework Radio Library
-Version: 0.2.12
+Version: 0.2.13
Release: 0
Group: System/Libraries
License: Apache-2.0
*
* @return This function returns zero on success, or negative value with errors
* @pre None
- * @post MM_RADIO_STATE_NULL
+ * @post MM_RADIO_STATE_NULL
* @remark None
* @see mm_radio_destroy mm_radio_realize mm_radio_unrealize mm_radio_start mm_radio_stop
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre Application can use this API at any state.
- * @post None
+ * @post None
* @remark None
* @see mm_radio_create mm_radio_realize mm_radio_unrealize mm_radio_start mm_radio_stop
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre MM_RADIO_STATE_NULL
- * @post MM_RADIO_STATE_READY
+ * @post MM_RADIO_STATE_READY
* @remark None
* @see mm_radio_create mm_radio_destroy mm_radio_unrealize mm_radio_start mm_radio_stop
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre MM_RADIO_STATE_READY
- * @post MM_RADIO_STATE_NULL
+ * @post MM_RADIO_STATE_NULL
* @remark None
* @see mm_radio_create mm_radio_destroy mm_radio_realize mm_radio_start mm_radio_stop
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre None
- * @post None
+ * @post None
* @remark None
* @see
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre None
- * @post None
+ * @post None
* @remark None
* @see
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre MM_RADIO_STATE_READY
- * @post MM_RADIO_STATE_PLAYING
+ * @post MM_RADIO_STATE_PLAYING
* @remark None
* @see mm_radio_create mm_radio_destroy mm_radio_realize mm_radio_unrealize mm_radio_stop
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre MM_RADIO_STATE_PLAYING
- * @post MM_RADIO_STATE_READY
+ * @post MM_RADIO_STATE_READY
* @remark None
* @see mm_radio_create mm_radio_destroy mm_radio_realize mm_radio_unrealize mm_radio_start
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre MM_RADIO_STATE_PLAYING
- * @post MM_RADIO_STATE_PLAYING
+ * @post MM_RADIO_STATE_PLAYING
* @remark None
* @see MM_MESSAGE_RADIO_SEEK_START MM_MESSAGE_RADIO_SEEK_FINISH
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre MM_RADIO_STATE_READY, MM_RADIO_STATE_PLAYING
- * @post MM_RADIO_STATE_READY, MM_RADIO_STATE_PLAYING
+ * @post MM_RADIO_STATE_READY, MM_RADIO_STATE_PLAYING
* @remark None
* @see mm_radio_get_frequency
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre MM_RADIO_STATE_READY, MM_RADIO_STATE_PLAYING
- * @post MM_RADIO_STATE_READY, MM_RADIO_STATE_PLAYING
+ * @post MM_RADIO_STATE_READY, MM_RADIO_STATE_PLAYING
* @remark None
* @see mm_radio_set_frequency
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre MM_RADIO_STATE_READY
- * @post MM_RADIO_STATE_SCANNING
+ * @post MM_RADIO_STATE_SCANNING
* @remark None
* @see mm_radio_scan_stop
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre MM_RADIO_STATE_SCANNING
- * @post MM_RADIO_STATE_READY
+ * @post MM_RADIO_STATE_READY
* @remark None
* @see mm_radio_scan_start
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre None
- * @post None
+ * @post None
* @remark None
* @see
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre None
- * @post None
+ * @post None
* @remark None
* @see
* @par Example
*
* @return This function returns zero on success, or negative value with errors
* @pre None
- * @post None
+ * @post None
* @remark None
* @see mm_radio_get_region_frequency_range()
*/
*
* @return This function returns zero on success, or negative value with errors
* @pre None
- * @post None
- * @remark The unit of frequency is KHz.
+ * @post None
+ * @remark The unit of frequency is KHz.
* @see mm_radio_get_region_type()
*/
int mm_radio_get_region_frequency_range(MMHandleType hradio, unsigned int *min, unsigned int *max);
*
* @return This function returns zero on success, or negative value with errors
* @pre None
- * @post None
+ * @post None
* @see mm_radio_get_region_type()
*/
int mm_radio_get_channel_spacing(MMHandleType hradio, int *channel_spacing);
typedef enum {
MM_RADIO_FREQ_NONE = 0,
/* min band types */
- MM_RADIO_FREQ_MIN_76100_KHZ = 76100,
- MM_RADIO_FREQ_MIN_87500_KHZ = 87500,
- MM_RADIO_FREQ_MIN_88100_KHZ = 88100,
+ MM_RADIO_FREQ_MIN_76100_KHZ = 76100,
+ MM_RADIO_FREQ_MIN_87500_KHZ = 87500,
+ MM_RADIO_FREQ_MIN_88100_KHZ = 88100,
/* max band types */
MM_RADIO_FREQ_MAX_89900_KHZ = 89900,
MM_RADIO_FREQ_MAX_108000_KHZ = 108000,
int _mmradio_stop_scan(mm_radio_t *radio);
int _mm_radio_get_signal_strength(mm_radio_t *radio, int *strength);
#ifdef USE_GST_PIPELINE
-int _mmradio_realize_pipeline( mm_radio_t *radio);
+int _mmradio_realize_pipeline(mm_radio_t *radio);
int _mmradio_start_pipeline(mm_radio_t *radio);
-int _mmradio_stop_pipeline( mm_radio_t *radio);
+int _mmradio_stop_pipeline(mm_radio_t *radio);
int _mmradio_destroy_pipeline(mm_radio_t *radio);
#endif
int _mmradio_apply_region(mm_radio_t *radio, MMRadioRegionType region, bool update);
#define MMRADIO_MAX_INT (2147483647)
-#define MMRADIO_FREEIF(x) \
-if ( x ) \
- free( x ); \
-x = NULL;
-
-#define MMRADIO_CHECK_INSTANCE( x_radio ) \
-if ( ! x_radio ) \
-{ \
- debug_error("radio instance is NULL\n"); \
- return MM_ERROR_RADIO_NOT_INITIALIZED; \
-}
-
-#define MMRADIO_CHECK_ARG( x_radio ) \
-if ( ! x_radio ) \
-{ \
- debug_error("argument is NULL\n"); \
- return MM_ERROR_COMMON_INVALID_ARGUMENT; \
-}
-
-
-#define MMRADIO_CHECK_INSTANCE_RETURN_VOID( x_radio ) \
-if ( ! x_radio ) \
-{ \
- debug_error("radio instance is NULL\n"); \
- return; \
-}
-
-#define MMRADIO_CHECK_DEVICE_STATE( x_radio ) \
-if ( x_radio->radio_fd < 0 ) \
-{ \
- debug_error("not available radio device\n"); \
- return MM_ERROR_RADIO_NOT_INITIALIZED;\
-}
+#define MMRADIO_FREEIF(x) \
+do { \
+ if (x) { \
+ free(x); \
+ x = NULL; \
+ } \
+} while (0)
+
+#define MMRADIO_CHECK_INSTANCE(x_radio) \
+do { \
+ if (!x_radio) { \
+ debug_error("radio instance is NULL\n"); \
+ return MM_ERROR_RADIO_NOT_INITIALIZED; \
+ } \
+} while (0)
+
+#define MMRADIO_CHECK_ARG(x_radio) \
+do { \
+ if (!x_radio) { \
+ debug_error("argument is NULL\n"); \
+ return MM_ERROR_COMMON_INVALID_ARGUMENT; \
+ } \
+} while (0)
+
+
+#define MMRADIO_CHECK_INSTANCE_RETURN_VOID(x_radio) \
+do { \
+ if (!x_radio) { \
+ debug_error("radio instance is NULL\n"); \
+ return; \
+ } \
+} while (0)
+
+#define MMRADIO_CHECK_DEVICE_STATE(x_radio) \
+do { \
+ if (x_radio->radio_fd < 0) { \
+ debug_error("not available radio device\n"); \
+ return MM_ERROR_RADIO_NOT_INITIALIZED; \
+ } \
+} while (0)
/* command locking for multithreading */
#define MMRADIO_CMD_LOCK(x_radio) pthread_mutex_lock(&((mm_radio_t *)x_radio)->cmd_lock)
#define MMRADIO_VOLUME_UNLOCK(x_radio) pthread_mutex_unlock(&((mm_radio_t *)x_radio)->volume_lock)
/* message posting */
-#define MMRADIO_POST_MSG( x_radio, x_msgtype, x_msg_param ) \
-debug_log("posting %s to application\n", #x_msgtype); \
-__mmradio_post_message(x_radio, x_msgtype, x_msg_param);
+#define MMRADIO_POST_MSG(x_radio, x_msgtype, x_msg_param) \
+do { \
+ debug_log("posting %s to application\n", #x_msgtype); \
+ __mmradio_post_message(x_radio, x_msgtype, x_msg_param); \
+} while (0)
/* setting radio state */
-#define MMRADIO_SET_STATE( x_radio, x_state ) \
-debug_log("setting mm-radio state to %d\n", x_state); \
-__mmradio_set_state(x_radio, x_state);
+#define MMRADIO_SET_STATE(x_radio, x_state) \
+do { \
+ debug_log("setting mm-radio state to %d\n", x_state); \
+ __mmradio_set_state(x_radio, x_state); \
+} while (0)
/* state */
-#define MMRADIO_CHECK_STATE_RETURN_IF_FAIL( x_radio, x_command ) \
-debug_log("checking radio state before doing %s\n", #x_command); \
-switch ( __mmradio_check_state(x_radio, x_command) ) \
-{ \
- case MM_ERROR_RADIO_INVALID_STATE: \
- return MM_ERROR_RADIO_INVALID_STATE; \
- break; \
- /* NOTE : for robustness of mmfw. we won't treat it as an error */ \
- case MM_ERROR_RADIO_NO_OP: \
- return MM_ERROR_NONE; \
- break; \
- default: \
- break; \
-}
-
-#define MMRADIO_CHECK_RETURN_IF_FAIL( x_ret, x_msg ) \
-do \
-{ \
- if( x_ret < 0 ) \
- { \
- debug_error("%s error\n", x_msg);\
- return x_ret; \
- } \
-} while( 0 ) ;
+#define MMRADIO_CHECK_STATE_RETURN_IF_FAIL(x_radio, x_command) \
+do { \
+ debug_log("checking radio state before doing %s\n", #x_command); \
+ switch (__mmradio_check_state(x_radio, x_command)) { \
+ case MM_ERROR_RADIO_INVALID_STATE: \
+ return MM_ERROR_RADIO_INVALID_STATE; \
+ break; \
+ /* NOTE : for robustness of mmfw. we won't treat it as an error */ \
+ case MM_ERROR_RADIO_NO_OP: \
+ return MM_ERROR_NONE; \
+ break; \
+ default: \
+ break; \
+ } \
+} while (0)
+
+#define MMRADIO_CHECK_RETURN_IF_FAIL(x_ret, x_msg) \
+do { \
+ if (x_ret < 0) { \
+ debug_error("%s error\n", x_msg); \
+ return x_ret; \
+ } \
+} while (0);
#endif
total_volume, radio->max_media_volume, radio->media_volume, volume);
/* update volume in handle */
- if (fabs(radio->local_volume - volume) >= FLT_EPSILON) {
+ if (fabs(radio->local_volume - volume) >= FLT_EPSILON)
radio->local_volume = volume;
- }
*pVolume = (float)radio->local_volume;
MMRADIO_VOLUME_UNLOCK(radio);
msg = "MM_ERROR_RADIO_NO_FREE_SPACE";
break;
case RADIO_ERROR_PERMISSION_DENIED:
- case RADIO_ERROR_DEVICE_NOT_PREPARED :
+ case RADIO_ERROR_DEVICE_NOT_PREPARED:
ret = MM_ERROR_RADIO_PERMISSION_DENIED;
msg = "MM_ERROR_RADIO_PERMISSION_DENIED";
break;
int ret = MM_ERROR_NONE;
h = (mm_radio_hal_interface *)malloc(sizeof(mm_radio_hal_interface));
- if(!h) {
+ if (!h) {
MMRADIO_LOG_ERROR("cannot allocate memory for radio_hal interface");
return MM_ERROR_RADIO_NO_FREE_SPACE;
}
h->dl_handle = dlopen(LIB_TIZEN_RADIO, RTLD_NOW);
- if(h->dl_handle) {
+ if (h->dl_handle) {
h->intf.init = dlsym(h->dl_handle, "radio_init");
h->intf.deinit = dlsym(h->dl_handle, "radio_deinit");
h->intf.prepare = dlsym(h->dl_handle, "radio_prepare");